From f8889f7364adae89e45a5ec3fcf4b38e430cf389 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 10 九月 2024 10:41:18 +0800
Subject: [PATCH] 工单详情

---
 ycl-server/src/main/java/com/ycl/task/HKTask.java |  345 ++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 218 insertions(+), 127 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 69e7a29..85c3811 100644
--- a/ycl-server/src/main/java/com/ycl/task/HKTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -2,18 +2,15 @@
 
 import com.alibaba.fastjson2.JSONObject;
 import com.mongodb.client.result.DeleteResult;
+import com.ycl.feign.HkApiUtil;
 import com.ycl.platform.domain.param.HK.*;
-import com.ycl.platform.domain.result.BaseResult;
 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.service.*;
 import com.ycl.utils.DateUtils;
 import constant.ApiConstants;
-import com.ycl.feign.HKClient;
 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;
@@ -22,41 +19,53 @@
 
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
-
+//娴峰悍瀵规帴鏁版嵁浠诲姟
 @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 HKClient hkClient;
-    @Autowired
     private IYwThresholdService ywThresholdService;
     @Autowired
-    private ICheckIndexFaceService checkIndexFaceService;
-    @Autowired
-    private ICheckIndexCarService checkIndexCarService;
-    @Autowired
-    private ICheckIndexVideoService checkIndexVideoService;
+    private YwPointService pointService;
 
     //杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
     public void vehicleDeviceInspectionTask() {
         log.info("寮�濮嬫墽琛岃溅杈嗚澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
         VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam();
-        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
-        JSONObject jsonObject = hkClient.VehicleDeviceInspection(param);
-        List<VehicleDeviceInspectionResult> list = getDataList(jsonObject, VehicleDeviceInspectionResult.class, "杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖");
+        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("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+            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);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insert(list);
+            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("缁撴潫杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
@@ -64,58 +73,82 @@
     public void faceDeviceInspectionTask() {
         log.info("寮�濮嬫墽琛屼汉鑴歌澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
         FaceDeviceInspectionParam param = new FaceDeviceInspectionParam();
-        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
-        JSONObject jsonObject = hkClient.FaceDeviceInspection(param);
-        List<FaceDeviceInspectionResult> list = getDataList(jsonObject, FaceDeviceInspectionResult.class, "浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖");
+        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("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+            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);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insert(list);
+            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));
         log.info("缁撴潫浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
 
-    //鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋�
+    // 鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋�
     public void snapshotDataMonitorTask() {
         log.info("寮�濮嬫墽琛屾姄鎷嶆暟鎹噺妫�娴嬬粨鏋滄暟鎹悓姝�");
         /** 杞﹁締鏁版嵁 */
         SnapshotDataMonitorParam carParam = new SnapshotDataMonitorParam();
-        carParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DATATYPE_CAR);
-        JSONObject carJsonObject = hkClient.SnapshotDataMonitor(carParam);
-        List<SnapshotDataMonitorResult> carList = getDataList(carJsonObject, SnapshotDataMonitorResult.class, "杞﹁締鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹�");
+        carParam.setPageNo(ApiConstants.PageNo);
+        carParam.setPageSize(ApiConstants.HKPageSize);
+        carParam.setDate(DateUtils.getDate());
+        carParam.setDataType(ApiConstants.HK_DataType_CAR);
+        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("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
-                    .and("dataType").is(ApiConstants.HK_DATATYPE_CAR));
+                    .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);
             //瀛樻斁鍦╩ongo涓�
-            carList.forEach(item -> item.setDataType(ApiConstants.HK_DATATYPE_CAR));
-            mongoTemplate.insert(carList);
+            carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR));
+            mongoTemplate.insertAll(carList);
         }
 
         /** 浜鸿劯鏁版嵁 */
         SnapshotDataMonitorParam faceParam = new SnapshotDataMonitorParam();
-        faceParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DATATYPE_FACE);
-        JSONObject faceJsonObject = hkClient.SnapshotDataMonitor(carParam);
-        List<SnapshotDataMonitorResult> faceList = getDataList(faceJsonObject, SnapshotDataMonitorResult.class, "浜鸿劯鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹负绌�");
+        faceParam.setPageNo(ApiConstants.PageNo);
+        faceParam.setPageSize(ApiConstants.HKPageSize);
+        faceParam.setDate(DateUtils.getDate());
+        faceParam.setDataType(ApiConstants.HK_DataType_FACE);
+        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("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
-                    .and("dataType").is(ApiConstants.HK_DATATYPE_FACE));
+                    .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);
             //瀛樻斁鍦╩ongo涓�
-            carList.forEach(item -> item.setDataType(ApiConstants.HK_DATATYPE_FACE));
-            mongoTemplate.insert(faceList);
+            faceList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE));
+            mongoTemplate.insertAll(faceList);
         }
