From 7d5ea3631d163343b652bd6bd40b94b34c4194eb Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 10 九月 2024 17:32:05 +0800
Subject: [PATCH] 点位在线率调整

---
 ycl-server/src/main/java/com/ycl/task/FaceTask.java |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

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 d51deb6..0aad46f 100644
--- a/ycl-server/src/main/java/com/ycl/task/FaceTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/FaceTask.java
@@ -4,6 +4,8 @@
 import com.ycl.calculate.CalculationStrategy;
 import com.ycl.factory.IndexCalculationFactory;
 import com.ycl.platform.domain.result.HK.*;
+import com.ycl.platform.domain.result.SYS.TMonitorResult;
+import com.ycl.platform.domain.result.UY.MonitorQualifyResult;
 import com.ycl.platform.domain.vo.TMonitorVO;
 import com.ycl.platform.mapper.TMonitorMapper;
 import com.ycl.utils.DateUtils;
@@ -20,6 +22,7 @@
 
 import java.util.Date;
 import java.util.List;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -34,16 +37,25 @@
     @Autowired
     private TMonitorMapper monitorMapper;
 
+    //TODO锛氬姞浠诲姟
     public void siteOnlineTask() {
-        log.info("寮�濮嬭绠椾汉鑴哥偣浣嶅湪绾跨巼鍜岃鍥惧簱瀵规帴绋冲畾鎬�");
+        log.info("寮�濮嬭绠楃偣浣嶅湪绾跨巼");
+        List<TMonitorResult> tMonitorResults = monitorMapper.selectMonitorResult(CheckConstants.Rule_Category_Face);
+        CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Face_SiteOnline);
+        calculator.calculate(tMonitorResults);
+        log.info("缁撴潫璁$畻瑙嗗浘搴撳鎺ョǔ瀹氭��");
+    }
+    //TODO锛氭敼鍚嶅瓧
+    public void viewConnectTask() {
+        log.info("寮�濮嬭绠楄鍥惧簱瀵规帴绋冲畾鎬�");
         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_ViewStability);
+        CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Face_ViewStability);
         calculator.calculate(results);
         log.info("缁撴潫璁$畻浜鸿劯鐐逛綅鍦ㄧ嚎鐜囧拰瑙嗗浘搴撳鎺ョǔ瀹氭��");
     }
@@ -108,10 +120,16 @@
     public void directConsistentTask() {
         log.info("寮�濮嬭绠椾汉鑴哥洰褰曚竴鑷寸巼");
         //浜鸿劯鐩綍涓�鑷寸巼
-        List<TMonitorVO> tMonitorVOS = monitorMapper.selectMonitorVOList();
-        List<TMonitorVO> list = tMonitorVOS.stream().filter(tMonitorVO ->!StringUtils.isEmpty(tMonitorVO.getCameraFunType()) && tMonitorVO.getCameraFunType().contains(CheckConstants.Rule_Category_Face + "")).collect(Collectors.toList());
+        Date yesterday = DateUtils.addDays(new Date(), -1);
+        Query query = new Query();
+        query.addCriteria(Criteria
+                .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
+        // 1/2/3 瑙嗛/杞﹁締/浜鸿劯
+        Pattern pattern = Pattern.compile(".*3.*");
+        query.addCriteria(Criteria.where("sxjgnlx.value").regex(pattern));
+        List<MonitorQualifyResult> results = mongoTemplate.find(query, MonitorQualifyResult.class);
         CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Face_DirectConsistent);
-        calculator.calculate(list);
+        calculator.calculate(results);
         log.info("缁撴潫璁$畻浜鸿劯鐩綍涓�鑷寸巼");
     }
 }

--
Gitblit v1.8.0