Explorar el Código

Merge remote-tracking branch 'origin/tb-alipay' into tb-alipay

谭斌 hace 1 año
padre
commit
9c5ce77943

+ 5 - 3
device-api-service-merc-mini/src/main/java/com/xy/controller/MercMiniDeviceRecordsController.java

@@ -71,7 +71,7 @@ public class MercMiniDeviceRecordsController {
         DeviceNetRecordDto.Page page =
                 (DeviceNetRecordDto.Page) new DeviceNetRecordDto.Page()
                         .setMercId(MercAuthUtils.getMercId());
-        if(Emptys.check(dto.getDeviceId())){
+        if (Emptys.check(dto.getDeviceId())) {
             page.setDeviceId(dto.getDeviceId());
         }
         page.setPage(getPageBean(INDEX_RECORDS_COUNT));
@@ -88,8 +88,10 @@ public class MercMiniDeviceRecordsController {
     @ApiOperation("设备详情首页-故障记录")
     @PostMapping("indexDeviceError")
     public R<List<DeviceErrorsRecordDto.Vo>> indexDeviceError(@RequestBody @Validated MiniDeviceRecordsDto.DeviceErrorPageDto dto) {
-        DeviceErrorsRecordDto.Page page = (DeviceErrorsRecordDto.Page) new DeviceErrorsRecordDto.Page().setMercId(MercAuthUtils.getMercId())
-                .setDeviceId(dto.getDeviceId()).setErrorType(dto.getErrorType());
+        DeviceErrorsRecordDto.Page page = (DeviceErrorsRecordDto.Page) new DeviceErrorsRecordDto.Page()
+                .setMercId(MercAuthUtils.getMercId())
+                .setDeviceId(dto.getDeviceId())
+                .setCode(dto.getCode());
         page.setPage(getPageBean(INDEX_RECORDS_COUNT));
         List<DeviceErrorsRecordDto.Vo> recordsList = deviceErrorPage(page).getData().getRecords();
         return R.ok(recordsList);

+ 2 - 2
device-api-service-merc-mini/src/main/java/com/xy/dto/MiniDeviceRecordsDto.java

@@ -32,7 +32,7 @@ public class MiniDeviceRecordsDto {
         @ApiModelProperty("设备ID")
         private Long deviceId;
 
-        @ApiModelProperty("故障类型")
-        private Integer errorType;
+        @ApiModelProperty("故障编码")
+        private String code;
     }
 }

+ 7 - 7
device-api-service/src/main/java/com/xy/alipay/SpiDeviceServiceImpl.java

@@ -13,7 +13,7 @@ import com.xy.service.DeviceChargingServiceImpl;
 import com.xy.service.DeviceErrorsRecordServiceImpl;
 import com.xy.service.DeviceInfoServiceImpl;
 import com.xy.utils.SysDictUtils;
-import com.xy.utils.enums.DeviceErrorTypesEnum;
+import com.xy.utils.enums.DeviceErrorRecordTypesEnum;
 import com.xy.utils.enums.DictEnum;
 import com.xy.utils.enums.DictSonEnum;
 import com.xy.work.SpiDeviceService;
@@ -53,20 +53,20 @@ public class SpiDeviceServiceImpl implements SpiDeviceService {
         //查询设备信息
         DeviceInfo deviceInfo = deviceInfoService.getById(Long.valueOf(deviceAlarmNotifyDTO.getTerminalId()));
         String faultCode = deviceAlarmNotifyDTO.getFaultCode();
-        DeviceErrorTypesEnum deviceErrorTypesEnum = faultCode.equals("DeviceOffline") ? DeviceErrorTypesEnum.DEVICE_ERROR_TYPES_1
-                : faultCode.equals("DoorOpenedOnNoTrade") ? DeviceErrorTypesEnum.DEVICE_ERROR_TYPES_2
+        DeviceErrorRecordTypesEnum deviceErrorRecordTypesEnum = faultCode.equals("DeviceOffline") ? DeviceErrorRecordTypesEnum.NET
+                : faultCode.equals("DoorOpenedOnNoTrade") ? DeviceErrorRecordTypesEnum.DOOR_LOCK
                 : null;
-        if (deviceErrorTypesEnum == null) {
+        if (deviceErrorRecordTypesEnum == null) {
             return;
         }
         //添加设备异常记录
         DeviceErrorsRecordDto.Save save = new DeviceErrorsRecordDto.Save()
                 .setDeviceId(deviceInfo.getDeviceId());
-        save.setErrorType(deviceErrorTypesEnum.getKey());
-        save.setErrorDescript(deviceErrorTypesEnum.getMsg());
+        save.setCode(deviceErrorRecordTypesEnum.getCode());
+        save.setErrorMsg(deviceAlarmNotifyDTO.getFaultMsg());
         deviceErrorsRecordService.save(save);
         //修改设备为离线
-        if (deviceErrorTypesEnum.getKey() == DeviceErrorTypesEnum.DEVICE_ERROR_TYPES_1.getKey()) {
+        if (deviceErrorRecordTypesEnum.getCode() == DeviceErrorRecordTypesEnum.NET.getCode()) {
             JSONObject jsonObject = new JSONObject().set("clientid", deviceInfo.getDeviceId());
             disconnectedProducer.sendToMqtt(jsonObject.toString(), DisconnectedMqttConfiguration.TOPIC, 1);
         }

+ 5 - 12
device-api-service/src/main/java/com/xy/entity/DeviceErrorsRecord.java

@@ -22,7 +22,7 @@ import java.time.LocalDateTime;
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@ApiModel(value="DeviceErrorsRecord对象", description="机器-故障表")
+@ApiModel(value = "DeviceErrorsRecord对象", description = "机器-故障表")
 public class DeviceErrorsRecord implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -37,20 +37,13 @@ public class DeviceErrorsRecord implements Serializable {
     @ApiModelProperty(value = "设备编号")
     private Long deviceId;
 
-    @ApiModelProperty(value = "故障类型")
-    private Integer errorType;
+    @ApiModelProperty(value = "故障编码")
+    private String code;
 
-    @ApiModelProperty(value = "故障描述")
-    private String errorDescript;
-
-    @ApiModelProperty(value = "上位机版本号")
-    private String appUpmVersion;
-
-    @ApiModelProperty(value = "下位机版本号")
-    private String appDownmVersion;
+    @ApiModelProperty(value = "故障内容")
+    private String errorMsg;
 
     @ApiModelProperty(value = "创建时间")
     private LocalDateTime createTime;
 
-
 }

+ 29 - 11
device-api-service/src/main/java/com/xy/service/DeviceErrorsRecordServiceImpl.java

@@ -5,13 +5,12 @@ 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.entity.DeviceInfo;
+import com.xy.entity.SysCodeConfigureRedis;
 import com.xy.mapper.DeviceErrorsRecordMapper;
-import com.xy.utils.Emptys;
-import com.xy.utils.MybatisPlusQuery;
-import com.xy.utils.PageBean;
-import com.xy.utils.R;
+import com.xy.utils.*;
+import com.xy.utils.enums.SysCodeConfigureEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -51,13 +50,19 @@ public class DeviceErrorsRecordServiceImpl extends ServiceImpl<DeviceErrorsRecor
         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);
+        SysCodeConfigureRedis sysCodeConfigureRedis = SysCodeConfigureUtils.get(SysCodeConfigureEnum.D01.getCode(), save.getCode());
+        //修改设备当前故障等级
+        if (Emptys.check(sysCodeConfigureRedis.getExpand())) {
+            DeviceInfo updateDeviceInfo = new DeviceInfo()
+                    .setDeviceId(deviceInfo.getDeviceId())
+                    .setFaultLevel(Integer.valueOf(sysCodeConfigureRedis.getExpand()));
+            deviceInfoService.updateById(updateDeviceInfo);
+        }
         return R.ok();
     }
 
@@ -73,11 +78,16 @@ public class DeviceErrorsRecordServiceImpl extends ServiceImpl<DeviceErrorsRecor
         IPage<DeviceErrorsRecord> iPage = page(toIPage(pageBean), lambdaQueryWrapper);
         PageBean<DeviceErrorsRecordDto.Vo> voPageBean = toPageBean(DeviceErrorsRecordDto.Vo.class, iPage);
         //反显设备名称
-        if(Emptys.check(voPageBean.getRecords())){
+        if (Emptys.check(voPageBean.getRecords())) {
             List<Long> deviceIdList = voPageBean.getRecords().stream().map(DeviceErrorsRecordDto.Vo::getDeviceId).collect(Collectors.toList());
             Map<Long, String> deviceMap = deviceInfoService.getDeviceNameList(new DeviceInfoDto.DeviceIdDto().setDeviceId(deviceIdList)).getData();
-            voPageBean.getRecords().forEach(i->{
+            Map<String, SysCodeConfigureRedis> stringSysCodeConfigureRedisMap = SysCodeConfigureUtils.get(SysCodeConfigureEnum.D01.getCode());
+            voPageBean.getRecords().forEach(i -> {
                 i.setDeviceName(deviceMap.get(i.getDeviceId()));
+                SysCodeConfigureRedis sysCodeConfigureRedis = stringSysCodeConfigureRedisMap.get(i.getCode());
+                if (sysCodeConfigureRedis != null) {
+                    i.setSysCodeConfigureRedis(sysCodeConfigureRedis);
+                }
             });
         }
         return R.ok(voPageBean);
@@ -91,7 +101,15 @@ public class DeviceErrorsRecordServiceImpl extends ServiceImpl<DeviceErrorsRecor
                 .in(DeviceErrorsRecord::getDeviceId, selectList.getDeviceIds())
                 .build();
         List<DeviceErrorsRecord> list = list(lambdaQueryWrapper);
-        return R.ok(copy(DeviceErrorsRecordDto.Vo.class, list));
+        Map<String, SysCodeConfigureRedis> stringSysCodeConfigureRedisMap = SysCodeConfigureUtils.get(SysCodeConfigureEnum.D01.getCode());
+        List<DeviceErrorsRecordDto.Vo> vos = copy(DeviceErrorsRecordDto.Vo.class, list);
+        vos.forEach(vo -> {
+            SysCodeConfigureRedis sysCodeConfigureRedis = stringSysCodeConfigureRedisMap.get(vo.getCode());
+            if (sysCodeConfigureRedis != null) {
+                vo.setSysCodeConfigureRedis(sysCodeConfigureRedis);
+            }
+        });
+        return R.ok(vos);
     }
 
 }

+ 17 - 0
device-api-service/src/main/java/com/xy/utils/enums/SysCodeConfigureEnum.java

@@ -0,0 +1,17 @@
+package com.xy.utils.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+public enum SysCodeConfigureEnum {
+
+    /**
+     * 设备故障
+     */
+    D01("D01");
+
+    private String code;
+
+}

+ 7 - 11
device-api/src/main/java/com/xy/dto/DeviceErrorsRecordDto.java

@@ -1,6 +1,7 @@
 package com.xy.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.xy.entity.SysCodeConfigureRedis;
 import com.xy.utils.PageBean;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -82,23 +83,18 @@ public class DeviceErrorsRecordDto {
         @ApiModelProperty(value = "商户ID")
         private Long mercId;
 
-        @ApiModelProperty(value = "故障类型")
-        private Integer errorType;
+        @ApiModelProperty(value = "故障编码")
+        private String code;
 
-        @ApiModelProperty(value = "故障描述")
-        private String errorDescript;
-
-        @ApiModelProperty(value = "上位机版本号")
-        private String appUpmVersion;
-
-        @ApiModelProperty(value = "下位机版本号")
-        private String appDownmVersion;
+        @ApiModelProperty(value = "故障内容")
+        private String errorMsg;
 
         @ApiModelProperty(value = "创建时间")
         @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
         private LocalDateTime createTime;
 
-
+        @ApiModelProperty(value = "故障详情")
+        private SysCodeConfigureRedis sysCodeConfigureRedis;
     }
 
 }

+ 14 - 8
device-api/src/main/java/com/xy/utils/enums/DeviceErrorRecordTypesEnum.java

@@ -4,7 +4,7 @@ import lombok.Getter;
 
 /**
  * <p>
- * 设备故障类型枚举
+ * 设备故障编码枚举
  * </p>
  *
  * @author hechunping
@@ -13,16 +13,22 @@ import lombok.Getter;
 @Getter
 public enum DeviceErrorRecordTypesEnum {
 
-    NET("1","联网故障"),
-    DOOR_LOCK("2","门锁故障"),
-    T("3","温控仪故障"),
-    LIGHT("4","灯光故障"),
-    CAMERA("4","摄像头故障"),
-    COMPRESSOR("4","压缩机故障"),
+    NET("D001", "联网故障"),
+
+    DOOR_LOCK("D002", "门锁故障"),
+
+    T("D003", "温控仪故障"),
+
+    LIGHT("D004", "灯光故障"),
+
+    CAMERA("D005", "摄像头故障"),
+
+    COMPRESSOR("D006", "压缩机故障"),
     ;
     private String code;
     private String msg;
-    DeviceErrorRecordTypesEnum(String code,String msg){
+
+    DeviceErrorRecordTypesEnum(String code, String msg) {
         this.code = code;
         this.msg = msg;
     }

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

@@ -1,28 +0,0 @@
-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;
-    }
-}