-        //TODO:宸ュ崟
         log.info("缁撴潫鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹悓姝�");
     }
 
@@ -124,18 +157,24 @@
         log.info("寮�濮嬫墽琛岄噰闆嗚澶囧睘鎬х洃娴嬬粨鏋滄暟鎹悓姝�");
         //浜鸿劯鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�
         MonitoringDetailParam param = new MonitoringDetailParam();
-        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
-        JSONObject jsonObject = hkClient.monitorDetail(param);
-        List<MonitoringDetailResult> faceList = getDataList(jsonObject, MonitoringDetailResult.class, "閲囬泦璁惧灞炴�х洃娴嬬粨鏋滄暟鎹负绌�");
+        param.setPageNo(ApiConstants.PageNo);
+        param.setPageSize(ApiConstants.HKPageSize);
+        param.setDate(DateUtils.getDate());
+        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("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+                    .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);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insert(faceList);
+            mongoTemplate.insertAll(faceList);
         }
-        //TODO:宸ュ崟澶勭悊
         log.info("缁撴潫閲囬泦璁惧灞炴�х洃娴嬬粨鏋滄暟鎹悓姝�");
     }
 
@@ -144,18 +183,24 @@
         log.info("寮�濮嬫墽琛屽崱鍙e睘鎬х洃娴嬬粨鏋滄暟鎹悓姝�");
         //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�
         CrossDetailParam param = new CrossDetailParam();
-        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
-        JSONObject jsonObject = hkClient.crossDetail(param);
-        List<CrossDetailResult> faceList = getDataList(jsonObject, CrossDetailResult.class, "鍗″彛灞炴�х洃娴嬬粨鏋滄暟鎹负绌�");
+        param.setPageNo(ApiConstants.PageNo);
+        param.setPageSize(ApiConstants.HKPageSize);
+        param.setDate(DateUtils.getDate());
+        List<CrossDetailResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/device/crossExpDetailInfo/query", param, CrossDetailResult.class);
         if (!CollectionUtils.isEmpty(faceList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
-                    .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
             DeleteResult result = mongoTemplate.remove(query, CrossDetailResult.class);
+            faceList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(faceList);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insert(faceList);
+            mongoTemplate.insertAll(faceList);
         }
-        //TODO:宸ュ崟澶勭悊
         log.info("缁撴潫鍗″彛灞炴�х洃娴嬬粨鏋滄暟鎹悓姝�");
     }
 
@@ -164,18 +209,26 @@
         log.info("寮�濮嬫墽琛屾暟鎹畬鏁存�х洃娴嬬粨鏋滄暟鎹悓姝�");
         //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬�
         DataIntegrityMonitoringParam param = new DataIntegrityMonitoringParam();
-        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DATATYPE_CAR);
-        JSONObject jsonObject = hkClient.DataIntegrityMonitoring(param);
-        List<DataIntegrityMonitoringResult> faceList = getDataList(jsonObject, DataIntegrityMonitoringResult.class, "鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋滄暟鎹负绌�");
+        param.setPageNo(ApiConstants.PageNo);
+        param.setPageSize(ApiConstants.HKPageSize);
+        param.setDate(DateUtils.getDate());
+        param.setDataType(ApiConstants.HK_DataType_CAR);
+        List<DataIntegrityMonitoringResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/attributeIntegrity/query", param, DataIntegrityMonitoringResult.class);
+
         if (!CollectionUtils.isEmpty(faceList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
-                    .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
             DeleteResult result = mongoTemplate.remove(query, DataIntegrityMonitoringResult.class);
+            faceList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(faceList);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insert(faceList);
+            mongoTemplate.insertAll(faceList);
         }
-        //TODO:宸ュ崟澶勭悊
         log.info("缁撴潫鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋滄暟鎹悓姝�");
     }
 
@@ -184,18 +237,26 @@
         log.info("寮�濮嬫墽琛屽睘鎬ц瘑鍒噯纭洃娴嬬粨鏋滄暟鎹悓姝�");
         //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁鍑嗙‘鎬�
         AttrRecognitionParam param = new AttrRecognitionParam();
-        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DATATYPE_CAR);
-        JSONObject jsonObject = hkClient.AttrRecognitionMonitor(param);
-        List<AttrRecognitionMonitorResult> faceList = getDataList(jsonObject, AttrRecognitionMonitorResult.class, "灞炴�ц瘑鍒噯纭洃娴嬬粨鏋滄暟鎹负绌�");
+        param.setPageNo(ApiConstants.PageNo);
+        param.setPageSize(ApiConstants.HKPageSize);
+        param.setDate(DateUtils.getDate());
+        param.setDataType(ApiConstants.HK_DataType_CAR);
+        List<AttrRecognitionMonitorResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/attributeRecognition/query", param, AttrRecognitionMonitorResult.class);
+
         if (!CollectionUtils.isEmpty(faceList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
-                    .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
             DeleteResult result = mongoTemplate.remove(query, AttrRecognitionMonitorResult.class);
+            faceList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(faceList);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insert(faceList);
+            mongoTemplate.insertAll(faceList);
         }
-        //TODO:宸ュ崟澶勭悊
         log.info("缁撴潫灞炴�ц瘑鍒噯纭洃娴嬬粨鏋滄暟鎹悓姝�");
 
     }
