From c83101eb62f5d4906b9c01ceea6b21a37f9e84d8 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 18 十一月 2025 09:24:53 +0800
Subject: [PATCH] bug修复

---
 ycl-server/src/main/java/com/ycl/task/HKTask.java |   72 +++++++++++++++++++----------------
 1 files changed, 39 insertions(+), 33 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 26a12ba..f43b1e2 100644
--- a/ycl-server/src/main/java/com/ycl/task/HKTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -9,13 +9,11 @@
 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.domain.result.UY.MonitorQualifyResult;
 import com.ycl.platform.domain.result.UY.VideoOnlineResult;
 import com.ycl.platform.domain.vo.UpdateOnlineVO;
 import com.ycl.platform.mapper.CheckIndexCarMapper;
 import com.ycl.platform.mapper.CheckIndexFaceMapper;
 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;
@@ -78,12 +76,8 @@
     private ICheckIndexFaceService faceService;
     @Autowired
     private CheckIndexFaceMapper faceMapper;
-    @Autowired
-    private StringHttpMessageConverter stringHttpMessageConverter;
-    @Autowired
-    private LoadBalancerRequestFactory loadBalancerRequestFactory;
 
-    //杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
+    //杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉 杞﹁締锛堣溅杈嗗崱鍙h澶囨椂閽熷噯纭�с�侊級
     public void vehicleDeviceInspectionTask() {
         log.info("寮�濮嬫墽琛岃溅杈嗚澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
         VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam();
@@ -113,7 +107,7 @@
         log.info("缁撴潫杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
-    //浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
+    //浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉 浜鸿劯锛堣澶囨姄鎷嶅浘鐗囨椂閽熷噯纭�э級
     public void faceDeviceInspectionTask() {
         log.info("寮�濮嬫墽琛屼汉鑴歌澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
         FaceDeviceInspectionParam param = new FaceDeviceInspectionParam();
@@ -142,7 +136,7 @@
     }
 
 
-    // 鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋�
+    // 鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋� 杞﹁締浜鸿劯锛堣鍥惧簱瀵规帴绋冲畾鎬с�佺偣浣嶅湪绾跨巼锛�
     public void snapshotDataMonitorTask() {
         log.info("寮�濮嬫墽琛屾姄鎷嶆暟鎹噺妫�娴嬬粨鏋滄暟鎹悓姝�");
         /** 杞﹁締鏁版嵁 */
@@ -176,7 +170,9 @@
         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);
+        log.info("鎵撳嵃浜鸿劯锛堣鍥惧簱瀵规帴绋冲畾鎬с�佺偣浣嶅湪绾跨巼锛塇K鎺ュ彛鑾峰緱浠诲姟淇℃伅:{}",faceList);
         if (!CollectionUtils.isEmpty(faceList)) {
+
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
                     .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
@@ -190,6 +186,7 @@
             pointService.setDeviceTagByGB(faceList, CheckConstants.Rule_Category_Face);
             //瀛樻斁鍦╩ongo涓�
             faceList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE));
+            log.info("鎵撳嵃浜鸿劯锛堣鍥惧簱瀵规帴绋冲畾鎬с�佺偣浣嶅湪绾跨巼锛夎缃畉ag骞舵彃鍏ongodb鏁版嵁:{}",faceList);
             mongoTemplate.insertAll(faceList);
         }
         //淇敼online鐘舵��
@@ -223,6 +220,7 @@
                         willUpdateList.add(vo);
                     }
                 });
+                log.info("淇敼璁惧灏嗚鏇存柊鍏ql涓暟鎹細{}",willUpdateList);
                 if(!CollectionUtils.isEmpty(willUpdateList)) monitorMapper.updateOnlineFromHk(willUpdateList);
 //            List<UpdateOnlineVO> willUpdateList = totalResult.stream().map(item -> {
 //                UpdateOnlineVO vo = new UpdateOnlineVO();
@@ -246,7 +244,7 @@
         log.info("缁撴潫鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹悓姝�");
     }
 
