From d3e6b7687905d820427d65565d099cff3808b13e Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 29 七月 2024 10:13:19 +0800
Subject: [PATCH] 点位在线接口TODO

---
 ycl-server/src/main/java/com/ycl/task/HKTask.java |  147 ++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 114 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 32b9c59..ac2f64e 100644
--- a/ycl-server/src/main/java/com/ycl/task/HKTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -3,12 +3,19 @@
 import com.alibaba.fastjson2.JSONObject;
 import com.ycl.platform.domain.entity.YwThreshold;
 import com.ycl.platform.domain.param.HK.FaceDeviceInspectionParam;
+import com.ycl.platform.domain.param.HK.SnapshotDataMonitorParam;
 import com.ycl.platform.domain.param.HK.VehicleDeviceInspectionParam;
+import com.ycl.platform.domain.result.HK.BaseResult;
 import com.ycl.platform.domain.result.HK.FaceDeviceInspectionResult;
+import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult;
 import com.ycl.platform.domain.result.HK.VehicleDeviceInspectionResult;
 import com.ycl.platform.mapper.YwThresholdMapper;
+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.web.HKClient;
+import constant.ApiConstants;
 import enumeration.BusinessType;
 import enumeration.general.BusinessTypeEnum;
 import lombok.extern.slf4j.Slf4j;
@@ -32,70 +39,144 @@
     private HKClient hkClient;
     @Autowired
     private IYwThresholdService ywThresholdService;