@@ -206,116 +267,146 @@
         //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬�
         /** 杞﹁締鏁版嵁 */
         SnapshotDelayMonitorParam carParam = new SnapshotDelayMonitorParam();
-        carParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DATATYPE_CAR);
-        JSONObject carJsonObject = hkClient.SnapshotDelayMonitor(carParam);
-        List<SnapshotDelayMonitorResult> carList = getDataList(carJsonObject, SnapshotDelayMonitorResult.class, "杞﹁締鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹�");
+        carParam.setPageNo(ApiConstants.PageNo);
+        carParam.setPageSize(ApiConstants.HKPageSize);
+        carParam.setDate(DateUtils.getDate());
+        carParam.setDataType(ApiConstants.HK_DataType_CAR);
+        List<SnapshotDelayMonitorResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/snapAgingDetail/query", carParam, SnapshotDelayMonitorResult.class);
+
         if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
-                    .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
-                    .and("dataType").is(ApiConstants.HK_DATATYPE_CAR));
-            DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class);
+                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
+                    .and("dataType").is(ApiConstants.HK_DataType_CAR));
+            DeleteResult result = mongoTemplate.remove(query, SnapshotDelayMonitorResult.class);
             //瀛樻斁鍦╩ongo涓�
-            carList.forEach(item -> item.setDataType(ApiConstants.HK_DATATYPE_CAR));
-            mongoTemplate.insert(carList);
+            carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR));
+            carList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(carList);
+            mongoTemplate.insertAll(carList);
         }
 
         /** 浜鸿劯鏁版嵁 */
         SnapshotDelayMonitorParam faceParam = new SnapshotDelayMonitorParam();
-        faceParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DATATYPE_FACE);
-        JSONObject faceJsonObject = hkClient.SnapshotDelayMonitor(faceParam);
-        List<SnapshotDelayMonitorParam> faceList = getDataList(faceJsonObject, SnapshotDelayMonitorParam.class, "浜鸿劯鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹负绌�");
+        faceParam.setPageNo(ApiConstants.PageNo);
+        faceParam.setPageSize(ApiConstants.HKPageSize);
+        faceParam.setDate(DateUtils.getDate());
+        faceParam.setDataType(ApiConstants.HK_DataType_FACE);
+        List<SnapshotDelayMonitorResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/snapAgingDetail/query", faceParam, SnapshotDelayMonitorResult.class);
+
         if (!CollectionUtils.isEmpty(faceList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
-                    .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
-                    .and("dataType").is(ApiConstants.HK_DATATYPE_FACE));
-            DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class);
+                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
+                    .and("dataType").is(ApiConstants.HK_DataType_FACE));
+            DeleteResult result = mongoTemplate.remove(query, SnapshotDelayMonitorResult.class);
             //瀛樻斁鍦╩ongo涓�
-            carList.forEach(item -> item.setDataType(ApiConstants.HK_DATATYPE_FACE));
-            mongoTemplate.insert(faceList);
+            faceList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE));
+            mongoTemplate.insertAll(faceList);
         }
