浏览代码

设备异常事件

李进 2 年之前
父节点
当前提交
4ecdfbcda8

+ 1 - 1
device-api-service/src/main/java/com/xy/entity/DeviceTempRecords.java

@@ -35,7 +35,7 @@ public class DeviceTempRecords implements Serializable {
     private Long deviceId;
 
     @ApiModelProperty(value = "温度值")
-    private String tempValue;
+    private Integer tempValue;
 
     @ApiModelProperty(value = "温控仪状态")
     private String wkyState;

+ 17 - 4
device-api-service/src/main/java/com/xy/service/DeviceErrorsRecordServiceImpl.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xy.dto.DeviceErrorsRecordDto;
+import com.xy.dto.DeviceInfoDto;
+import com.xy.dto.DeviceSysinfoDto;
 import com.xy.entity.DeviceErrorsRecord;
 import com.xy.mapper.DeviceErrorsRecordMapper;
 import com.xy.utils.Emptys;
@@ -14,10 +16,10 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
-import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 import static com.xy.utils.Beans.copy;
@@ -37,10 +39,21 @@ import static com.xy.utils.PlusBeans.toPageBean;
 @Api(tags = "机器-故障表")
 public class DeviceErrorsRecordServiceImpl extends ServiceImpl<DeviceErrorsRecordMapper, DeviceErrorsRecord> implements DeviceErrorsRecordService {
 
-    @PostMapping("save")
+    private DeviceInfoServiceImpl deviceInfoService;
+
+    @Override
     @ApiOperation("添加")
-    public R save(@RequestBody @Validated DeviceErrorsRecordDto.Save save) {
-        DeviceErrorsRecord deviceErrorsRecord = copy(DeviceErrorsRecord.class, save);
+    public R save(DeviceErrorsRecordDto.Save save) {
+        DeviceInfoDto.Vo deviceInfo = deviceInfoService.obj(new DeviceInfoDto.Obj().setDeviceId(save.getDeviceId()).setIsSysinfo(true)).getData();
+        if (deviceInfo == null) {
+            return R.fail("设备不存在");
+        }
+        DeviceSysinfoDto.Vo deviceSysinfo = deviceInfo.getDeviceSysinfo();
+        save.setMercId(deviceInfo.getMercId());
+        save.setAppUpmVersion(deviceSysinfo.getAppUpmVersion());
+        save.setAppDownmVersion(deviceSysinfo.getAppDownmVersion());
+        DeviceErrorsRecord deviceErrorsRecord = copy(DeviceErrorsRecord.class, save)
+                .setCreateTime(LocalDateTime.now());
         save(deviceErrorsRecord);
         return R.ok();
     }

+ 1 - 1
device-api-service/src/main/java/com/xy/service/DeviceInfoServiceImpl.java

@@ -893,7 +893,7 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
         List<DeviceInfoDto.MyChartSeries2> series = new ArrayList<>();
         List<BigDecimal> data = new ArrayList<>();
         deviceTempRecords.forEach(d -> {
-            String tempValue = d.getTempValue();
+            int tempValue = d.getTempValue();
             LocalDateTime createTime = d.getCreateTime();
             String time = DateUtil.format(createTime, "HH:mm:ss");
             categories.add(time);

+ 12 - 0
device-api-service/src/main/java/com/xy/service/DeviceStatusServiceImpl.java

@@ -3,6 +3,7 @@ package com.xy.service;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xy.dto.DeviceStatusDto;
+import com.xy.dto.DeviceTempRecordsDto;
 import com.xy.entity.DeviceStatus;
 import com.xy.mapper.DeviceStatusMapper;
 import com.xy.mapper.entity.DeviceStatusCount;
@@ -11,6 +12,7 @@ import com.xy.utils.MybatisPlusQuery;
 import com.xy.utils.R;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -29,9 +31,12 @@ import static com.xy.utils.Beans.copy;
  * @since 2022-12-23
  */
 @Service
+@AllArgsConstructor
 @Api(tags = "设备-状态")
 public class DeviceStatusServiceImpl extends ServiceImpl<DeviceStatusMapper, DeviceStatus> implements DeviceStatusService {
 
+    private DeviceTempRecordsServiceImpl deviceTempRecordsService;
+
     @Override
     @ApiOperation("上报信息")
     public R up(DeviceStatusDto.Up up) {
@@ -41,6 +46,13 @@ public class DeviceStatusServiceImpl extends ServiceImpl<DeviceStatusMapper, Dev
         }
         DeviceStatus deviceStatus = copy(DeviceStatus.class, up).setUpdateTime(LocalDateTime.now());
         updateById(deviceStatus);
+        //温度上报
+        if (Emptys.check(deviceStatus.getTempValue())) {
+            DeviceTempRecordsDto.Save save = new DeviceTempRecordsDto.Save()
+                    .setDeviceId(up.getDeviceId());
+            save.setTempValue(deviceStatus.getTempValue());
+            deviceTempRecordsService.save(save);
+        }
         return R.ok();
     }
 

+ 1 - 1
device-api/src/main/java/com/xy/dto/DeviceTempRecordsDto.java

@@ -64,7 +64,7 @@ public class DeviceTempRecordsDto {
         private Long deviceId;
 
         @ApiModelProperty(value = "温度值")
-        private String tempValue;
+        private Integer tempValue;
 
         @ApiModelProperty(value = "温控仪状态")
         private String wkyState;

+ 28 - 0
device-api/src/main/java/com/xy/utils/enums/DeviceErrorTypesEnum.java

@@ -0,0 +1,28 @@
+package com.xy.utils.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum DeviceErrorTypesEnum {
+    DEVICE_ERROR_TYPES_1(1, "联网故障"),
+
+    DEVICE_ERROR_TYPES_2(2, "门锁故障"),
+
+    DEVICE_ERROR_TYPES_3(3, "温控仪故障"),
+
+    DEVICE_ERROR_TYPES_4(4, "灯光故障"),
+
+    DEVICE_ERROR_TYPES_5(5, "摄像头故障"),
+
+    DEVICE_ERROR_TYPES_6(6, "压缩机故障"),
+    ;
+
+    private int key;
+
+    private String msg;
+
+    DeviceErrorTypesEnum(int key, String msg) {
+        this.key = key;
+        this.msg = msg;
+    }
+}