Prechádzať zdrojové kódy

1.上班数据指令下发调试提交

jingyuanchao 1 rok pred
rodič
commit
e0433fd26b

+ 13 - 8
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/websocket/handler/RouterServiceHandler.java

@@ -5,6 +5,7 @@ import com.xunmei.host.websocket.enums.ProductEnums;
 import com.xunmei.host.websocket.service.RouterService;
 import com.xunmei.system.api.util.LogUtils;
 
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
@@ -17,24 +18,28 @@ public class RouterServiceHandler {
     private static final Map<ProductEnums, List<RouterService>> PRODUCT_HASH_MAP = new ConcurrentHashMap<>();
 
     static {
-            Map<String, RouterService> map = SpringUtil.getBeansOfType(RouterService.class);
-            Map<ProductEnums, List<RouterService>> productEnumsListMap = map.values().stream().collect(Collectors.groupingBy(RouterService::product));
-            PRODUCT_HASH_MAP.putAll(productEnumsListMap);
+        Map<String, RouterService> map = SpringUtil.getBeansOfType(RouterService.class);
+        Map<ProductEnums, List<RouterService>> productEnumsListMap = map.values().stream().collect(Collectors.groupingBy(RouterService::product));
+        PRODUCT_HASH_MAP.putAll(productEnumsListMap);
 
-            SpringUtil.getBeansOfType(RouterService.class).forEach((k, v) -> {
-                CONCURRENT_HASH_MAP.put(v.routerKey(), v);
-            });
+        SpringUtil.getBeansOfType(RouterService.class).forEach((k, v) -> {
+            CONCURRENT_HASH_MAP.put(v.routerKey(), v);
+        });
     }
 
     public static RouterService getRouteService(String productName, String routerKey) {
         ProductEnums enums = ProductEnums.getByProductByName(productName);
         if (enums == null) {
-            LogUtils.WEBSOCKET_MSG.error("未找到对应的产品类型: routerKey: {},productName:{}", routerKey,productName);
+            LogUtils.WEBSOCKET_MSG.error("未找到对应的产品类型: routerKey: {},productName:{}", routerKey, productName);
             return null;
         }
         final Optional<RouterService> first = PRODUCT_HASH_MAP.get(enums)
                 .stream()
-                .filter(routerService -> routerService.routerKey().contains(routerKey))
+                .filter(routerService -> {
+                    final String key = routerService.routerKey();
+                    final String[] split = key.split(",");
+                    return split.length == 1 ? key.equals(routerKey) : Arrays.asList(split).contains(routerKey);
+                })
                 .findFirst();
         if (first.isPresent()) {
             return first.get();

+ 1 - 1
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/work/service/impl/IotDayWorkServiceImpl.java

@@ -55,7 +55,7 @@ public class IotDayWorkServiceImpl extends ServiceImpl<IotDayWorkMapper, IotDayW
         DayWorKReq work = JSON.parseObject(data.toString(), DayWorKReq.class);
         IotDayWork dayWork = findByHostDataIdAndIotCode(work.getId(), req.getServerInfo().getIotCode());
         if (dayWork != null) {
-            BeanUtils.copyProperties(work, dayWork);
+            BeanUtils.copyProperties(work, dayWork,"id");
             dayWork.setHostDataId(work.getId());
             updateById(dayWork);
         } else {

+ 1 - 1
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/interfaces/impl/DeployWorkStrategy.java

@@ -64,7 +64,7 @@ public class DeployWorkStrategy implements WorkFieldStrategy {
                             && operation.getDeviceName().equals(work.getDeviceName())
                             && operation.getDeviceId().equals(work.getZoneId().toString())){
                             //有操作记录
-                            if(DataValueEnum.DATA_VALUE_DOWN_STATUS.getNum() == operation.getTargetValue()){
+                            if(ObjectUtil.equal(DataValueEnum.DATA_VALUE_DOWN_STATUS.getNum(),operation.getTargetValue())){
                                 field.setFieldStatus(2);
                             }else{
                                 field.setFieldStatus(3);

+ 1 - 1
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/interfaces/impl/ElectWorkStrategy.java

@@ -73,7 +73,7 @@ public class ElectWorkStrategy implements WorkFieldStrategy {
             field.setFieldTime(workControlVo.getObjectTime());
             if(ObjectUtil.isNotEmpty(operation)){
                 IotDayWorkOperation oper = operation.get(0);
-                if(DataValueEnum.DATA_VALUE_UP_STATUS.getNum() == oper.getTargetValue()){
+                if(ObjectUtil.equal(DataValueEnum.DATA_VALUE_UP_STATUS.getNum(),oper.getTargetValue()) ){
                     field.setFieldStatus(2);
                 }else{
                     field.setFieldStatus(3);