Ver Fonte

设备同步:新增页面通道信息编辑 同步至主机代码增加

jingyuanchao há 11 meses atrás
pai
commit
fc8b08c9a7

+ 2 - 0
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/iot/mapper/IotDeviceInfoMapper.java

@@ -19,4 +19,6 @@ public interface IotDeviceInfoMapper extends BaseMapper<IotDeviceInfo> {
 
     void updateDvsAndChannelDeleted(@Param("iotCode") String iotCode, @Param("deviceCode") String deviceCode);
 
+    List<IotDeviceInfo> selectChannelList(@Param("iotToken") String iotToken, @Param("deviceCode") String deviceCode);
+
 }

+ 12 - 7
soc-modules/soc-modules-host/src/main/java/com/xunmei/host/iot/service/impl/IotDeviceInfoServiceImpl.java

@@ -446,7 +446,7 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
                 updateChannelInfo(subDeviceInfo, channelInfo, hostInfo);
                 updateChnnelList.add(channelInfo);
             }
-           // updateCache(channelInfo, 2);
+            // updateCache(channelInfo, 2);
         }
         updateDeviceSyncStatus(hostInfo.getId(), DeviceSyncStatus.SYNC_SUCCESS);
         batchDealIotDeviceInfo(Lists.newLinkedList(), addChnnelList, true);
@@ -1010,12 +1010,7 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
         RedisDelayedQueueUtil.addDelayQueue(deviceInfo.getId(), time, RedisDelayQueueEnum.DEVICE_SYNC_STATUS_MONITOR.getCode());
     }
 
-    private JSONObject getDvsJson(IotDeviceInfo deviceInfo) {
-        final IotDeviceInfoExtend extend = iIotDeviceInfoExtendService.selectByDeviceId(deviceInfo.getId());
-        return deviceInfoToJSB(deviceInfo, extend);
-    }
-
-    private JSONObject deviceInfoToJSB(IotDeviceInfo iotDeviceInfo, IotDeviceInfoExtend extend) {
+    private JSONObject getDvsJson(IotDeviceInfo iotDeviceInfo) {
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("deviceId", iotDeviceInfo.getId());
         jsonObject.put("deviceType", BaseDeviceTypeEnum.Dvs.name());
@@ -1026,7 +1021,17 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
         jsonObject.put("deviceCode", iotDeviceInfo.getDeviceCode());
         jsonObject.put("deviceName", iotDeviceInfo.getDeviceName());
         jsonObject.put("enable", iotDeviceInfo.getEnable());
+        final IotDeviceInfoExtend extend = iIotDeviceInfoExtendService.selectByDeviceId(iotDeviceInfo.getId());
         jsonObject.put("extend", extend);
+        List<IotDeviceInfo> childrenInfos = baseMapper.selectChannelList(iotDeviceInfo.getIotToken(), iotDeviceInfo.getDeviceCode());
+        List<JSONObject> list = childrenInfos.stream().map(r -> {
+            final JSONObject object = new JSONObject();
+            object.put("channelName", r.getDeviceName());
+            object.put("channelCode", r.getDeviceCode());
+            object.put("enable", r.getEnable());
+            return object;
+        }).collect(Collectors.toList());
+        jsonObject.put("channelList", list);
         return jsonObject;
     }
 

+ 8 - 0
soc-modules/soc-modules-host/src/main/resources/mapper/IotDeviceInfoMapper.xml

@@ -63,4 +63,12 @@
         where iot_token = #{iotCode}
           and (device_code = #{deviceCode} or host_code = #{deviceCode})
     </delete>
+
+    <select id="selectChannelList" resultType="com.xunmei.system.api.domain.iot.IotDeviceInfo">
+        select device_code, device_name, `enable`
+        from iot_device_info
+        where iot_token = #{iotToken}
+          and host_code = #{hostCode}
+          and deleted = 0
+    </select>
 </mapper>