From 0d243e7f5dc593cdc6e0608bb52cd635f8fc6982 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 19 九月 2025 11:59:44 +0800
Subject: [PATCH] 新需求
---
ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
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..9a8ed07 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java
@@ -7,6 +7,7 @@
import com.ycl.platform.mapper.TMonitorMapper;
import com.ycl.platform.service.ICheckIndexVideoService;
import constant.ApiConstants;
+import constant.CheckConstants;
import constant.CheckThreadConstants;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +19,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.stream.Collectors;
/**
* 璁$畻瑙嗛璁惧鐐逛綅鍦ㄧ嚎鐜囥�侀噸鐐圭偣浣嶅湪绾跨巼銆侀噸鐐规寚鎸ュ浘鍍忓湪绾跨巼銆侀儴绾х偣浣嶅湪绾跨巼
@@ -28,7 +30,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 +51,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;
@@ -65,7 +67,16 @@
}
}
});
-
+ //閲嶇偣鎸囨尌鍥惧儚鐗规畩澶勭悊锛岀粺涓�閲囩敤鍖哄幙鏁版嵁
+ Map<Long, BigDecimal> keyCommandMap = checkIndexVideos.stream().filter(checkIndexVideo -> CheckConstants.Examine_Tag_County.equals(checkIndexVideo.getExamineTag()))
+ .collect(Collectors.toMap(checkIndexVideo -> checkIndexVideo.getDeptId(), checkIndexVideo -> checkIndexVideo.getKeyCommandImageOnline()));
+ for (CheckIndexVideo checkIndexVideo : checkIndexVideos) {
+ //鏇挎崲鐪佸巺鍜岄儴绾� 閲嶇偣鎸囨尌鍥惧儚
+ if(CheckConstants.Examine_Tag_Province.equals(checkIndexVideo.getExamineTag()) || CheckConstants.Examine_Tag_Dept.equals(checkIndexVideo.getExamineTag())){
+ BigDecimal keyCommand = keyCommandMap.get(checkIndexVideo.getDeptId());
+ checkIndexVideo.setKeyCommandImageOnline(keyCommand);
+ }
+ }
checkIndexVideoService.saveOrUpdateBatch(checkIndexVideos);
}
@@ -73,7 +84,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 +99,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++;
@@ -117,7 +128,7 @@
BigDecimal siteOnline = siteOnline(param);
checkIndexVideo.setSiteOnline(siteOnline);
//鍖哄幙涓嶅皯浜�100璺�
- if(stats.totalSites < CheckThreadConstants.Check_Video_SiteOnline){
+ if(!key.startsWith(ApiConstants.Dept) && stats.totalSites < CheckThreadConstants.Check_Video_SiteOnline){
checkIndexVideo.setSiteOnline(BigDecimal.ZERO);
}
//璋冪敤鐐逛綅鍦ㄧ嚎鐜囪绠楁柟娉� 璁$畻閲嶇偣鐐逛綅鍦ㄧ嚎鐜�
@@ -132,7 +143,7 @@
}
//鍖哄幙瑙嗛閲嶇偣鐐逛綅鏁颁笉灏戜簬10璺�
- if(stats.importantSites<CheckThreadConstants.Check_Video_ImportantSite){
+ if(!key.startsWith(ApiConstants.Dept) && stats.importantSites < CheckThreadConstants.Check_Video_ImportantSite){
checkIndexVideo.setKeySiteOnline(BigDecimal.ZERO);
}
--
Gitblit v1.8.0