From 3b0516a2959e25576e4f3fda697a3b025d06c8c9 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 24 六月 2025 14:09:07 +0800
Subject: [PATCH] 每日录像可用指标添加日志,修改大屏为查看当前月平均

---
 ycl-server/src/main/java/com/ycl/task/VideoTask.java |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

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 e227f74..8e780cb 100644
--- a/ycl-server/src/main/java/com/ycl/task/VideoTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/VideoTask.java
@@ -6,6 +6,7 @@
 import com.ycl.platform.domain.entity.CheckIndexVideo;
 import com.ycl.platform.domain.entity.ImageResourceSecurity;
 import com.ycl.platform.domain.entity.ImageResourceSecurityDetail;
+import com.ycl.platform.domain.form.VideoExportForm;
 import com.ycl.platform.domain.result.SYS.TMonitorResult;
 import com.ycl.platform.domain.result.UY.*;
 import com.ycl.platform.domain.vo.PlatformOnlineVO;
@@ -19,6 +20,7 @@
 import constant.CheckConstants;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.data.mongodb.core.query.Criteria;
@@ -32,6 +34,7 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 瑙嗛璁$畻鑰冩牳鎸囨爣浠诲姟
@@ -54,15 +57,27 @@
     private final ImageResourceSecurityMapper imageResourceSecurityMapper;
 
     private static final BigDecimal NUM = new BigDecimal("0.15");
-    //TODO锛氬姞浠诲姟
+
     public void siteOnlineTask() {
         log.info("寮�濮嬭绠楃偣浣嶅湪绾跨巼");
-        List<TMonitorResult> tMonitorResults = monitorMapper.selectMonitorResult(CheckConstants.Rule_Category_Video);
+        Date yesterday = DateUtils.addDays(new Date(), -1);
+        //璁$畻鐐逛綅鍦ㄧ嚎鐜囧拰閲嶇偣鐐逛綅鍦ㄧ嚎鐜囧拰鎸囨尌鍥惧儚鍦ㄧ嚎鐜�
+        Query query = new Query();
+        log.error("鏌ヨmongodb鏃ユ湡鏁版嵁涓簕}" , yesterday);
+        query.addCriteria(Criteria
+                .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));//<&== 鏄ㄥぉ鐨勫紑濮嬫椂闂� < 缁撴潫鏃堕棿
+        List<VideoOnlineResult> results = mongoTemplate.find(query, VideoOnlineResult.class);//
+        //浼樹簯涓婃湁杞﹁締鍜屼汉鑴哥殑璁惧鏁版嵁锛岄渶瑕佽繃婊ゅ嚭瑙嗛璁惧
+        List<String> videoIds = monitorMapper.getVideoIds();
+        if(!CollectionUtils.isEmpty(results)){
+            results = results.stream().filter(result -> videoIds.contains(result.getNo())).collect(Collectors.toList());
+        }
         CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Video_SiteOnline);
-        calculator.calculate(tMonitorResults);
+        calculator.calculate(results);
         log.info("缁撴潫璁$畻鐐逛綅鍦ㄧ嚎鐜�");
     }
 
+    //鍦�15鍙锋墽琛屾寚鏍囷紝鏌ヨmongodb鍒涘缓鏃堕棿鍦�14鍙� 锛屽畾鏃朵换鍔″簲璇ュ湪15鍙锋墽琛� 鑾峰緱鐨刴ongodb鏁版嵁鍦�14鍙锋墠姝g‘
     public void videoUsabilityTask() {
         log.info("寮�濮嬭绠楀綍鍍忓彲鐢ㄧ巼鍜岄噸鐐瑰綍鍍忓彲鐢ㄧ巼");
         Date yesterday = DateUtils.addDays(new Date(), -1);
@@ -72,6 +87,11 @@
                 .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
 
         List<RecordMetaDSumResult> results = mongoTemplate.find(query, RecordMetaDSumResult.class);
+        //浼樹簯涓婃湁杞﹁締鍜屼汉鑴哥殑璁惧鏁版嵁锛岄渶瑕佽繃婊ゅ嚭瑙嗛璁惧
+        List<String> videoIds = monitorMapper.getVideoIds();
+        if(!CollectionUtils.isEmpty(results)){
+            results = results.stream().filter(result -> videoIds.contains(result.getNo())).collect(Collectors.toList());
+        }
         CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Video_Usability);
         calculator.calculate(results);
         log.info("缁撴潫璁$畻褰曞儚鍙敤鐜囧拰閲嶇偣褰曞儚鍙敤鐜�");
@@ -120,6 +140,7 @@
         query.addCriteria(Criteria
                 .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
         List<OsdCheckResult> results = mongoTemplate.find(query, OsdCheckResult.class);
+
         CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Video_OsdTime);
         calculator.calculate(results);
         log.info("缁撴潫璁$畻Osd鏍囨敞銆佹椂闂村噯纭巼");
@@ -162,7 +183,7 @@
             imageResourceSecurities.add(imageResourceSecurity);
             //鑾峰彇鏈�杩戜竴娆℃暟鎹墜鍔ㄦ墦鍒�
             ImageResourceSecurity latest = imageResourceSecurityMapper.getLatest(checkIndexVideo.getDeptId(),new Date());
-            imageResourceSecurity.setBoundaryIntegrity(latest.getBoundaryIntegrity());
+            imageResourceSecurity.setBoundaryIntegrity(latest ==null?BigDecimal.ONE:latest.getBoundaryIntegrity());
             // 鏇存柊鎸囨爣鏁版嵁
             checkIndexVideo.setImageResourceSecurity(
                     imageResourceSecurity.getPlatformOnline()

--
Gitblit v1.8.0