From 7c23177f6a10c43479e0fb77ac53664ba0c0f9f3 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 06 二月 2025 14:41:38 +0800 Subject: [PATCH] 节前发版代码 --- ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java | 27 +++++++++++++++++++-------- 1 files changed, 19 insertions(+), 8 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 1b97d31..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,9 +51,9 @@ } @Override - public void calculate(List<TMonitorResult> list) { + public void calculate(List<VideoOnlineResult> list) { //鑾峰彇鍒嗗尯鍩熺殑鎸囨爣鏁伴噺 - Map<String, VideoOnlineCalculation.AreaStats> areaStatsMap = getAreaStatsMap(list); + Map<String, VideoOnlineCalculation.AreaStats> areaStatsMap = getAreaStatsMap(list,Boolean.TRUE); if (areaStatsMap == null) return; // 鏌ヨ鏄惁index琛ㄥ凡缁忓瓨鍦ㄤ粖鏃ユ暟鎹� @@ -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