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 |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 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 a2596a9..8e780cb 100644
--- a/ycl-server/src/main/java/com/ycl/task/VideoTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/VideoTask.java
@@ -20,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;
@@ -33,6 +34,7 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 瑙嗛璁$畻鑰冩牳鎸囨爣浠诲姟
@@ -61,14 +63,21 @@
         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);
+                .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(results);
         log.info("缁撴潫璁$畻鐐逛綅鍦ㄧ嚎鐜�");
     }
 
+    //鍦�15鍙锋墽琛屾寚鏍囷紝鏌ヨmongodb鍒涘缓鏃堕棿鍦�14鍙� 锛屽畾鏃朵换鍔″簲璇ュ湪15鍙锋墽琛� 鑾峰緱鐨刴ongodb鏁版嵁鍦�14鍙锋墠姝g‘
     public void videoUsabilityTask() {
         log.info("寮�濮嬭绠楀綍鍍忓彲鐢ㄧ巼鍜岄噸鐐瑰綍鍍忓彲鐢ㄧ巼");
         Date yesterday = DateUtils.addDays(new Date(), -1);
@@ -78,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("缁撴潫璁$畻褰曞儚鍙敤鐜囧拰閲嶇偣褰曞儚鍙敤鐜�");
@@ -126,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鏍囨敞銆佹椂闂村噯纭巼");
@@ -168,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