From 1f11310ba04770a4efe4657d39872590575828f1 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 10 四月 2025 17:17:24 +0800
Subject: [PATCH] 设备未知状态,新增,导出页新增统计一个月的离线数,与在线率

---
 ycl-server/src/main/java/com/ycl/task/VideoTask.java |   19 ++++++++++++++++---
 1 files changed, 16 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..615ddfa 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;
 
 /**
  * 瑙嗛璁$畻鑰冩牳鎸囨爣浠诲姟
@@ -62,8 +64,13 @@
         //璁$畻鐐逛綅鍦ㄧ嚎鐜囧拰閲嶇偣鐐逛綅鍦ㄧ嚎鐜囧拰鎸囨尌鍥惧儚鍦ㄧ嚎鐜�
         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);
+                .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("缁撴潫璁$畻鐐逛綅鍦ㄧ嚎鐜�");
@@ -78,6 +85,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 +138,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 +181,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