Browse Source

北向接口代码优化提交

jingyuanchao 1 năm trước cách đây
mục cha
commit
22982c26ab

+ 8 - 92
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/enums/ElectricityMeterAttributes.java

@@ -16,120 +16,36 @@ import java.util.Map;
 @NoArgsConstructor
 @AllArgsConstructor
 public enum ElectricityMeterAttributes {
-    METER_ATTRIBUTES_0(16104001L, "A相电压Ua","METER_ATTRIBUTES_0","V",null),
-    METER_ATTRIBUTES_1(16107001L, "A相电流Ia","METER_ATTRIBUTES_1","A",null),
-    METER_ATTRIBUTES_2(16126001L ,"第1路A相温度","METER_ATTRIBUTES_2","℃",null),
-    METER_ATTRIBUTES_3(16160001L ,"第1路A相温度2","METER_ATTRIBUTES_3","℃",null),
-    METER_ATTRIBUTES_4(16117001L ,"第1路A功率因数PF","METER_ATTRIBUTES_4","%",null),
-    METER_ATTRIBUTES_5(16163001L ,"第1路A谐波电压","METER_ATTRIBUTES_5","V",null),
-    METER_ATTRIBUTES_6(16166001L ,"第1路A谐波电流","METER_ATTRIBUTES_6","A",null),
-    METER_ATTRIBUTES_7(16111001L ,"第1路A相有功功率Pa","METER_ATTRIBUTES_7","KW",null),
-
-    METER_ATTRIBUTES_8(16105001L ,"B相电压Ub","METER_ATTRIBUTES_8","V",null),
-    METER_ATTRIBUTES_9(16108001L ,"B相电流Ib","METER_ATTRIBUTES_9","A",null),
-    METER_ATTRIBUTES_10(16127001L ,"第1路B相温度","METER_ATTRIBUTES_10","℃",null),
-    METER_ATTRIBUTES_11(16161001L ,"第1路B相温度2","METER_ATTRIBUTES_11","℃",null),
-    METER_ATTRIBUTES_12(16169001L ,"第1路B功率因数PF","METER_ATTRIBUTES_12","%",null),
-    METER_ATTRIBUTES_13(16164001L ,"第1路B谐波电压","METER_ATTRIBUTES_13","V",null),
-    METER_ATTRIBUTES_14(16167001L ,"第1路B谐波电流","METER_ATTRIBUTES_14","A",null),
-    METER_ATTRIBUTES_15(16112001L ,"第1路B相有功功率Pb","METER_ATTRIBUTES_15","KW",null),
-
-    METER_ATTRIBUTES_16(16106001L ,"C相电压Uc","METER_ATTRIBUTES_16","V",null),
-    METER_ATTRIBUTES_17(16109001L ,"C相电流Ic","METER_ATTRIBUTES_17","A",null),
-    METER_ATTRIBUTES_18(16128001L ,"第1路C相温度","METER_ATTRIBUTES_18","℃",null),
-    METER_ATTRIBUTES_19(16162001L ,"第1路C相温度2","METER_ATTRIBUTES_19","℃",null),
-    METER_ATTRIBUTES_20(16170001L ,"第1路C功率因数PF","METER_ATTRIBUTES_20","%",null),
-    METER_ATTRIBUTES_21(16165001L ,"第1路C谐波电压","METER_ATTRIBUTES_21","V",null),
-    METER_ATTRIBUTES_22(16168001L ,"第1路C谐波电流","METER_ATTRIBUTES_22","A",null),
-    METER_ATTRIBUTES_23(16113001L ,"第1路C相有功功率Pc","METER_ATTRIBUTES_23","KW",null),
-
-    METER_ATTRIBUTES_24(16173001L ,"合相电压","METER_ATTRIBUTES_24","V",null),
-    METER_ATTRIBUTES_25(16174001L ,"合相电流","METER_ATTRIBUTES_25","A",null),
-    METER_ATTRIBUTES_26(16175001L ,"合相功率","METER_ATTRIBUTES_26","KW",null),
-    METER_ATTRIBUTES_27(16176001L ,"合相温度","METER_ATTRIBUTES_27","℃",null),
-    METER_ATTRIBUTES_28(16129001L ,"N 相下端温度","METER_ATTRIBUTES_28","℃",null),
-    METER_ATTRIBUTES_29(16177001L ,"漏电流值","METER_ATTRIBUTES_29","mA",null),
-    METER_ATTRIBUTES_30(16178001L ,"合相总功率因数","METER_ATTRIBUTES_30","%",null),
-    METER_ATTRIBUTES_31(16179001L ,"累计电量","METER_ATTRIBUTES_31","W/h",null),
-
-    METER_ATTRIBUTES_32(16013001L ,"电压缺相","METER_ATTRIBUTES_32",null,"{0:\"正常\",1:\"异常\"}"),
-    METER_ATTRIBUTES_33(16002001L ,"交流电压过高告警","METER_ATTRIBUTES_33",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_34(16014001L ,"过压预警","METER_ATTRIBUTES_34",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_35(16003001L ,"交流电压过低告警","METER_ATTRIBUTES_35",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_36(16015001L ,"欠压预警","METER_ATTRIBUTES_36",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_37(16028001L ,"短路报警","METER_ATTRIBUTES_37",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_38(16026001L ,"浪涌报警","METER_ATTRIBUTES_38",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_39(16027001L ,"过载报警","METER_ATTRIBUTES_39",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_40(16025001L ,"漏电报警","METER_ATTRIBUTES_40",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_41(16024001L ,"过流报警","METER_ATTRIBUTES_41",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_42(16016001L ,"漏电保护正常","METER_ATTRIBUTES_42",null,"{0:\"正常\",1:\"异常\"}"),
-    METER_ATTRIBUTES_43(16017001L ,"漏电自检未完成","METER_ATTRIBUTES_43",null,"{0:\"正常\",1:\"异常\"}"),
-    METER_ATTRIBUTES_44(16022001L ,"打火报警","METER_ATTRIBUTES_44",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_45(16018001L ,"漏电预警","METER_ATTRIBUTES_45",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_46(16019001L ,"电流预警","METER_ATTRIBUTES_46",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_47(16021001L ,"温度报警","METER_ATTRIBUTES_47",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_48(16023001L ,"不平衡报警","METER_ATTRIBUTES_48",null,"{0:\"正常\",1:\"告警\"}"),
-    METER_ATTRIBUTES_49(16020001L ,"温度预警","METER_ATTRIBUTES_49",null,"{0:\"正常\",1:\"告警\"}"),
 
     //以下几个name字段不可变,依靠此name与北向上报数据中的比对
-    METER_ATTRIBUTES_50(8074214277450756099L,"环境温度","temperature","℃",null),
-    METER_ATTRIBUTES_51(8074214277450756097L,"环境湿度","humidity","%RH",null),
-    METER_ATTRIBUTES_52(8070947354577793026L,"烟雾告警","SmokeSensorState",null,"{0:\"正常\",1:\"异常\"}"),
-    METER_ATTRIBUTES_53(8123843190642397184L,"水浸告警","status",null,"{0:\"正常\",1:\"异常\"}"),
-    METER_ATTRIBUTES_54(8123843190642397184L,"红外告警","infrared_state",null,"{\"0\":\"正常\",\"1\":\"告警\"}"),
-    METER_ATTRIBUTES_55(8123843190642397184L,"可燃气体告警","infrared_state",null,"{\"0\":\"正常\",\"1\":\"告警\"}"),
-    METER_ATTRIBUTES_56(8123843190642397184L,"门磁开关状态","infrared_state",null,"{\"0\":\"开门\",\"1\":\"关门\"}"),
+    METER_ATTRIBUTES_0("环境温度", "℃", null),
+    METER_ATTRIBUTES_1("环境湿度", "%RH", null),
+    METER_ATTRIBUTES_2("烟雾告警", null, "{0:\"正常\",1:\"异常\"}"),
+    METER_ATTRIBUTES_3("水浸告警", null, "{0:\"正常\",1:\"异常\"}"),
+    METER_ATTRIBUTES_4("红外告警", null, "{\"0\":\"正常\",\"1\":\"告警\"}"),
+    METER_ATTRIBUTES_5("可燃气体告警", null, "{\"0\":\"正常\",\"1\":\"告警\"}"),
+    METER_ATTRIBUTES_6("门磁开关状态", null, "{\"0\":\"开门\",\"1\":\"关门\"}"),
     ;
 
-    private Long num;
-
     private String text;
 
-    private String attributesCode;
-
     private String unit;
 
     private String enumText;
 
-    /**
-     * 根据code获取name
-     */
-    public static String getName(Long num) {
-        ElectricityMeterAttributes e = enumMap.get(num);
-        return e != null ? e.getText() : "";
-    }
     public static ElectricityMeterAttributes getEnumByName(String text) {
         return enumMapText.get(text);
     }
-    public static ElectricityMeterAttributes getEnumByAttributesCode(String attributesCode) {
-        return enumMapCode.get(attributesCode);
-    }
 
     /**
      * 所有枚举
      */
-    private static final Map<Long, ElectricityMeterAttributes> enumMap = new LinkedHashMap<>();
     private static final Map<String, ElectricityMeterAttributes> enumMapText = new LinkedHashMap<>();
-    private static final Map<String, ElectricityMeterAttributes> enumMapCode = new LinkedHashMap<>();
+
     static {
         for (ElectricityMeterAttributes typeEnum : ElectricityMeterAttributes.values()) {
-            enumMap.put(typeEnum.num, typeEnum);
-        }
-        for (ElectricityMeterAttributes typeEnum : ElectricityMeterAttributes.values()) {
             enumMapText.put(typeEnum.text, typeEnum);
         }
-        for (ElectricityMeterAttributes typeEnum : ElectricityMeterAttributes.values()) {
-            enumMapCode.put(typeEnum.attributesCode, typeEnum);
-        }
     }
 
-    public static void main(String[] args) {
-        ElectricityMeterAttributes value = getEnumByName("过压预警");
-        JSONObject enumText = (JSONObject) JSONObject.parse(value.getEnumText());
-        System.out.println(enumText);
-        System.out.println(enumText.get("1"));
-        System.out.println(value.attributesCode);
-        System.out.println(value.num);
-        System.out.println(value.text);
-    }
 }

+ 3 - 5
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/service/impl/IotDvrChannelServiceImpl.java

@@ -165,12 +165,10 @@ public class IotDvrChannelServiceImpl extends ServiceImpl<IotDvrChannelMapper, I
     }
 
     private IotDvrChannel getChannelDevice(DeviceDto deviceDto) {
-        IotDvrChannel device = new IotDvrChannel();
         final LocalDateTime now = LocalDateTime.now();
-        IotDvrChannel old = this.findChannel(deviceDto.getChannelCode(), deviceDto.getEquipmentCode(), deviceDto.getOrg().getId());
-        if (old != null) {
-            device = old;
-        }else {
+        IotDvrChannel device = this.findChannel(deviceDto.getChannelCode(), deviceDto.getEquipmentCode(), deviceDto.getOrg().getId());
+        if (device == null) {
+            device = new IotDvrChannel();
             device.setCreateTime(now);
         }
         device.setChannelName(deviceDto.getChannelName());

+ 1 - 5
soc-modules/soc-modules-mediator/src/main/java/com/xunmei/mediator/api/service/impl/IotSensorServiceImpl.java

@@ -138,13 +138,12 @@ public class IotSensorServiceImpl extends ServiceImpl<IotSensorMapper, IotSensor
                 errors.add(new NorthError(msgId, path, status, "对应设备不存在:" + status.getDeviceCode()));
                 continue;
             }
-            final String infoStr = JSON.toJSONString(status.getInfos());
             final IotSensor iotSensor = optional.get();
             iotSensor.setUpdateTime(LocalDateTime.now());
             iotSensor.setDeviceName(status.getDeviceName());
             iotSensor.setDeviceType(status.getDeviceType());
             iotSensor.setStateUpdateTime(DateUtils.toLocalDateTime(status.getUpdateTime()));
-            iotSensor.setInfos(dealInfoData(infoStr));
+            iotSensor.setInfos(dealInfoData(JSON.toJSONString(status.getInfos())));
             final IotSensorLog iotSensorLog = new IotSensorLog();
             BeanUtils.copyProperties(iotSensor, iotSensorLog, "id");
             iotSensorLog.setCreateTime(LocalDateTime.now());
@@ -157,7 +156,6 @@ public class IotSensorServiceImpl extends ServiceImpl<IotSensorMapper, IotSensor
         northErrorService.saveErrorData(errors);
         updateBatchById(sensorList);
         iotSensorLogService.saveBatch(sensorLogList);
-
         TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
             @Override
             public void afterCommit() {
@@ -168,8 +166,6 @@ public class IotSensorServiceImpl extends ServiceImpl<IotSensorMapper, IotSensor
                 }
             }
         });
-
-
     }
 
     private String dealInfoData(String infoStr) {