-
-    private final static Integer pageNo = 1;
-    private final static Integer pageSize = 5000;
-    //鎴愬姛鐘舵�佺爜
-    private final static String successCode = "0";
+    @Autowired
+    private ICheckIndexFaceService checkIndexFaceService;
+    @Autowired
+    private ICheckIndexCarService checkIndexCarService;
+    @Autowired
+    private ICheckIndexVideoService checkIndexVideoService;
 
     //杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
     public void VehicleDeviceInspectionTask() {
         log.info("寮�濮嬫墽琛岃溅杈嗚澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
         VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam();
-        param.setPageNO(pageNo).setPageSize(pageSize).setDate(getToday());
+        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday());
         JSONObject jsonObject = hkClient.VehicleDeviceInspection(param);
-        if (jsonObject != null && successCode.equals(jsonObject.getString("code"))) {
-            JSONObject data = jsonObject.getJSONObject("data");
-            if (data == null) {
-                throw new RuntimeException("杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖");
-            }
-            List<VehicleDeviceInspectionResult> list = data.getList("list", VehicleDeviceInspectionResult.class);
-            list.forEach(item ->item.setCreateTime(new Date()));
-            if (CollectionUtils.isEmpty(list)) {
-                throw new RuntimeException("杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖");
-            }
+        List<VehicleDeviceInspectionResult> list = getDataList(jsonObject, VehicleDeviceInspectionResult.class, "杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖");
+        if (!CollectionUtils.isEmpty(list)) {
             //瀛樻斁鍦╩ongo涓�
             mongoTemplate.insert(list);
             //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞�
             ywThresholdService.carCheck(list);
-
-        } else {
-            log.error("鍚屾杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉澶辫触", jsonObject);
         }
         log.info("缁撴潫杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
-
+    //浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
     public void FaceDeviceInspectionTask() {
         log.info("寮�濮嬫墽琛屼汉鑴歌澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
         FaceDeviceInspectionParam param = new FaceDeviceInspectionParam();
-        param.setPageNO(pageNo).setPageSize(pageSize).setDate(getToday());
+        param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday());
         JSONObject jsonObject = hkClient.FaceDeviceInspection(param);
-        if (jsonObject != null && successCode.equals(jsonObject.getString("code"))) {
-            JSONObject data = jsonObject.getJSONObject("data");
-            if (data == null) {
-                throw new RuntimeException("浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖");
-            }
-            List<FaceDeviceInspectionResult> list = data.getList("list", FaceDeviceInspectionResult.class);
-            list.forEach(item ->item.setCreateTime(new Date()));
-            if (CollectionUtils.isEmpty(list)) {
-                throw new RuntimeException("浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖");
-            }
+        List<FaceDeviceInspectionResult> list = getDataList(jsonObject, FaceDeviceInspectionResult.class, "浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖");
+        if (!CollectionUtils.isEmpty(list)) {
             //瀛樻斁鍦╩ongo涓�
             mongoTemplate.insert(list);
             //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞�
             ywThresholdService.faceCheck(list);
-        } else {
-            log.error("鍚屾浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉澶辫触", jsonObject);
         }
         log.info("缁撴潫浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
 
+    //鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋�
+    public void SnapshotDataMonitorTask() {
+        log.info("寮�濮嬫墽琛屾姄鎷嶆暟鎹噺妫�娴嬬粨鏋滄暟鎹悓姝�");
+        /** 杞﹁締鏁版嵁 */
+        SnapshotDataMonitorParam carParam = new SnapshotDataMonitorParam();
+        carParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()).setDataType(ApiConstants.HK_DATATYPE_CAR);
+        JSONObject carJsonObject = hkClient.SnapshotDataMonitor(carParam);
+        List<SnapshotDataMonitorResult> carList = getDataList(carJsonObject, SnapshotDataMonitorResult.class, "杞﹁締鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹�");
+        if (!CollectionUtils.isEmpty(carList)) {
+            //瀛樻斁鍦╩ongo涓�
+            mongoTemplate.insert(carList);
+            //TODO:杞﹁締鐐逛綅鍦ㄧ嚎鐜�
+            checkIndexCarService.siteOnline(carList);
+        }
+
+        /** 浜鸿劯鏁版嵁 */
+        SnapshotDataMonitorParam faceParam = new SnapshotDataMonitorParam();
+        faceParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()).setDataType(ApiConstants.HK_DATATYPE_FACE);
+        JSONObject faceJsonObject = hkClient.SnapshotDataMonitor(carParam);
+        List list = getDataList(faceJsonObject, SnapshotDataMonitorResult.class, "浜鸿劯鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹负绌�");
+        if (!CollectionUtils.isEmpty(list)) {
+            //瀛樻斁鍦╩ongo涓�
+            mongoTemplate.insert(list);
+            //TODO:浜鸿劯鐐逛綅鍦ㄧ嚎鐜�
+            checkIndexFaceService.siteOnline(list);
+        }
+
+        log.info("缁撴潫鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹悓姝�");
+    }
+
+
+    //涓�鏈轰竴妗�
+    public void task2() {
+        //鑱旂綉鍗″彛璁惧鐩綍涓�鑷寸巼
+    }
+
+    //鍗″彛灞炴�х洃娴嬬粨鏋�
+    public void task3() {
+        //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�
+    }
+
+    //鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋�
+    public void task4() {
+        //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬�
+    }
+
+    //灞炴�ц瘑鍒噯纭洃娴嬬粨鏋�
+    public void task5() {
+        //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬�
+    }
+
+    //杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
+    public void task6() {
+        //杞﹁締鍗″彛璁惧鏃堕挓鍑嗙‘鎬�
+    }
+
+    //鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉
+    public void task7() {
+        //杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬�
+    }
+
+    //鍥剧墖璁块棶鐩戞祴缁撴灉
+    public void task8() {
+        //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�
+
+        //杞﹁締鍗″彛璁惧url鍙敤鎬�
+    }
+
+    //鑾峰彇褰撳墠鏃ユ湡
     private String getToday() {
         Date date = new Date();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         String today = sdf.format(date);
         return today;
     }
+
+    //瑙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");
+            if (data == null) {
+                log.error(message, faceJsonObject);
+                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 {
+            log.error(message);
+        }
+        return null;
+    }
 }

--
Gitblit v1.8.0