Prechádzať zdrojové kódy

设备标记解决, 设备表故障等级恢复正常

tanbin 1 rok pred
rodič
commit
40a2640107

+ 10 - 0
device-api-service/src/main/java/com/xy/service/DeviceFaultInfoServiceImpl.java

@@ -11,6 +11,8 @@ import com.xy.dto.DeviceFaultInfoDto;
 import com.xy.dto.be.MercDto;
 import com.xy.entity.DeviceFaultInfo;
 import com.xy.entity.DeviceFaultLog;
+import com.xy.entity.DeviceInfo;
+import com.xy.error.CommRuntimeException;
 import com.xy.mapper.DeviceFaultInfoMapper;
 import com.xy.service.be.MercService;
 import com.xy.utils.Emptys;
@@ -49,6 +51,7 @@ public class DeviceFaultInfoServiceImpl extends ServiceImpl<DeviceFaultInfoMappe
 
     private final DeviceFaultLogServiceImpl deviceFaultLogService;
     private final MercService mercService;
+    private final DeviceInfoServiceImpl deviceInfoService;
 
     @PostMapping("obj")
     @ApiOperation("对象查询")
@@ -112,12 +115,19 @@ public class DeviceFaultInfoServiceImpl extends ServiceImpl<DeviceFaultInfoMappe
     @PostMapping("resolve")
     @ApiOperation("标记已解决")
     public R resolve(@RequestBody @Validated DeviceFaultInfoDto.Update update) {
+        DeviceFaultInfo deviceFaultInfo = this.getById(update.getFaultId());
+        if (deviceFaultInfo == null) {
+            throw new CommRuntimeException("操作对象不存在!");
+        }
         DeviceFaultInfo updateInfo = copy(DeviceFaultInfo.class, update);
         updateInfo.setState(true);
+        updateInfo.setFaultLevel(-1);
         boolean b = updateById(updateInfo);
         if (b) {
             //清理日志 故障信息表标记已解决,清除日志表中对应设备事件在标记已解决时间之前所有事件。
             deviceFaultLogService.remove(Wrappers.<DeviceFaultLog>lambdaUpdate().le(DeviceFaultLog::getEventTime, LocalDateTime.now()));
+            //更新故障等级为正常
+            deviceInfoService.updateById(new DeviceInfo().setDeviceId(deviceFaultInfo.getDeviceId()).setFaultLevel(-1));
         }
         return R.ok();
     }