From 5dccf0dc687dfef1c91936af3cea06fe0609b918 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 11 十二月 2024 17:31:11 +0800
Subject: [PATCH] osd时间bug、离线工单bug等

---
 ycl-server/src/main/java/com/ycl/task/HKTask.java |  341 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 237 insertions(+), 104 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/task/HKTask.java b/ycl-server/src/main/java/com/ycl/task/HKTask.java
index 00b346a..784d9cf 100644
--- a/ycl-server/src/main/java/com/ycl/task/HKTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -1,93 +1,114 @@
 package com.ycl.task;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.mongodb.client.result.DeleteResult;
 import com.ycl.feign.HkApiUtil;
-import com.ycl.feign.HkApiUtil;
+import com.ycl.platform.domain.entity.TMonitor;
 import com.ycl.platform.domain.param.HK.*;
 import com.ycl.platform.domain.result.HK.*;
-import com.ycl.platform.service.ICheckIndexCarService;
-import com.ycl.platform.service.ICheckIndexFaceService;
-import com.ycl.platform.service.ICheckIndexVideoService;
-import com.ycl.platform.service.IYwThresholdService;
+import com.ycl.platform.domain.result.UY.VideoOnlineResult;
+import com.ycl.platform.domain.vo.UpdateOnlineVO;
+import com.ycl.platform.mapper.TMonitorMapper;
+import com.ycl.platform.mapper.WorkOrderMapper;
+import com.ycl.platform.service.*;
 import com.ycl.utils.DateUtils;
 import constant.ApiConstants;