-    //閲囬泦璁惧灞炴�х洃娴嬬粨鏋�(浜鸿劯)
+    //閲囬泦璁惧灞炴�х洃娴嬬粨鏋�(浜鸿劯) 浜鸿劯锛堜汉鑴稿崱鍙d俊鎭噰闆嗗噯纭巼锛�
     public void monitorDetailTask() {
         log.info("寮�濮嬫墽琛岄噰闆嗚澶囧睘鎬х洃娴嬬粨鏋滄暟鎹悓姝�");
         //浜鸿劯鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�
@@ -272,7 +270,7 @@
         log.info("缁撴潫閲囬泦璁惧灞炴�х洃娴嬬粨鏋滄暟鎹悓姝�");
     }
 
-    //鍗″彛灞炴�х洃娴嬬粨鏋�
+    //鍗″彛灞炴�х洃娴嬬粨鏋� 杞﹁締锛堣溅杈嗗崱鍙d俊鎭噰闆嗗噯纭巼銆侊級
     public void crossDetailTask() {
         log.info("寮�濮嬫墽琛屽崱鍙e睘鎬х洃娴嬬粨鏋滄暟鎹悓姝�");
         //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�
@@ -298,7 +296,7 @@
         log.info("缁撴潫鍗″彛灞炴�х洃娴嬬粨鏋滄暟鎹悓姝�");
     }
 
-    //鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋�
+    //鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋� 杞﹂噺锛堣溅杈嗗崱鍙h澶囨姄鎷嶆暟鎹畬鏁存�с�侊級
     public void dataIntegrityMonitoringTask() {
         log.info("寮�濮嬫墽琛屾暟鎹畬鏁存�х洃娴嬬粨鏋滄暟鎹悓姝�");
         //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬�
@@ -326,7 +324,7 @@
         log.info("缁撴潫鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋滄暟鎹悓姝�");
     }
 
-    //灞炴�ц瘑鍒噯纭洃娴嬬粨鏋�
+    //灞炴�ц瘑鍒噯纭洃娴嬬粨鏋� 杞﹁締锛堣溅杈嗗崱鍙h澶囨姄鎷嶆暟鎹噯纭�с�侊級
     public void attrRecognitionMonitorTask() {
         log.info("寮�濮嬫墽琛屽睘鎬ц瘑鍒噯纭洃娴嬬粨鏋滄暟鎹悓姝�");
         //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁鍑嗙‘鎬�
@@ -355,7 +353,7 @@
 
     }
 
