瀏覽代碼

Merge remote-tracking branch 'origin/V1.0.11' into V1.0.11

jingyuanchao 1 年之前
父節點
當前提交
dacff7b327

+ 2 - 2
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/enums/iot/BaseDeviceTypeEnum.java

@@ -55,8 +55,8 @@ public enum BaseDeviceTypeEnum {
     AlarmHostInput_Microwave("Microwave","微波传感器"),
     AlarmHostInput_EmergencyButton("EmergencyButton","紧急按钮传感器"),
 
-    Talk("23","对讲主机"),
-    door("24","门禁主机"),
+    Host_Talk("23","对讲主机"),
+    Host_Door("24","门禁主机"),
     ;
     private String code;
     private String desc;

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

@@ -516,9 +516,14 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
         //逻辑删除Dvs扩展信息
         iIotDeviceInfoExtendService.deleteDeviceExtendByTokenAndDeviceType(serverInfo.getIotCode(), BaseDeviceTypeEnum.Dvs.getCode());
         iIotDeviceInfoExtendService.deleteDeviceExtendByTokenAndDeviceType(serverInfo.getIotCode(), BaseDeviceTypeEnum.FSU.getCode());
+        //删除门禁主机和对讲主机
+        iIotDeviceInfoExtendService.deleteDeviceExtendByTokenAndDeviceType(serverInfo.getIotCode(), BaseDeviceTypeEnum.Host_Talk.getCode());
+        iIotDeviceInfoExtendService.deleteDeviceExtendByTokenAndDeviceType(serverInfo.getIotCode(), BaseDeviceTypeEnum.Host_Door.getCode());
+
 
         List<DvsBaseInfo> dvsBaseInfoList = dataList.stream().filter(r -> ObjectUtil.equal(r.getType(), BaseDeviceTypeEnum.Dvs.name())
-                || ObjectUtil.equal(r.getType(), BaseDeviceTypeEnum.FSU.name())).collect(Collectors.toList());
+                || ObjectUtil.equal(r.getType(), BaseDeviceTypeEnum.FSU.name()) || ObjectUtil.equal(r.getType(), BaseDeviceTypeEnum.Host_Talk.name())
+                || ObjectUtil.equal(r.getType(), BaseDeviceTypeEnum.Host_Door.name())).collect(Collectors.toList());
         if (ObjectUtil.isEmpty(dvsBaseInfoList)) {
             return;
         }
@@ -548,9 +553,10 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
                 updateHostList.add(hostInfo);
             }
             syncToAssetDeviceList.add(hostInfo);
-            if (BaseDeviceTypeEnum.Dvs.name().equals(dvsBaseInfo.getType())) {
+            if (BaseDeviceTypeEnum.Dvs.name().equals(dvsBaseInfo.getType()) || BaseDeviceTypeEnum.Host_Door.name().equals(dvsBaseInfo.getType())
+                    || BaseDeviceTypeEnum.Host_Talk.name().equals(dvsBaseInfo.getType())) {
                 //处理主机扩展信息
-                IotDeviceInfoExtend extend = iIotDeviceInfoExtendService.selectByProductDeviceNameAndToken(serverInfo.getIotCode(), BaseDeviceTypeEnum.Dvs.getCode(), dvsBaseInfo.getDeviceCode());
+                IotDeviceInfoExtend extend = iIotDeviceInfoExtendService.selectByProductDeviceNameAndToken(serverInfo.getIotCode(), code, dvsBaseInfo.getDeviceCode());
                 if (extend == null) {
                     addListExtend.add(createIotDeviceInfoExtend(dvsBaseInfo, hostInfo.getId(), serverInfo.getIotCode()));
                 } else {

+ 14 - 11
soc-modules/soc-modules-iot/src/main/java/com/xunmei/iot/service/impl/IotDeviceInfoServiceImpl.java

@@ -55,20 +55,23 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
         DeviceDetailInfoVo detailInfoVo = baseMapper.getDetailById(id);
         if (detailInfoVo != null){
             detailInfoVo.setDeviceTypeName(BaseDeviceTypeEnum.getDescByCode(detailInfoVo.getDeviceType()));
-            String deviceProduct = null;
-            //监控主机需要查询deviceProduct
-            if (ObjectUtil.equal(BaseDeviceTypeEnum.Dvs.getCode(),detailInfoVo.getDeviceType())){
-                deviceProduct = detailInfoVo.getDeviceProduct();
-            }
-            List<DeviceDetailInfoVo> infoList = baseMapper.getChildrenInfoList(deviceProduct, detailInfoVo.getIotToken(), detailInfoVo.getDeviceCode());
-            if (infoList !=null && infoList.size() > 0){
-                for (DeviceDetailInfoVo infoVo : infoList) {
-                    infoVo.setDeviceTypeName(BaseDeviceTypeEnum.getDescByCode(infoVo.getDeviceType()));
+            //动环主机和dvs有子设备(门禁主机和对讲主机无子设备)
+            if (ObjectUtil.equal(BaseDeviceTypeEnum.Dvs.getCode(),detailInfoVo.getDeviceType())
+                    || ObjectUtil.equal(BaseDeviceTypeEnum.FSU.getCode(),detailInfoVo.getDeviceType())){
+                String deviceProduct = null;
+                //监控主机需要查询deviceProduct
+                if (ObjectUtil.equal(BaseDeviceTypeEnum.Dvs.getCode(),detailInfoVo.getDeviceType())){
+                    deviceProduct = detailInfoVo.getDeviceProduct();
+                }
+                List<DeviceDetailInfoVo> infoList = baseMapper.getChildrenInfoList(deviceProduct, detailInfoVo.getIotToken(), detailInfoVo.getDeviceCode());
+                if (infoList !=null && infoList.size() > 0){
+                    for (DeviceDetailInfoVo infoVo : infoList) {
+                        infoVo.setDeviceTypeName(BaseDeviceTypeEnum.getDescByCode(infoVo.getDeviceType()));
+                    }
                 }
+                detailInfoVo.setChildrenInfos(infoList);
             }
-            detailInfoVo.setChildrenInfos(infoList);
         }
-
         return detailInfoVo;
     }
 

+ 3 - 1
soc-modules/soc-modules-iot/src/main/resources/mapper/IotDeviceInfoMapper.xml

@@ -63,7 +63,9 @@
             LEFT JOIN sys_org o ON o.id = d.org_id
         where d.deleted = 0
             and d.iot_token = #{iotToken}
-            and d.host_code = #{hostCode}
+            <if test="hostCode !=null and hostCode !=''">
+                and d.host_code = #{hostCode}
+            </if>
             <if test="deviceProduct !=null and deviceProduct !=''">
                 and d.device_product = #{deviceProduct}
             </if>