-import com.ycl.feign.HKClient;
+import constant.CheckConstants;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
 
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 //娴峰悍瀵规帴鏁版嵁浠诲姟
 @Slf4j
 @Component("HKTask")
 public class HKTask {
 
+    @Value("${HK.host}")
+    public String host;
+    @Value("${HK.appKey}")
+    public String appKey;
+    @Value("${HK.appSecret}")
+    public String appSecret;
     @Autowired
     private MongoTemplate mongoTemplate;
     @Autowired
     private IYwThresholdService ywThresholdService;
     @Autowired
-    private ICheckIndexFaceService checkIndexFaceService;
+    private YwPointService pointService;
     @Autowired
-    private ICheckIndexCarService checkIndexCarService;
+    private TMonitorMapper monitorMapper;
     @Autowired
-    private ICheckIndexVideoService checkIndexVideoService;
-
+    private UYErrorTypeCheckService uyErrorTypeCheckService;
     //杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
     public void vehicleDeviceInspectionTask() {
         log.info("寮�濮嬫墽琛岃溅杈嗚澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
-//        VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam();
-//        param.setPageNo(ApiConstants.PageNo);
-//        param.setPageSize(ApiConstants.HKPageSize);
-//        param.setDate(DateUtils.getDate());
-//        param.setDataType(ApiConstants.HK_DataType_CAR);
-//        List<VehicleDeviceInspectionResult> list = HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/vehFullAmount/query", param, VehicleDeviceInspectionResult.class);
-//        if (!CollectionUtils.isEmpty(list)) {
-//            //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
-//            Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
-//            DeleteResult result = mongoTemplate.remove(query, VehicleDeviceInspectionResult.class);
-//            //瀛樻斁鍦╩ongo涓�
-//            mongoTemplate.insertAll(list);
-//            //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞�
-//            ywThresholdService.carCheck(list);
-//        }
-        Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
-        ywThresholdService.carCheck(mongoTemplate.find(query, VehicleDeviceInspectionResult.class));
+        VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam();
+        param.setPageNo(ApiConstants.PageNo);
+        param.setPageSize(ApiConstants.HKPageSize);
+        param.setDate(DateUtils.getDate());
+        param.setDataType(ApiConstants.HK_DataType_CAR);
+        List<VehicleDeviceInspectionResult> list = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v2/data/vehFullAmount/query", param, VehicleDeviceInspectionResult.class);
+        if (!CollectionUtils.isEmpty(list)) {
+            //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
+            Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+            DeleteResult result = mongoTemplate.remove(query, VehicleDeviceInspectionResult.class);
+            list.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(list, CheckConstants.Rule_Category_Car);
+            //瀛樻斁鍦╩ongo涓�
+            mongoTemplate.insertAll(list);
+            //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞�
+            ywThresholdService.carCheck(list);
+        }
+        // 鏈湴娴嬭瘯
+//        Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
+//        ywThresholdService.carCheck(mongoTemplate.find(query, VehicleDeviceInspectionResult.class));
         log.info("缁撴潫杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
     //浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
     public void faceDeviceInspectionTask() {
         log.info("寮�濮嬫墽琛屼汉鑴歌澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
-//        FaceDeviceInspectionParam param = new FaceDeviceInspectionParam();
-//        param.setPageNo(ApiConstants.PageNo);
-//        param.setPageSize(ApiConstants.HKPageSize);
-//        param.setDate(DateUtils.getDate());
-//        List<FaceDeviceInspectionResult> list = HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/faceFullAmount/query", param, FaceDeviceInspectionResult.class);
-//        if (!CollectionUtils.isEmpty(list)) {
-//            //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
-//            Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
-//            DeleteResult result = mongoTemplate.remove(query, FaceDeviceInspectionResult.class);
-//            //瀛樻斁鍦╩ongo涓�
-//            mongoTemplate.insertAll(list);
-//            //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞�
-//            //TODO:鍙兘鏈夐噸澶嶅伐鍗�
-//            ywThresholdService.faceCheck(list);
-//        }
-        Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
-        ywThresholdService.faceCheck(mongoTemplate.find(query, FaceDeviceInspectionResult.class));
+        FaceDeviceInspectionParam param = new FaceDeviceInspectionParam();
+        param.setPageNo(ApiConstants.PageNo);
+        param.setPageSize(ApiConstants.HKPageSize);
+        param.setDate(DateUtils.getDate());
+        List<FaceDeviceInspectionResult> list = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v2/data/faceFullAmount/query", param, FaceDeviceInspectionResult.class);
+        if (!CollectionUtils.isEmpty(list)) {
+            //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
+            Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+            DeleteResult result = mongoTemplate.remove(query, FaceDeviceInspectionResult.class);
+            list.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(list,CheckConstants.Rule_Category_Face);
+            //瀛樻斁鍦╩ongo涓�
+            mongoTemplate.insertAll(list);
+            //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞�
+            ywThresholdService.faceCheck(list);
+        }
+//        Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
+//        ywThresholdService.faceCheck(mongoTemplate.find(query, FaceDeviceInspectionResult.class));
         log.info("缁撴潫浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
 
-    //鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋�
+    // 鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋�
     public void snapshotDataMonitorTask() {
         log.info("寮�濮嬫墽琛屾姄鎷嶆暟鎹噺妫�娴嬬粨鏋滄暟鎹悓姝�");
         /** 杞﹁締鏁版嵁 */
@@ -96,13 +117,19 @@
         carParam.setPageSize(ApiConstants.HKPageSize);
         carParam.setDate(DateUtils.getDate());
         carParam.setDataType(ApiConstants.HK_DataType_CAR);
-        List<SnapshotDataMonitorResult> carList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/snapCountDetail/query", carParam, SnapshotDataMonitorResult.class);
+        List<SnapshotDataMonitorResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/snapCountDetail/query", carParam, SnapshotDataMonitorResult.class);
         if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
                     .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
                     .and("dataType").is(ApiConstants.HK_DataType_CAR));
             DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class);
+            carList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
             //瀛樻斁鍦╩ongo涓�
             carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR));
             mongoTemplate.insertAll(carList);
@@ -114,18 +141,57 @@
         faceParam.setPageSize(ApiConstants.HKPageSize);
         faceParam.setDate(DateUtils.getDate());
         faceParam.setDataType(ApiConstants.HK_DataType_FACE);
-        List<SnapshotDataMonitorResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/snapCountDetail/query", faceParam, SnapshotDataMonitorResult.class);
+        List<SnapshotDataMonitorResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/snapCountDetail/query", faceParam, SnapshotDataMonitorResult.class);
         if (!CollectionUtils.isEmpty(faceList)) {
+            log.info("缁撴灉鏁版嵁澶у皬锛歿}",faceList.size());
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
                     .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
                     .and("dataType").is(ApiConstants.HK_DataType_FACE));
             DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class);
+            faceList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(faceList,CheckConstants.Rule_Category_Face);
             //瀛樻斁鍦╩ongo涓�
-            carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE));
+            faceList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE));
             mongoTemplate.insertAll(faceList);
         }
