From f962534ae431779f3e341365af2e30fdd0afeb0f Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期日, 13 十月 2024 16:20:13 +0800
Subject: [PATCH] 点位在线率恢复为取优云和海康数据

---
 ycl-server/src/main/java/com/ycl/task/FaceTask.java                    |   12 ++++--
 ycl-server/src/main/java/com/ycl/calculate/CarOnlineCalculation.java   |    9 ++--
 ycl-server/src/main/java/com/ycl/task/CarTask.java                     |   14 ++++--
 ycl-server/src/main/java/com/ycl/task/VideoTask.java                   |   11 +++--
 ycl-server/src/main/java/com/ycl/task/UYTask.java                      |    7 ++-
 ycl-server/src/main/java/com/ycl/calculate/FaceOnlineCalculation.java  |   10 +++--
 ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java  |    4 +-
 ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java |    8 ++--
 8 files changed, 45 insertions(+), 30 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/calculate/CarOnlineCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/CarOnlineCalculation.java
index 79091ef..79640bf 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/CarOnlineCalculation.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/CarOnlineCalculation.java
@@ -33,7 +33,7 @@
  */
 @Component
 @Slf4j
-public class CarOnlineCalculation extends IndexCalculationServe<TMonitorResult, CarOnlineCalculation.AreaStats> implements CalculationStrategy<TMonitorResult> {
+public class CarOnlineCalculation extends IndexCalculationServe<SnapshotDataMonitorResult, CarOnlineCalculation.AreaStats> implements CalculationStrategy<SnapshotDataMonitorResult> {
     @Autowired
     private CheckIndexCarMapper checkIndexCarMapper;
     @Autowired
@@ -46,7 +46,7 @@
     }
 
     @Override
-    public void calculate(List<TMonitorResult> list) {
+    public void calculate(List<SnapshotDataMonitorResult> list) {
         //鑾峰彇鍒嗗尯鍩熺殑鎸囨爣鏁伴噺
         Map<String, CarOnlineCalculation.AreaStats> areaStatsMap = getAreaStatsMap(list,Boolean.FALSE);
         if (areaStatsMap == null) return;
@@ -70,12 +70,11 @@
      * 绱鎬荤偣浣嶆暟銆佺绾挎暟銆佹�绘姄鎷嶉噺
      */
     @Override
-    public void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key, TMonitorResult result) {
+    public void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key, SnapshotDataMonitorResult result) {
         //杩斿洖瀵硅薄鐨勫紩鐢紝濡傛灉涓嶅瓨鍦ㄤ細鏀惧叆鏂扮殑key,value
         AreaStats stats = areaStatsMap.computeIfAbsent(key, k -> new AreaStats());
         stats.totalSites++;
-
-        if (result.getOnline()!=null && result.getOnline()) {
+        if (ApiConstants.HK_SnapCount_ResultType_Null != result.getResultType()) {
             stats.onlineSites++;
         }
     }
diff --git a/ycl-server/src/main/java/com/ycl/calculate/FaceOnlineCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/FaceOnlineCalculation.java
index ea52148..00cdcb0 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/FaceOnlineCalculation.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/FaceOnlineCalculation.java
@@ -2,12 +2,14 @@
 
 import com.ycl.platform.domain.entity.CheckIndexCar;
 import com.ycl.platform.domain.entity.CheckIndexFace;
+import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult;
 import com.ycl.platform.domain.result.SYS.TMonitorResult;
 import com.ycl.platform.mapper.CheckIndexCarMapper;
 import com.ycl.platform.mapper.CheckIndexFaceMapper;
 import com.ycl.platform.service.ICheckIndexCarService;
 import com.ycl.platform.service.ICheckIndexFaceService;
 import com.ycl.utils.DateUtils;
+import constant.ApiConstants;
 import constant.CheckThreadConstants;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,7 +29,7 @@
  */
 @Component
 @Slf4j
-public class FaceOnlineCalculation extends IndexCalculationServe<TMonitorResult, FaceOnlineCalculation.AreaStats> implements CalculationStrategy<TMonitorResult> {
+public class FaceOnlineCalculation extends IndexCalculationServe<SnapshotDataMonitorResult, FaceOnlineCalculation.AreaStats> implements CalculationStrategy<SnapshotDataMonitorResult> {
     @Autowired
     private CheckIndexFaceMapper checkIndexFaceMapper;
     @Autowired
@@ -40,7 +42,7 @@
     }
 
     @Override
-    public void calculate(List<TMonitorResult> list) {
+    public void calculate(List<SnapshotDataMonitorResult> list) {
         //鑾峰彇鍒嗗尯鍩熺殑鎸囨爣鏁伴噺
         Map<String, FaceOnlineCalculation.AreaStats> areaStatsMap = getAreaStatsMap(list,Boolean.FALSE);
         if (areaStatsMap == null) return;
@@ -64,12 +66,12 @@
      * 绱鎬荤偣浣嶆暟銆佺绾挎暟銆佹�绘姄鎷嶉噺
      */
     @Override
-    public void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key, TMonitorResult result) {
+    public void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key,  SnapshotDataMonitorResult result) {
         //杩斿洖瀵硅薄鐨勫紩鐢紝濡傛灉涓嶅瓨鍦ㄤ細鏀惧叆鏂扮殑key,value
         AreaStats stats = areaStatsMap.computeIfAbsent(key, k -> new AreaStats());
         stats.totalSites++;
 
-        if (result.getOnline()!=null && result.getOnline()) {
+        if (ApiConstants.HK_SnapCount_ResultType_Null != result.getResultType()) {
             stats.onlineSites++;
         }
     }
diff --git a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
index 0c4b8a5..03d5fc0 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
@@ -43,12 +43,12 @@
             String deptId = monitor.getDeptId().toString();
             updateAreaStats(areaStatsMap, deptId, result);
 
-            // 澶勭悊鐪佸巺鏁版嵁
+            // 澶勭悊鐪佸巺鑰冩牳鏁版嵁
             if (result.getProvinceTag() != null && result.getProvinceTag()) {
                 String provinceKey = ApiConstants.Province + deptId;
                 updateAreaStats(areaStatsMap, provinceKey, result);
             }
-            // 澶勭悊鍏畨閮ㄦ暟鎹�
+            // 澶勭悊鍏畨閮ㄨ�冩牳鏁版嵁
             if (needDept) {
                 if (result.getDeptTag() != null && result.getDeptTag()) {
                     String deptKey = ApiConstants.Dept + deptId;
diff --git a/ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java
index a515e41..2892129 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java
@@ -28,7 +28,7 @@
  */
 @Component
 @Slf4j
-public class VideoOnlineCalculation extends IndexCalculationServe<TMonitorResult, VideoOnlineCalculation.AreaStats> implements CalculationStrategy<TMonitorResult> {
+public class VideoOnlineCalculation extends IndexCalculationServe<VideoOnlineResult, VideoOnlineCalculation.AreaStats> implements CalculationStrategy<VideoOnlineResult> {
     @Autowired
     private CheckIndexVideoMapper checkIndexVideoMapper;
     @Autowired
@@ -49,7 +49,7 @@
     }
 
     @Override
-    public void calculate(List<TMonitorResult> list) {
+    public void calculate(List<VideoOnlineResult> list) {
         //鑾峰彇鍒嗗尯鍩熺殑鎸囨爣鏁伴噺
         Map<String, VideoOnlineCalculation.AreaStats> areaStatsMap = getAreaStatsMap(list,Boolean.TRUE);
         if (areaStatsMap == null) return;
@@ -73,7 +73,7 @@
      * 绱鎬荤偣浣嶆暟銆佸湪绾跨偣浣嶆暟銆侀噸鐐圭偣浣嶆暟銆侀噸鐐圭偣浣嶅湪绾挎暟銆佹寚鎸ュ浘鍍忔暟銆佹寚鎸ュ浘鍍忓湪绾挎暟
      */
     @Override
-    public void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key, TMonitorResult result) {
+    public void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key, VideoOnlineResult result) {
         //杩斿洖瀵硅薄鐨勫紩鐢紝濡傛灉涓嶅瓨鍦ㄤ細鏀惧叆鏂扮殑key,value
         AreaStats stats = areaStatsMap.computeIfAbsent(key, k -> new AreaStats());
         stats.totalSites++;
@@ -88,7 +88,7 @@
         if(result.getDeptTag()!=null && result.getDeptTag()){
             stats.deptSites++;
         }
-        if (result.getOnline()!=null && result.getOnline()){
+        if (ApiConstants.UY_OnlineSite_Online.equals(result.getStatus())){
             stats.onlineSites++;
             if(result.getImportantTag()!=null && result.getImportantTag()){
                 stats.importantOnlineSites++;
diff --git a/ycl-server/src/main/java/com/ycl/task/CarTask.java b/ycl-server/src/main/java/com/ycl/task/CarTask.java
index b91432e..bc6dac8 100644
--- a/ycl-server/src/main/java/com/ycl/task/CarTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/CarTask.java
@@ -44,11 +44,15 @@
     private YwPointMapper pointMapper;
     public void siteOnlineTask() {
         log.info("寮�濮嬭绠楃偣浣嶅湪绾跨巼");
-        VideoExportForm form = new VideoExportForm();
-        form.setCameraFunType(Integer.valueOf(CheckConstants.Rule_Category_Car+""));
-        List<TMonitorResult> tMonitorResults = monitorMapper.selectMonitorResult(form);
-        CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_SiteOnline);
-        calculator.calculate(tMonitorResults);
+        Date yesterday = DateUtils.addDays(new Date(), -1);
+        //璁$畻鐐逛綅鍦ㄧ嚎鐜囧拰瑙嗗浘搴撳鎺ョǔ瀹氭��
+        Query query = new Query();
+        query.addCriteria(Criteria
+                .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))
+                .and("dataType").is(ApiConstants.HK_DataType_CAR));
+        List<SnapshotDataMonitorResult> results = mongoTemplate.find(query, SnapshotDataMonitorResult.class);
+        CalculationStrategy<SnapshotDataMonitorResult> calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_SiteOnline);
+        calculator.calculate(results);
         log.info("缁撴潫璁$畻瑙嗗浘搴撳鎺ョǔ瀹氭��");
     }
 
diff --git a/ycl-server/src/main/java/com/ycl/task/FaceTask.java b/ycl-server/src/main/java/com/ycl/task/FaceTask.java
index aaca386..2cf1baf 100644
--- a/ycl-server/src/main/java/com/ycl/task/FaceTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/FaceTask.java
@@ -40,11 +40,15 @@
 
     public void siteOnlineTask() {
         log.info("寮�濮嬭绠楃偣浣嶅湪绾跨巼");
-        VideoExportForm form = new VideoExportForm();
-        form.setCameraFunType(Integer.valueOf(CheckConstants.Rule_Category_Face+""));
-        List<TMonitorResult> tMonitorResults = monitorMapper.selectMonitorResult(form);
+        Date yesterday = DateUtils.addDays(new Date(), -1);
+        //鐐逛綅鍦ㄧ嚎鐜囧拰瑙嗗浘搴撳鎺ョǔ瀹氭��
+        Query query = new Query();
+        query.addCriteria(Criteria
+                .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))
+                .and("dataType").is(ApiConstants.HK_DataType_FACE));
+        List<SnapshotDataMonitorResult> results = mongoTemplate.find(query, SnapshotDataMonitorResult.class);
         CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Face_SiteOnline);
-        calculator.calculate(tMonitorResults);
+        calculator.calculate(results);
         log.info("缁撴潫璁$畻瑙嗗浘搴撳鎺ョǔ瀹氭��");
     }
     public void viewConnectTask() {
diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java
index a97d502..a196083 100644
--- a/ycl-server/src/main/java/com/ycl/task/UYTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -174,7 +174,7 @@
     /**
      * 鐐逛綅鍦ㄧ嚎妫�娴�
      */
-    //TODO锛氳棰戠绾挎鏁般�佺洃娴嬫鏁�
+    //TODO锛氳棰戠绾挎鏁般�佺洃娴嬫鏁帮紙淇敼閫昏緫鍙拡瀵瑰伐鍗曪紝妫�娴嬪湪绾跨殑锛�
     public void pointOnline() throws ExecutionException, InterruptedException {
         log.info("寮�濮嬫娴嬬偣浣嶅湪绾�");
         Integer times = 2;
@@ -279,7 +279,7 @@
         log.info("鐐逛綅鍦ㄧ嚎鐩戞祴瀹屾垚");
     }
 
-    //锛堝純鐢級鐐逛綅鍦ㄧ嚎鐜�
+    //鐐逛綅鍦ㄧ嚎鐜囷紙浼樹簯锛�
     public void videoOnlineTask() {
         //瑙嗛鍥惧儚璐ㄩ噺
         log.info("寮�濮嬫墽琛岀偣浣嶅湪绾挎暟鎹悓姝�");
@@ -301,6 +301,8 @@
                         Query query = new Query(Criteria
                                 .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
                         DeleteResult result = mongoTemplate.remove(query, VideoOnlineResult.class);
+                        //鎵撴爣绛�
+                        pointService.setDeviceTagByGB(records);
                         //瀛樻斁鍦╩ongo涓�
                         mongoTemplate.insertAll(records);
                         // 宸ュ崟鐢熸垚
@@ -349,6 +351,7 @@
                             item.setNo(item.getDeviceId());
                         }
                     });
+                    //鎵撴爣绛�
                     pointService.setDeviceTagByGB(records);
                     //瀛樻斁鍦╩ongo涓�
                     mongoTemplate.insertAll(records);
diff --git a/ycl-server/src/main/java/com/ycl/task/VideoTask.java b/ycl-server/src/main/java/com/ycl/task/VideoTask.java
index cd921d7..a2596a9 100644
--- a/ycl-server/src/main/java/com/ycl/task/VideoTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/VideoTask.java
@@ -58,11 +58,14 @@
 
     public void siteOnlineTask() {
         log.info("寮�濮嬭绠楃偣浣嶅湪绾跨巼");
-        VideoExportForm form = new VideoExportForm();
-        form.setCameraFunType(Integer.valueOf(CheckConstants.Rule_Category_Video+""));
-        List<TMonitorResult> tMonitorResults = monitorMapper.selectMonitorResult(form);
+        Date yesterday = DateUtils.addDays(new Date(), -1);
+        //璁$畻鐐逛綅鍦ㄧ嚎鐜囧拰閲嶇偣鐐逛綅鍦ㄧ嚎鐜囧拰鎸囨尌鍥惧儚鍦ㄧ嚎鐜�
+        Query query = new Query();
+        query.addCriteria(Criteria
+                .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
+        List<VideoOnlineResult> results = mongoTemplate.find(query, VideoOnlineResult.class);
         CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Video_SiteOnline);
-        calculator.calculate(tMonitorResults);
+        calculator.calculate(results);
         log.info("缁撴潫璁$畻鐐逛綅鍦ㄧ嚎鐜�");
     }
 

--
Gitblit v1.8.0