liuyaowen 1 год назад
Родитель
Сommit
6e2af78f16

+ 2 - 0
src/main/java/com/yunfeiyun/agmp/iots/device/mapper/IotDeviceMapper.java

@@ -99,6 +99,8 @@ public interface IotDeviceMapper {
     List<String> getDeviceCodesByConectionId(@Param("connectionId") String connectionId);
 
     List<IotDevice> getDevicesByConectionId(String connectionId);
+
+    List<IotDevice> selectIotDeviceByDevtypeBidList(List<String> devTypeBidList);
 }
 
 

+ 4 - 1
src/main/java/com/yunfeiyun/agmp/iots/device/serviceImp/IHikVisionEzvizDeviceImpl.java

@@ -10,6 +10,7 @@ import com.yunfeiyun.agmp.common.utils.DateUtils;
 import com.yunfeiyun.agmp.common.utils.uuid.UUID;
 
 import com.yunfeiyun.agmp.iot.common.constant.IotEnumOnlineStatus;
+import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictConst;
 import com.yunfeiyun.agmp.iot.common.constant.devicetype.ServiceNameConst;
 import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
 import com.yunfeiyun.agmp.iot.common.domain.IotMonitorCapture;
@@ -182,7 +183,9 @@ public class IHikVisionEzvizDeviceImpl extends HttpDeviceAbstractImpl implements
             log.info("海康设备定时检测设备在线状态开始");
             List<CompletableFuture<JSONObject>> completableFutureList = new LinkedList<>();
             // 此处若后续数据较多时,可按租户分批处理
-            List<IotDevice> iotDeviceList = iotDeviceService.selectAllDeviceByDeviceServiceName(ServiceNameConst.SERVICE_EZVIZ_MINITOR);
+            List<String> devTypeBidList = Arrays.asList(IotDeviceDictConst.TYPE_EZVIZ_JKSB,IotDeviceDictConst.TYPE_DAHUA_DEVICE,IotDeviceDictConst.TYPE_HIK_OPEN_DEVICE);
+
+            List<IotDevice> iotDeviceList = iotDeviceService.selectIotDeviceByDevtypeBidList(devTypeBidList);
             Map<String,List<IotDevice>> map = iotDeviceList.stream().collect(Collectors.groupingBy(item->item.getDevCode().split("-")[0]));
             for(Map.Entry<String,List<IotDevice>> entry:map.entrySet()){
                 CompletableFuture<JSONObject> generateGraphics = CompletableFuture.supplyAsync(() -> {

+ 2 - 0
src/main/java/com/yunfeiyun/agmp/iots/service/IIotDeviceService.java

@@ -133,5 +133,7 @@ public interface IIotDeviceService {
     List<String> getDeviceCodesByConectionId(String connectionId);
 
     List<IotDevice> getDevicesByConectionId(String connectionId);
+
+    List<IotDevice> selectIotDeviceByDevtypeBidList(List<String> devTypeBidList);
 }
 

+ 5 - 0
src/main/java/com/yunfeiyun/agmp/iots/service/impl/IotDeviceServiceImpl.java

@@ -327,6 +327,11 @@ public class IotDeviceServiceImpl implements IIotDeviceService {
         return iotDeviceMapper.getDevicesByConectionId(connectionId);
     }
 
+    @Override
+    public List<IotDevice> selectIotDeviceByDevtypeBidList(List<String> devTypeBidList) {
+        return iotDeviceMapper.selectIotDeviceByDevtypeBidList(devTypeBidList);
+    }
+
 
     /**
      * 是否是属于需要忽略状态的设备

+ 9 - 0
src/main/resources/mapper/IotDeviceMapper.xml

@@ -522,6 +522,15 @@
     <select id="getDevicesByConectionId" resultType="com.yunfeiyun.agmp.iot.common.domain.IotDevice">
                 select  * from IotDevice where devconnBid=#{connectionId} and devDelstatus='0'
     </select>
+    <select id="selectIotDeviceByDevtypeBidList" resultType="com.yunfeiyun.agmp.iot.common.domain.IotDevice">
+        <include refid="selectIotDeviceVo"/>
+        <where>
+            devtypeBid in
+            <foreach collection="list" open="(" separator="," close=")" item="item" index="index">
+                #{item}
+            </foreach>
+        </where>
+    </select>
 </mapper>