-        //TODO:宸ュ崟
+        //淇敼online鐘舵�佷互鍙婄敓鎴愬伐鍗�
+        List<SnapshotDataMonitorResult> totalResult =new ArrayList<>();
+        totalResult.addAll(carList);
+        totalResult.addAll(faceList);
+        if(!CollectionUtils.isEmpty(totalResult)) {
+            List<String> numbers = totalResult.stream().map(SnapshotDataMonitorResult::getExternalIndexCode).collect(Collectors.toList());
+            Map<String, TMonitor> map = monitorMapper.selectList(new QueryWrapper<TMonitor>().in("serial_number", numbers))
+                    .stream().collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity()));
+            Date now = new Date();
+            //杩囨护
+            totalResult = totalResult.stream().filter(item -> map.get(item.getExternalIndexCode()) != null).collect(Collectors.toList());
+            totalResult.forEach(item->{
+                TMonitor monitor = map.get(item.getExternalIndexCode());
+                item.setIp(monitor.getIp());
+            });
+            List<UpdateOnlineVO> willUpdateList = totalResult.stream().map(item -> {
+                UpdateOnlineVO vo = new UpdateOnlineVO();
+                vo.setOnline(item.getDataCount()>0?1:-1);
+                vo.setIp(map.get(item.getExternalIndexCode()).getIp());
+                vo.setUpdateTime(now);
+                return vo;
+            }).collect(Collectors.toList());
+            monitorMapper.updateOnlineFromUyOrHk(willUpdateList);
+            //绂荤嚎鐢熸垚宸ュ崟,涓�涓猧p鍙敓鎴愪竴涓伐鍗�
+            List<SnapshotDataMonitorResult> workOrders = new ArrayList<>(totalResult.stream()
+                    .filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getDataCount()>0?1:-1))
+                    .collect(Collectors.toMap(
+                            SnapshotDataMonitorResult::getIp,
+                            Function.identity(),
+                            (existing, replacement) -> existing // 濡傛灉閬囧埌鐩稿悓鐨� IP锛屼繚鐣欑涓�涓紙existing锛�
+                    )).values());
+            uyErrorTypeCheckService.hkOnlineCheck(workOrders);
+        }
         log.info("缁撴潫鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹悓姝�");
     }
 
@@ -137,16 +203,21 @@
         param.setPageNo(ApiConstants.PageNo);
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
-        List<MonitoringDetailResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/device/cameraExpDetailInfo/query", param, MonitoringDetailResult.class);
+        List<MonitoringDetailResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/device/cameraExpDetailInfo/query", param, MonitoringDetailResult.class);
         if (!CollectionUtils.isEmpty(faceList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
                     .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
             DeleteResult result = mongoTemplate.remove(query, MonitoringDetailResult.class);
+            faceList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(faceList,CheckConstants.Rule_Category_Face);
             //瀛樻斁鍦╩ongo涓�
             mongoTemplate.insertAll(faceList);
         }
-        //TODO:宸ュ崟澶勭悊
         log.info("缁撴潫閲囬泦璁惧灞炴�х洃娴嬬粨鏋滄暟鎹悓姝�");
     }
 
@@ -158,16 +229,21 @@
         param.setPageNo(ApiConstants.PageNo);
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
-        List<CrossDetailResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/device/crossExpDetailInfo/query", param, CrossDetailResult.class);
-        if (!CollectionUtils.isEmpty(faceList)) {
+        List<CrossDetailResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/device/crossExpDetailInfo/query", param, CrossDetailResult.class);
+        if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
                     .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
             DeleteResult result = mongoTemplate.remove(query, CrossDetailResult.class);
+            carList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insertAll(faceList);
+            mongoTemplate.insertAll(carList);
         }
-        //TODO:宸ュ崟澶勭悊
         log.info("缁撴潫鍗″彛灞炴�х洃娴嬬粨鏋滄暟鎹悓姝�");
     }
 
@@ -180,17 +256,22 @@
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
         param.setDataType(ApiConstants.HK_DataType_CAR);
-        List<DataIntegrityMonitoringResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/attributeIntegrity/query", param, DataIntegrityMonitoringResult.class);
+        List<DataIntegrityMonitoringResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/attributeIntegrity/query", param, DataIntegrityMonitoringResult.class);
 
-        if (!CollectionUtils.isEmpty(faceList)) {
+        if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
                     .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
             DeleteResult result = mongoTemplate.remove(query, DataIntegrityMonitoringResult.class);
+            carList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insertAll(faceList);
+            mongoTemplate.insertAll(carList);
         }
-        //TODO:宸ュ崟澶勭悊
         log.info("缁撴潫鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋滄暟鎹悓姝�");
     }
 
@@ -203,17 +284,22 @@
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
         param.setDataType(ApiConstants.HK_DataType_CAR);
-        List<AttrRecognitionMonitorResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/attributeRecognition/query", param, AttrRecognitionMonitorResult.class);
+        List<AttrRecognitionMonitorResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/attributeRecognition/query", param, AttrRecognitionMonitorResult.class);
 