-        //TODO:宸ュ崟
         log.info("缁撴潫鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
     //鍥剧墖璁块棶鐩戞祴缁撴灉
-    public void PicAccessTask() {
+    public void picAccessTask() {
         log.info("寮�濮嬫墽琛屽浘鐗囪闂洃娴嬬粨鏋滄暟鎹悓姝�");
         //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜囥�佽溅杈嗗崱鍙h澶噓rl鍙敤鎬�
         PicAccessParam param = new PicAccessParam();
-        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DATATYPE_CAR);
-        JSONObject jsonObject = hkClient.PicAccessMonitor(param);
-        List<PicAccessResult> faceList = getDataList(jsonObject, PicAccessResult.class, "鍥剧墖璁块棶鐩戞祴缁撴灉鏁版嵁涓虹┖");
+        param.setPageNo(ApiConstants.PageNo);
+        param.setPageSize(ApiConstants.HKPageSize);
+        param.setDate(DateUtils.getDate());
+        param.setDataType(ApiConstants.HK_DataType_CAR);
+        List<PicAccessResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/picAccessDetail/query", param, PicAccessResult.class);
+
         if (!CollectionUtils.isEmpty(faceList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
-                    .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
             DeleteResult result = mongoTemplate.remove(query, PicAccessResult.class);
+            faceList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(faceList);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insert(faceList);
+            mongoTemplate.insertAll(faceList);
         }
-        //TODO:宸ュ崟澶勭悊
         log.info("缁撴潫鍥剧墖璁块棶鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
-    //浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
-    public void Face() {
-        log.info("寮�濮嬫墽琛屼汉鑴歌澶囨娊妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
-        //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜囥�佽溅杈嗗崱鍙h澶噓rl鍙敤鎬�
-        FaceDeviceSamplingParam param = new FaceDeviceSamplingParam();
-        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
-        JSONObject jsonObject = hkClient.FaceDeviceSampling(param);
-        List<FaceDeviceSamplingResult> faceList = getDataList(jsonObject, FaceDeviceSamplingResult.class, "浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖");
-        if (!CollectionUtils.isEmpty(faceList)) {
-            //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
-            Query query = new Query(Criteria
-                    .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
-            DeleteResult result = mongoTemplate.remove(query, PicAccessResult.class);
-            //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insert(faceList);
-        }
-        //TODO:宸ュ崟澶勭悊
-        log.info("缁撴潫浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
-    }
-
     //杞﹁締璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
-    public void FaceDeviceSamplingTask() {
+    public void vehicleDeviceSamplingTask() {
         log.info("寮�濮嬫墽琛岃溅杈嗚澶囨娊妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
         //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜囥�佽溅杈嗗崱鍙h澶噓rl鍙敤鎬�
-        FaceDeviceSamplingParam param = new FaceDeviceSamplingParam();
-        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate());
-        JSONObject jsonObject = hkClient.FaceDeviceSampling(param);
-        List<FaceDeviceSamplingResult> faceList = getDataList(jsonObject, FaceDeviceSamplingResult.class, "浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖");
+        VehicleDeviceSamplingParam param = new VehicleDeviceSamplingParam();
+        param.setPageNo(ApiConstants.PageNo);
+        param.setPageSize(ApiConstants.HKPageSize);
+        param.setDate(DateUtils.getDate());
+        param.setDataType(ApiConstants.HK_DataType_CAR);
+        List<VehicleDeviceSamplingResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v2/data/vehSampleAmount/query", param, VehicleDeviceSamplingResult.class);
+
         if (!CollectionUtils.isEmpty(faceList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
-                    .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
-            DeleteResult result = mongoTemplate.remove(query, PicAccessResult.class);
+                    .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+            DeleteResult result = mongoTemplate.remove(query, VehicleDeviceSamplingResult.class);
+            faceList.stream().forEach(item -> {
+                if (Objects.nonNull(item.getExternalIndexCode())) {
+                    item.setNo(item.getExternalIndexCode());
+                }
+            });
+            pointService.setDeviceTagByGB(faceList);
             //瀛樻斁鍦╩ongo涓�
-            mongoTemplate.insert(faceList);
+            mongoTemplate.insertAll(faceList);
         }
-        //TODO:宸ュ崟澶勭悊
+        log.info("缁撴潫杞﹁締璁惧鎶芥鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
+    }
+
+
+    //浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
+    public void faceDeviceSamplingTask() {
+        log.info("寮�濮嬫墽琛屼汉鑴歌澶囨娊妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
+        FaceDeviceSamplingParam param = new FaceDeviceSamplingParam();
+        param.setPageNo(ApiConstants.PageNo);
+        param.setPageSize(ApiConstants.HKPageSize);
+        param.setDate(DateUtils.getDate());
+        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);
+            //瀛樻斁鍦╩ongo涓�
+            mongoTemplate.insertAll(faceList);
+        }
         log.info("缁撴潫浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
     //瑙f瀽鏁版嵁
-    private <T> List<T> getDataList(JSONObject faceJsonObject, Class<T> resultClass, String message) {
-        if (faceJsonObject != null && ApiConstants.successCode.equals(faceJsonObject.getString("code"))) {
-            JSONObject data = faceJsonObject.getJSONObject("data");
+    private <T> List<T> getDataList(JSONObject jsonObject, Class<T> resultClass, String message) {
+        if (jsonObject != null && ApiConstants.HKSuccessCode.equals(jsonObject.getString("code"))) {
+            log.info("鏁版嵁鏍煎紡"+jsonObject);
+            JSONObject data = jsonObject.getJSONObject("data");
             if (data == null) {
-                log.error(message, faceJsonObject);
+                log.error(message, jsonObject);
                 return null;
             }
             List<T> list = data.getList("list", resultClass);
             if (CollectionUtils.isEmpty(list)) {
                 log.error(message, data);
                 return null;
-            }
-            for (T t : list) {
-                if (t instanceof BaseResult) {
-                    ((BaseResult) t).setCreateTime(new Date());
-                }
             }
             return list;
         } else {

--
Gitblit v1.8.0