-    //鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉
+    //鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉鍖呭惈 杞﹁締浜鸿劯锛堟姄鎷嶆暟鎹笂浼犲強鏃舵�э級
     public void snapshopDelayMonitorTask() {
         log.info("寮�濮嬫墽琛屾姄鎷嶆暟鎹椂寤剁洃娴嬬粨鏋滄暟鎹悓姝�");
         //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬�
@@ -411,7 +409,7 @@
         log.info("缁撴潫鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
-    //鍥剧墖璁块棶鐩戞祴缁撴灉
+    //鍥剧墖璁块棶鐩戞祴缁撴灉 杞﹁締锛堣溅杈嗗崱鍙d俊鎭噰闆嗗噯纭巼銆佽溅杈嗗崱鍙h澶噓rl鍙敤鎬э級
     public void picAccessTask() {
         log.info("寮�濮嬫墽琛屽浘鐗囪闂洃娴嬬粨鏋滄暟鎹悓姝�");
         //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜囥�佽溅杈嗗崱鍙h澶噓rl鍙敤鎬�
@@ -439,7 +437,7 @@
         log.info("缁撴潫鍥剧墖璁块棶鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
-    //杞﹁締璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
+    //杞﹁締璁惧鎶芥鎸囨爣鐩戞祴缁撴灉 杞﹁締锛堣溅杈嗗崱鍙d俊鎭噰闆嗗噯纭巼銆佽溅杈嗗崱鍙h澶噓rl鍙敤鎬э級
     public void vehicleDeviceSamplingTask() {
         log.info("寮�濮嬫墽琛岃溅杈嗚澶囨娊妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
         //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜囥�佽溅杈嗗崱鍙h澶噓rl鍙敤鎬�
@@ -468,7 +466,7 @@
     }
 
 
-    //浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
+    //浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉 浜鸿劯锛堟姄鎷嶆暟鎹ぇ鍥惧彲鐢ㄦ��,淇℃伅閲囬泦姝g‘鐜囷級
     public void faceDeviceSamplingTask() {
         log.info("寮�濮嬫墽琛屼汉鑴歌澶囨娊妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
         FaceDeviceSamplingParam param = new FaceDeviceSamplingParam();
@@ -598,20 +596,23 @@
         JSONObject labelJson = hkClient.getGetLabel();
         Integer faceLabelId = null;
         Integer carLabelId = null;
+        Integer allLabelId = null;
         if (labelJson != null) {
             String code = labelJson.getString("code");
             if (ApiConstants.HKSuccessCode.equals(code)){
                 //鑾峰緱label鑰冩牳鏍囩瀵硅薄
+                log.error("labelJson鐨刣ata:{}",labelJson.get("data"));
                 List<HKResultLabel> hkResultLabels = labelJson.getList("data",HKResultLabel.class);
                 for (HKResultLabel label : hkResultLabels) {
                     if ("鐪佸巺浜鸿劯".equals(label.getLabelName())){
                         faceLabelId = label.getId();
                     }else if ("鐪佸巺杞﹁締".equals(label.getLabelName())){
                         carLabelId = label.getId();
+                    }else if ("鍏ㄩ噺".equals(label.getLabelName())){
+                        allLabelId = label.getId();
                     }
                 }
                 log.error("鎵撳嵃hkResultLabels锛歿}",hkResultLabels);
-
             }
         }
         if (faceLabelId == null || carLabelId == null){
@@ -638,6 +639,10 @@
 //        param.setLabelId();
 
         //------------榛樿鍙傛暟涓簄ull璇锋眰鍏ㄩ噺鏁版嵁
+        if (allLabelId == null){
+            allLabelId = -1;
+        }
+        param.setLabelId(allLabelId);
         JSONObject scoreJson = hkClient.getScoreNew(param);
         log.error("鍏ㄩ噺鏁版嵁");
         if (scoreJson != null) {
@@ -653,7 +658,6 @@
                     //浠ユ壒娆d涓簁ey 鏀惧叆 JSONObject瀵硅薄
                     map.put(Integer.valueOf(batchIdKey),batch);
                     //鎵规id 涓� 鍚勫尯淇℃伅闆嗗悎
-                    log.error("鎵撳嵃鍑篸ata鍐呭涓壒娆d锛歿}锛屼互鍙婂搴旂殑缁撴灉info:{}",batchIdKey,batch);
                 }
                 //鑾峰緱鏈�澶х殑閿��
                 Optional<Integer> maxKey = map.keySet().stream()
@@ -664,6 +668,7 @@
                     //杩欎竴灞備负鑾峰緱 data -> 涓� 鎵规鏁扮粍涓� -> 鍖哄煙code鏁扮粍鐨刱ey
                     for (String areaCodeKey : map.get(id).keySet()) {
                         //瀛樻斁鏈�鏂版壒娆$殑鍐呭鍒癮llInfo闆嗗悎涓�
+                        log.error("鎵撳嵃鍖轰俊鎭�:{}",map.get(id).get(areaCodeKey));
                         allInfo.addAll(map.get(id).getList(areaCodeKey,HkResultInfo.class));
                     }
                 }
@@ -671,8 +676,8 @@
                 Map<String, List<HkResultInfo>> groupedByAreaName = allInfo.stream()
                         .collect(Collectors.groupingBy(HkResultInfo::getAreaCode));
                 for (Map.Entry<String, List<HkResultInfo>> entry : groupedByAreaName.entrySet()) {
-                    log.error("鏈�鏂版壒娆″唴鏁版嵁:{}",groupedByAreaName.get(entry.getKey()).size());
-                    log.error("鏈�鏂版壒娆″唴size:{}",groupedByAreaName.get(entry.getKey()));
+                    log.error("鏈�鏂版壒娆″唴size:{}",groupedByAreaName.get(entry.getKey()).size());
+                    log.error("鏈�鏂版壒娆″唴鏁版嵁:{}",groupedByAreaName.get(entry.getKey()));
                     CheckIndexCar car = new CheckIndexCar();
                     CheckIndexFace face = new CheckIndexFace();
                     score3Index(groupedByAreaName.get(entry.getKey()), car, face,entry.getKey());
@@ -693,7 +698,6 @@
                     cars.add(car);
                     faces.add(face);
                 }
-                //璇锋眰鐪佸巺鏁版嵁
             }else {
                 log.error("璋冪敤娴峰悍鍏ㄩ噺鏁版嵁api澶辫触");
             }
@@ -703,14 +707,15 @@
         List<HkResultInfo> provincialList = new ArrayList<>();
         //鑾峰彇鐪佸巺浜鸿劯鏁版嵁
         if (faceLabelId != null){
+            ScoreParam faceParam = new ScoreParam();
             log.error("faceLabelId:{}",faceLabelId);
-            param.setLabelId(faceLabelId);
-            JSONObject faceJson = hkClient.getScoreNew(param);
+            faceParam.setLabelId(faceLabelId);
+            JSONObject faceJson = hkClient.getScoreNew(faceParam);
             log.error("鐪佸巺浜鸿劯鏁版嵁");
             if (faceJson != null) {
-                String code = scoreJson.getString("code");
+                String code = faceJson.getString("code");
                 if (ApiConstants.HKSuccessCode.equals(code)){
-                    JSONObject data = scoreJson.getJSONObject("data");
+                    JSONObject data = faceJson.getJSONObject("data");
 
                     Map<Integer,JSONObject> map = new HashMap<>();
                     //鑾峰緱data 涓� batchId 鐨勬壒娆d瀵硅薄 鏀惧叆map涓�
@@ -721,7 +726,7 @@
                         //鎵规id 涓� 鍚勫尯淇℃伅闆嗗悎
                         log.error("鎵撳嵃鍑虹渷鍘呬汉鑴竏ata鍐呭涓壒娆d锛歿}锛屼互鍙婂搴旂殑缁撴灉info:{}",batchIdKey,batch);
                     }
-                    //鑾峰緱鏈�澶х殑閿��
+                //鑾峰緱鏈�澶х殑閿��
                     Optional<Integer> maxKey = map.keySet().stream()
                             .max(Integer::compareTo);
                     if (maxKey.isPresent()) {
@@ -744,14 +749,15 @@
         }
         //鑾峰彇鐪佸巺杞﹁締鏁版嵁v.
         if (carLabelId != null){
+            ScoreParam carParam = new ScoreParam();
             log.error("carLabelId:{}",carLabelId);
-            param.setLabelId(carLabelId);
-            JSONObject carJson = hkClient.getScoreNew(param);
+            carParam.setLabelId(carLabelId);
+            JSONObject carJson = hkClient.getScoreNew(carParam);
             log.error("鐪佸巺杞﹁締鏁版嵁");
             if (carJson != null) {
-                String code = scoreJson.getString("code");
+                String code = carJson.getString("code");
                 if (ApiConstants.HKSuccessCode.equals(code)){
-                    JSONObject data = scoreJson.getJSONObject("data");
+                    JSONObject data = carJson.getJSONObject("data");
 
                     Map<Integer,JSONObject> map = new HashMap<>();
                     //鑾峰緱data 涓� batchId 鐨勬壒娆d瀵硅薄 鏀惧叆map涓�
@@ -785,8 +791,6 @@
         Map<String,List<HkResultInfo>> provincialGroupedByAreaName = provincialList.stream()
                 .collect(Collectors.groupingBy(HkResultInfo::getAreaCode));
         for (Map.Entry<String, List<HkResultInfo>> entry : provincialGroupedByAreaName.entrySet()) {
-            log.error("鏈�鏂版壒娆″唴鐪佸巺鏁版嵁:{}",provincialGroupedByAreaName.get(entry.getKey()).size());
-            log.error("鏈�鏂版壒娆″唴鐪佸巺size:{}",provincialGroupedByAreaName.get(entry.getKey()));
             CheckIndexCar car = new CheckIndexCar();
             CheckIndexFace face = new CheckIndexFace();
             score3Index(provincialGroupedByAreaName.get(entry.getKey()), car, face,entry.getKey());
@@ -906,6 +910,8 @@
         face.setFaceInformationCollectionAccuracy(new BigDecimal("1"));
         //TODO:娌℃壘鍒拌�冩牳椤� 璁惧鐩綍涓�鑷寸巼
         face.setDeviceDirectoryConsistent(new BigDecimal("1"));
+
+
         //TODO:娌℃壘鍒拌�冩牳椤� 杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�
         car.setVehicleInformationCollectionAccuracy(new BigDecimal("1"));
         //TODO:娌℃壘鍒拌�冩牳椤� 鑱旂綉鍗″彛璁惧鐩綍涓�鑷寸巼

--
Gitblit v1.8.0