-        if (!CollectionUtils.isEmpty(faceList)) {
+        if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
                     .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
             DeleteResult result = mongoTemplate.remove(query, AttrRecognitionMonitorResult.class);
+            carList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insertAll(faceList);
+            mongoTemplate.insertAll(carList);
         }
-        //TODO:宸ュ崟澶勭悊
         log.info("缁撴潫灞炴�ц瘑鍒噯纭洃娴嬬粨鏋滄暟鎹悓姝�");
 
     }
@@ -228,7 +314,7 @@
         carParam.setPageSize(ApiConstants.HKPageSize);
         carParam.setDate(DateUtils.getDate());
         carParam.setDataType(ApiConstants.HK_DataType_CAR);
-        List<SnapshotDelayMonitorResult> carList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/snapAgingDetail/query", carParam, SnapshotDelayMonitorResult.class);
+        List<SnapshotDelayMonitorResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/snapAgingDetail/query", carParam, SnapshotDelayMonitorResult.class);
 
         if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
@@ -237,7 +323,13 @@
                     .and("dataType").is(ApiConstants.HK_DataType_CAR));
             DeleteResult result = mongoTemplate.remove(query, SnapshotDelayMonitorResult.class);
             //瀛樻斁鍦╩ongo涓�
-            carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR));
+            carList.stream().forEach(item -> {
+                item.setDataType(ApiConstants.HK_DataType_CAR);
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
             mongoTemplate.insertAll(carList);
         }
 
@@ -247,7 +339,7 @@
         faceParam.setPageSize(ApiConstants.HKPageSize);
         faceParam.setDate(DateUtils.getDate());
         faceParam.setDataType(ApiConstants.HK_DataType_FACE);
-        List<SnapshotDelayMonitorResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/snapAgingDetail/query", faceParam, SnapshotDelayMonitorResult.class);
+        List<SnapshotDelayMonitorResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/snapAgingDetail/query", faceParam, SnapshotDelayMonitorResult.class);
 
         if (!CollectionUtils.isEmpty(faceList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
@@ -256,10 +348,15 @@
                     .and("dataType").is(ApiConstants.HK_DataType_FACE));
             DeleteResult result = mongoTemplate.remove(query, SnapshotDelayMonitorResult.class);
             //瀛樻斁鍦╩ongo涓�
-            faceList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE));
+            faceList.forEach(item -> {
+                item.setDataType(ApiConstants.HK_DataType_FACE);
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(faceList,CheckConstants.Rule_Category_Face);
             mongoTemplate.insertAll(faceList);
         }
-        //TODO:宸ュ崟
         log.info("缁撴潫鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
@@ -272,19 +369,25 @@
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
         param.setDataType(ApiConstants.HK_DataType_CAR);
-        List<PicAccessResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v1/data/picAccessDetail/query", param, PicAccessResult.class);
+        List<PicAccessResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/picAccessDetail/query", param, PicAccessResult.class);
 
-        if (!CollectionUtils.isEmpty(faceList)) {
+        if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
                     .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
             DeleteResult result = mongoTemplate.remove(query, PicAccessResult.class);
+            carList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insertAll(faceList);
+            mongoTemplate.insertAll(carList);
         }
-        //TODO:宸ュ崟澶勭悊
         log.info("缁撴潫鍥剧墖璁块棶鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
+
     //杞﹁締璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
     public void vehicleDeviceSamplingTask() {
         log.info("寮�濮嬫墽琛岃溅杈嗚澶囨娊妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
@@ -294,17 +397,22 @@
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
         param.setDataType(ApiConstants.HK_DataType_CAR);
-        List<VehicleDeviceSamplingResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/vehSampleAmount/query", param, VehicleDeviceSamplingResult.class);
+        List<VehicleDeviceSamplingResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v2/data/vehSampleAmount/query", param, VehicleDeviceSamplingResult.class);
 
-        if (!CollectionUtils.isEmpty(faceList)) {
+        if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
                     .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
             DeleteResult result = mongoTemplate.remove(query, VehicleDeviceSamplingResult.class);
+            carList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insertAll(faceList);
+            mongoTemplate.insertAll(carList);
         }
-        //TODO:宸ュ崟澶勭悊
         log.info("缁撴潫杞﹁締璁惧鎶芥鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
@@ -316,46 +424,71 @@
         param.setPageNo(ApiConstants.PageNo);
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
-        List<FaceDeviceSamplingResult> faceList = HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/faceSampleAmount/query", param, FaceDeviceSamplingResult.class);
+        List<FaceDeviceSamplingResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v2/data/faceSampleAmount/query", param, FaceDeviceSamplingResult.class);
 
         if (!CollectionUtils.isEmpty(faceList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
                     .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
             DeleteResult result = mongoTemplate.remove(query, FaceDeviceSamplingResult.class);
+            faceList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(faceList,CheckConstants.Rule_Category_Face);
             //瀛樻斁鍦╩ongo涓�
             mongoTemplate.insertAll(faceList);
         }
-        //TODO:宸ュ崟澶勭悊
         log.info("缁撴潫浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
-    //娴嬭瘯
-    public void test() {
-        log.info("娴嬭瘯娴峰悍鎺ュ彛");
-        HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/faceDetect/query", new FaceDeviceSamplingParam(), Object.class);
-        log.info("缁撴潫->{}锛岃皟鐢ㄦ垚鍔�");
+    //涓氬姟鏍�
+    public void TreeTask() {
+        log.info("寮�濮嬫墽琛屼笟鍔℃爲鏁版嵁");
+        TreeParam param = new TreeParam();
+        param.setStartDate("2024-12-06");
+        param.setEndDate("2024-12-06");
+        List<HKTreeResult> faceList = HkApiUtil.sendGetAPI(host,appKey,appSecret,"/api/third/timeTree", param, HKTreeResult.class);
+//        if (!CollectionUtils.isEmpty(faceList)) {
+//            //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
+//            Query query = new Query(Criteria
+//                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+//            DeleteResult result = mongoTemplate.remove(query, FaceDeviceSamplingResult.class);
+//            faceList.stream().forEach(item -> {
+//                if (Objects.nonNull(item.getExternalIndexCode())) {
+//                    item.setNo(item.getExternalIndexCode());
+//                }
+//            });
+//            pointService.setDeviceTagByGB(faceList,CheckConstants.Rule_Category_Face);
+//            //瀛樻斁鍦╩ongo涓�
+//            mongoTemplate.insertAll(faceList);
+//        }
+        log.info("缁撴潫涓氬姟鏍戞暟鎹�");
     }
 
-    //娴嬭瘯
-    public void test1() {
-        log.info("娴嬭瘯娴峰悍鎺ュ彛");
-        HkApiUtil.sendAPI("/api/dqd/service/rs/v1/device/coordinateExpInfo/query", new FaceDeviceSamplingParam(), Object.class);
-        log.info("缁撴潫->{}锛岃皟鐢ㄦ垚鍔�");
-    }
-
-    //娴嬭瘯
-    public void test2() {
-        log.info("娴嬭瘯娴峰悍鎺ュ彛");
-        HkApiUtil.sendAPI("/api/dqd/service/rs/v1/device/gbCodeExpInfo/query", new FaceDeviceSamplingParam(), Object.class);
-        log.info("缁撴潫->{}锛岃皟鐢ㄦ垚鍔�");
-    }
-
-    //娴嬭瘯
-    public void test3() {
-        log.info("娴嬭瘯娴峰悍鎺ュ彛");
-        HkApiUtil.sendAPI("/api/dqd/service/rs/v2/data/passDetect/query", new FaceDeviceSamplingParam(), Object.class);
-        log.info("缁撴潫->{}锛岃皟鐢ㄦ垚鍔�");
+    //鑰冩牳鎴愮哗
+    public void HkScoreTask() {
+        log.info("寮�濮嬫墽琛屾捣搴疯�冩牳鎴愮哗鏁版嵁");
+        ScoreParam param = new ScoreParam();
+        param.setStartDate("2024-12-06");
+        param.setEndDate("2024-12-06");
+        List<HKScoreResult> dataList = HkApiUtil.sendGetAPI(host,appKey,appSecret,"/api/third/score/get", param, HKScoreResult.class);
+//        if (!CollectionUtils.isEmpty(faceList)) {
+//            //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
+//            Query query = new Query(Criteria
+//                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+//            DeleteResult result = mongoTemplate.remove(query, FaceDeviceSamplingResult.class);
+//            faceList.stream().forEach(item -> {
+//                if (Objects.nonNull(item.getExternalIndexCode())) {
+//                    item.setNo(item.getExternalIndexCode());
+//                }
+//            });
+//            pointService.setDeviceTagByGB(faceList,CheckConstants.Rule_Category_Face);
+//            //瀛樻斁鍦╩ongo涓�
+//            mongoTemplate.insertAll(faceList);
+//        }
+        log.info("缁撴潫娴峰悍鑰冩牳鎴愮哗鏁版嵁");
     }
 
     //瑙f瀽鏁版嵁

--
Gitblit v1.8.0