From 9e0d36344ed128099284e3936a0b124fb734e981 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期一, 19 八月 2024 17:58:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-common/src/main/java/constant/CheckThreadConstants.java | 19 ++++ ycl-server/src/main/java/com/ycl/calculate/MonitorRegistrationCalculation.java | 24 +++-- ycl-server/src/main/java/com/ycl/task/CarTask.java | 2 ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/FaceDeviceSamplingResult.java | 3 ycl-server/src/main/java/com/ycl/calculate/FaceDeviceSampleCalculation.java | 14 ++- ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml | 2 ycl-common/src/main/java/constant/ApiConstants.java | 6 - ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java | 10 +- ycl-server/src/main/java/com/ycl/task/FaceTask.java | 35 +++++++- ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDelayCalculation.java | 2 ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDataCalculation.java | 55 ++++++++++--- ycl-server/src/main/java/com/ycl/calculate/FaceConsistentCalculation.java | 4 ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java | 11 ++ 13 files changed, 139 insertions(+), 48 deletions(-) diff --git a/ycl-common/src/main/java/constant/ApiConstants.java b/ycl-common/src/main/java/constant/ApiConstants.java index 420f200..436c6ae 100644 --- a/ycl-common/src/main/java/constant/ApiConstants.java +++ b/ycl-common/src/main/java/constant/ApiConstants.java @@ -72,9 +72,5 @@ - /** 鑰冩牳鎸囨爣 鏉′欢鍙傛暟 */ - //杞﹁締鑰冩牳锛岀偣浣嶅湪绾跨巼锛屽尯鍘夸笉灏戜簬40璺� - public final static Integer Check_Car_SiteOnline = 40; - //杞﹁締鍦ㄧ嚎鐜� Redis 姣忔湀鏁版嵁涓柇娆℃暟 Hash key - public final static String Check_Car_ViewConnect = "ViewConnectNoData"; + } diff --git a/ycl-common/src/main/java/constant/CheckThreadConstants.java b/ycl-common/src/main/java/constant/CheckThreadConstants.java new file mode 100644 index 0000000..2f4335e --- /dev/null +++ b/ycl-common/src/main/java/constant/CheckThreadConstants.java @@ -0,0 +1,19 @@ +package constant; + +/** + * 鑰冩牳鎸囨爣璁$畻闃堝�� + */ +public class CheckThreadConstants { + //瑙嗛妗f鑰冩牳姣斾笉浣庝簬90% + public final static String Check_Video_Archive ="0.9"; + //瑙嗛鐐逛綅鍦ㄧ嚎鐜囷紝鍖哄幙涓嶅皯浜�100璺� + public final static Integer Check_Video_SiteOnline =100; + public final static Integer Check_Video_ImportantSite =10; + + //杞﹁締銆佷汉鑴歌�冩牳锛岀偣浣嶅湪绾跨巼锛屽尯鍘夸笉灏戜簬40璺� + public final static Integer Check_Car_SiteOnline = 40; + public final static Integer Check_Face_SiteOnline = 40; + //杞﹁締銆佷汉鑴稿湪绾跨巼 Redis 姣忔湀鏁版嵁涓柇娆℃暟 Hash key + public final static String Check_Car_ViewConnect = "CarViewConnectNoData"; + public final static String Check_Face_ViewConnect = "FaceViewConnectNoData"; +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/FaceDeviceSamplingResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/FaceDeviceSamplingResult.java index 655f5a4..1281e23 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/FaceDeviceSamplingResult.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/FaceDeviceSamplingResult.java @@ -60,7 +60,8 @@ /** * 浜鸿劯鍚堟牸鎬х浉鍏虫暟鎹� */ - private FaceEligibility faceElig; + //TODO:鍙傛暟鍚嶄慨鏀圭湅鎺ュ彛鏄惁鏈夊弬鏁� + private FaceEligibility faceEligibility; // 鍐呭祵瀵硅薄瀹氫箟 diff --git a/ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java index e447cec..716de5e 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/CarSnapshopDataCalculation.java @@ -10,6 +10,7 @@ import com.ycl.utils.DateUtils; import constant.ApiConstants; import constant.CheckSnapCountConstants; +import constant.CheckThreadConstants; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; @@ -73,7 +74,7 @@ // 鍒ゆ柇浠婂ぉ鏄惁鏄湰鏈堢殑绗竴澶� if (today.equals(firstDayOfMonth)) { // 濡傛灉鏄紝鍒欐竻闄edis涓褰曚腑鏂鏁扮殑鏁版嵁 - redisTemplate.delete(ApiConstants.Check_Car_ViewConnect); + redisTemplate.delete(CheckThreadConstants.Check_Car_ViewConnect); } for (SnapshotDataMonitorResult result : list) { TMonitorVO monitor = monitorMap.get(result.getExternalIndexCode()); @@ -111,7 +112,6 @@ /** * 绱鎬荤偣浣嶆暟銆佺绾挎暟銆佹�绘姄鎷嶉噺 */ - //TODO:鏃犳暟鎹鐞� private void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key, SnapshotDataMonitorResult result) { //杩斿洖瀵硅薄鐨勫紩鐢紝濡傛灉涓嶅瓨鍦ㄤ細鏀惧叆鏂扮殑key,value AreaStats stats = areaStatsMap.computeIfAbsent(key, k -> new AreaStats()); @@ -145,7 +145,7 @@ } //璋冪敤鐐逛綅鍦ㄧ嚎璁$畻鏂规硶 - if (stats.totalSites >= ApiConstants.Check_Car_SiteOnline) { + if (stats.totalSites >= CheckThreadConstants.Check_Car_SiteOnline) { Map<String, Object> siteOnlineParam = new HashMap<>(); siteOnlineParam.put("totalSites", stats.totalSites); siteOnlineParam.put("onlineSites", stats.onlineSites); @@ -156,7 +156,7 @@ } //瑙嗗浘搴撳鎺ョǔ瀹氭�� //Redis璁板綍璇ュ尯鍘垮綋鏈堟棤鏁版嵁涓婁紶娆℃暟 - Integer noDateCount = (Integer) redisTemplate.opsForHash().get(ApiConstants.Check_Car_ViewConnect, key); + Integer noDateCount = (Integer) redisTemplate.opsForHash().get(CheckThreadConstants.Check_Car_ViewConnect, key); // 濡傛灉鍊间负null锛屽垯鍒濆鍖栦负0 if (noDateCount == null) { noDateCount = 0; @@ -174,7 +174,7 @@ noDateCount++; } // 灏嗘柊鐨勫�兼斁鍥濰ash涓� - redisTemplate.opsForHash().put(ApiConstants.Check_Car_ViewConnect, key, noDateCount); + redisTemplate.opsForHash().put(CheckThreadConstants.Check_Car_ViewConnect, key, noDateCount); return checkIndexCar; } } diff --git a/ycl-server/src/main/java/com/ycl/calculate/FaceConsistentCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/FaceConsistentCalculation.java index 318c549..88e4b7e 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/FaceConsistentCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/FaceConsistentCalculation.java @@ -27,7 +27,7 @@ import java.util.stream.Collectors; /** - * 璁$畻杞﹁締鐩綍涓�鑷寸巼 + * 璁$畻浜鸿劯鐩綍涓�鑷寸巼 * 鑾峰彇鍒嗙渷鍘呫�佸尯鍩熺殑map<k,v> k涓篸eptId鎴栬�匬rovince_deptId * 鏇存柊鎴栨柊澧� */ @@ -62,7 +62,7 @@ } //鑾峰彇鐪佸巺鍥芥爣鐮侀泦鍚� List<String> provinceIds = getProvince(); - //鏈敞鍐岃溅杈嗚澶� + //鏈敞鍐屼汉鑴歌澶� Map<String,TMonitor> newMonitorMap = new HashMap<>(); //Mongo涓�鏈轰竴妗e悓姝ysql鏃舵斁鍏edis 绛涢�夊嚭杞﹁締妗f String json = (String) redisTemplate.opsForValue().get(RedisConstant.New_Monitor_Set); diff --git a/ycl-server/src/main/java/com/ycl/calculate/FaceDeviceSampleCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/FaceDeviceSampleCalculation.java index 4acd0cd..d598f12 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/FaceDeviceSampleCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/FaceDeviceSampleCalculation.java @@ -93,15 +93,19 @@ //杩斿洖瀵硅薄鐨勫紩鐢紝濡傛灉涓嶅瓨鍦ㄤ細鏀惧叆鏂扮殑key,value AreaStats stats = areaStatsMap.computeIfAbsent(key, k -> new AreaStats()); FaceDeviceSamplingResult.BigUsefulness bigUseful = result.getBigUseful(); - FaceDeviceSamplingResult.FaceEligibility faceElig = result.getFaceElig(); + FaceDeviceSamplingResult.FaceEligibility faceElig = result.getFaceEligibility(); stats.totalSites++; //90%鍙婁互涓婃暟鎹悎鏍煎垯姝や汉鑴歌澶囪瑙嗕负鍥剧墖鍚堟牸 - if (faceElig.getFaceEligPercent() >= 0.9) { - stats.picQualifySites++; + if (faceElig != null) { + if (faceElig.getFaceEligPercent() >= 0.9) { + stats.picQualifySites++; + } } //澶у浘鍙敤鐜囧ぇ浜�90%瑙嗕负鍚堟牸 - if (bigUseful.getBigUsefulPercent() >= 0.9) { - stats.picUsabilitySites++; + if (bigUseful != null) { + if (bigUseful.getBigUsefulPercent() >= 0.9) { + stats.picUsabilitySites++; + } } } diff --git a/ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDataCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDataCalculation.java index 321c50d..d9541ff 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDataCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDataCalculation.java @@ -14,8 +14,10 @@ import constant.ApiConstants; import constant.CheckConstants; import constant.CheckSnapCountConstants; +import constant.CheckThreadConstants; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import utils.DateUtils; @@ -23,6 +25,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDate; +import java.time.temporal.TemporalAdjusters; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -46,6 +49,8 @@ private SysConfigMapper sysConfigMapper; @Autowired private TMonitorMapper monitorMapper; + @Autowired + private RedisTemplate redisTemplate; //鍖哄煙浜鸿劯鐐逛綅鍦ㄧ嚎鎸囨爣鐨勫唴閮ㄧ被 private static class AreaStats { @@ -67,7 +72,15 @@ List<String> provinceIds = getProvince(); Map<String, AreaStats> areaStatsMap = new HashMap<>(); - + // 鑾峰彇褰撳墠鏃ユ湡 + LocalDate today = LocalDate.now(); + // 鑾峰彇鏈湀鐨勭涓�澶� + LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth()); + // 鍒ゆ柇浠婂ぉ鏄惁鏄湰鏈堢殑绗竴澶� + if (today.equals(firstDayOfMonth)) { + // 濡傛灉鏄紝鍒欐竻闄edis涓褰曚腑鏂鏁扮殑鏁版嵁 + redisTemplate.delete(CheckThreadConstants.Check_Face_ViewConnect); + } for (SnapshotDataMonitorResult result : list) { TMonitorVO monitor = monitorMap.get(result.getExternalIndexCode()); if (monitor == null) continue; @@ -129,18 +142,36 @@ return null; } //璋冪敤鐐逛綅鍦ㄧ嚎璁$畻鏂规硶 - Map<String, Object> siteOnlineParam = new HashMap<>(); - siteOnlineParam.put("totalSites", stats.totalSites); - siteOnlineParam.put("onlineSites", stats.onlineSites); - BigDecimal siteOnline = siteOnline(siteOnlineParam); - checkIndexFace.setSiteOnline(siteOnline); + if (stats.totalSites >= CheckThreadConstants.Check_Face_SiteOnline) { + Map<String, Object> siteOnlineParam = new HashMap<>(); + siteOnlineParam.put("totalSites", stats.totalSites); + siteOnlineParam.put("onlineSites", stats.onlineSites); + BigDecimal siteOnline = siteOnline(siteOnlineParam); + checkIndexFace.setSiteOnline(siteOnline); + } else { + checkIndexFace.setSiteOnline(BigDecimal.ZERO); + } //瑙嗗浘搴撳鎺ョǔ瀹氭�� - BigDecimal avgCount = key.startsWith(ApiConstants.Province) ? cityCountAvg : countyCountAvg; - Map<String, Object> viewConnectParam = new HashMap<>(); - viewConnectParam.put("totalDataSum", stats.totalDataSum); - viewConnectParam.put("avgCount", avgCount); - BigDecimal viewConnectStability = viewConnectStability(viewConnectParam); - checkIndexFace.setViewConnectStability(viewConnectStability); + //Redis璁板綍璇ュ尯鍘垮綋鏈堟棤鏁版嵁涓婁紶娆℃暟 + Integer noDateCount = (Integer) redisTemplate.opsForHash().get(CheckThreadConstants.Check_Face_ViewConnect, key); + // 濡傛灉鍊间负null锛屽垯鍒濆鍖栦负0 + if (noDateCount == null) { + noDateCount = 0; + } + Double deductScore = 0.1 * noDateCount; + if (stats.totalDataSum != 0) { + BigDecimal avgCount = key.startsWith(ApiConstants.Province) ? cityCountAvg : countyCountAvg; + Map<String, Object> viewConnectParam = new HashMap<>(); + viewConnectParam.put("totalDataSum", stats.totalDataSum); + viewConnectParam.put("avgCount", avgCount); + BigDecimal viewConnectStability = viewConnectStability(viewConnectParam); + viewConnectStability = viewConnectStability.subtract(new BigDecimal(deductScore)).max(BigDecimal.ZERO).min(BigDecimal.ONE); + checkIndexFace.setViewConnectStability(viewConnectStability); + } else { + noDateCount++; + } + // 灏嗘柊鐨勫�兼斁鍥濰ash涓� + redisTemplate.opsForHash().put(CheckThreadConstants.Check_Face_ViewConnect, key, noDateCount); return checkIndexFace; } } diff --git a/ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDelayCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDelayCalculation.java index e109c2e..f40268e 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDelayCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/FaceSnapshotDelayCalculation.java @@ -120,7 +120,7 @@ param.put("delayCount2", stats.delayCount2); param.put("delayCount3", stats.delayCount3); BigDecimal index = snapshopDelay(param); - checkIndexFace.setSiteOnline(index); + checkIndexFace.setFaceUploadTimeliness(index); return checkIndexFace; } } diff --git a/ycl-server/src/main/java/com/ycl/calculate/MonitorRegistrationCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/MonitorRegistrationCalculation.java index 70b9707..5c04496 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/MonitorRegistrationCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/MonitorRegistrationCalculation.java @@ -10,6 +10,7 @@ import com.ycl.platform.mapper.TMonitorMapper; import com.ycl.platform.service.ICheckIndexVideoService; import constant.ApiConstants; +import constant.CheckThreadConstants; import constant.RedisConstant; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -59,18 +60,18 @@ } //鑾峰緱鍥芥爣鐮佷负key鐨勮澶噈ap Map<String, TMonitorVO> monitorMap = new HashMap<>(); - if(!CollectionUtils.isEmpty(list)){ + if (!CollectionUtils.isEmpty(list)) { monitorMap = list.stream().collect(Collectors.toMap(TMonitorVO::getSerialNumber, Function.identity())); } //鑾峰彇鐪佸巺鍥芥爣鐮侀泦鍚� List<String> provinceIds = getProvince(); //鏈敞鍐岃澶� - Map<String,TMonitor> newMonitorMap = new HashMap<>(); + Map<String, TMonitor> newMonitorMap = new HashMap<>(); //Mongo涓�鏈轰竴妗e悓姝ysql鏃舵斁鍏edis String json = (String) redisTemplate.opsForValue().get(RedisConstant.New_Monitor_Set); if (!StringUtils.isEmpty(json)) { List<TMonitor> newMonitors = JSONArray.parseArray(json, TMonitor.class); - if(!CollectionUtils.isEmpty(newMonitors)){ + if (!CollectionUtils.isEmpty(newMonitors)) { newMonitorMap = newMonitors.stream().collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity())); } } @@ -83,11 +84,11 @@ if (monitor == null) continue; String deptId = monitor.getDeptId().toString(); - updateAreaStats(areaStatsMap, deptId, result,newMonitorMap,todayMonitor); + updateAreaStats(areaStatsMap, deptId, result, newMonitorMap, todayMonitor); // 澶勭悊鐪佸巺鏁版嵁 if (!CollectionUtils.isEmpty(provinceIds) && provinceIds.contains(monitor.getSerialNumber())) { String provinceKey = ApiConstants.Province + deptId; - updateAreaStats(areaStatsMap, provinceKey, result,newMonitorMap,todayMonitor); + updateAreaStats(areaStatsMap, provinceKey, result, newMonitorMap, todayMonitor); } } @@ -109,15 +110,15 @@ /** * 绱鎬荤偣浣嶆暟銆佸湪绾跨偣浣嶆暟銆侀噸鐐圭偣浣嶆暟銆侀噸鐐圭偣浣嶅湪绾挎暟銆佹寚鎸ュ浘鍍忔暟銆佹寚鎸ュ浘鍍忓湪绾挎暟 */ - private void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key, TMonitorVO result,Map<String,TMonitor> newMonitors,List<String> todayMonitor) { + private void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key, TMonitorVO result, Map<String, TMonitor> newMonitors, List<String> todayMonitor) { //杩斿洖瀵硅薄鐨勫紩鐢紝濡傛灉涓嶅瓨鍦ㄤ細鏀惧叆鏂扮殑key,value AreaStats stats = areaStatsMap.computeIfAbsent(key, k -> new AreaStats()); stats.totalSites++; stats.allFiles++; - if(newMonitors.containsKey(result.getSerialNumber())){ + if (newMonitors.containsKey(result.getSerialNumber())) { stats.newSites++; } - if(todayMonitor.contains(result.getSerialNumber())){ + if (todayMonitor.contains(result.getSerialNumber())) { stats.todayFiles++; } } @@ -141,7 +142,12 @@ archiveParam.put("allFiles", stats.allFiles); archiveParam.put("todayFiles", stats.todayFiles); BigDecimal archivesRate = archivesRate(archiveParam); - checkIndexVideo.setArchivesRate(archivesRate); + //濡傛灉妗f鑰冩牳姣斾綆浜�0.9涓嶅緱鍒� + if (new BigDecimal(CheckThreadConstants.Check_Video_Archive).compareTo(archivesRate) <= 0) { + checkIndexVideo.setArchivesRate(archivesRate); + } else { + checkIndexVideo.setArchivesRate(BigDecimal.ZERO); + } return checkIndexVideo; } 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 d90b901..1fbc17b 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/VideoOnlineCalculation.java @@ -13,6 +13,7 @@ import com.ycl.platform.service.ICheckIndexVideoService; import com.ycl.platform.service.ITMonitorService; import constant.ApiConstants; +import constant.CheckThreadConstants; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -141,6 +142,10 @@ param.put("onlineSites", stats.onlineSites); BigDecimal siteOnline = siteOnline(param); checkIndexVideo.setSiteOnline(siteOnline); + //鍖哄幙涓嶅皯浜�100璺� + if(stats.totalSites < CheckThreadConstants.Check_Video_SiteOnline){ + checkIndexVideo.setSiteOnline(BigDecimal.ZERO); + } //璋冪敤鐐逛綅鍦ㄧ嚎鐜囪绠楁柟娉� 璁$畻閲嶇偣鐐逛綅鍦ㄧ嚎鐜� if(stats.importantSites!=0) { Map<String, Object> importantParam = new HashMap<>(); @@ -151,6 +156,12 @@ }else { log.info("閲嶇偣鐐逛綅鏁颁负0"); } + + //鍖哄幙瑙嗛閲嶇偣鐐逛綅鏁颁笉灏戜簬10璺� + if(stats.importantSites<CheckThreadConstants.Check_Video_ImportantSite){ + checkIndexVideo.setKeySiteOnline(BigDecimal.ZERO); + } + //璋冪敤鐐逛綅鍦ㄧ嚎鐜囪绠楁柟娉� 璁$畻鎸囨尌鍥惧儚鍦ㄧ嚎鐜� if(stats.commandSites!=0) { Map<String, Object> commandParam = new HashMap<>(); diff --git a/ycl-server/src/main/java/com/ycl/task/CarTask.java b/ycl-server/src/main/java/com/ycl/task/CarTask.java index 8e5fbaa..26b1c93 100644 --- a/ycl-server/src/main/java/com/ycl/task/CarTask.java +++ b/ycl-server/src/main/java/com/ycl/task/CarTask.java @@ -34,7 +34,7 @@ @Autowired private TMonitorMapper monitorMapper; public void siteOnlineTask() { - log.info("寮�濮嬭绠楃偣浣嶅湪绾跨巼鍜岃鍥惧簱瀵规帴绋冲畾鎬�"); + log.info("寮�濮嬭绠楄溅杈嗙偣浣嶅湪绾跨巼鍜岃鍥惧簱瀵规帴绋冲畾鎬�"); Date yesterday = DateUtils.addDays(new Date(), -1); //TODO:鏃堕棿鍐欐浜� Date date = DateUtils.getDay(2024,7,13); diff --git a/ycl-server/src/main/java/com/ycl/task/FaceTask.java b/ycl-server/src/main/java/com/ycl/task/FaceTask.java index 3d7cfc3..cf4ba45 100644 --- a/ycl-server/src/main/java/com/ycl/task/FaceTask.java +++ b/ycl-server/src/main/java/com/ycl/task/FaceTask.java @@ -7,6 +7,7 @@ import com.ycl.platform.domain.vo.TMonitorVO; import com.ycl.platform.mapper.TMonitorMapper; import com.ycl.utils.DateUtils; +import com.ycl.utils.StringUtils; import constant.ApiConstants; import constant.CalculationStrategyConstants; import constant.CheckConstants; @@ -34,63 +35,85 @@ private TMonitorMapper monitorMapper; public void siteOnlineTask() { + log.info("寮�濮嬭绠椾汉鑴哥偣浣嶅湪绾跨巼鍜岃鍥惧簱瀵规帴绋冲畾鎬�"); Date yesterday = DateUtils.addDays(new Date(), -1); + //TODO:鏃堕棿鍐欐浜� + Date date = DateUtils.getDay(2024,7,13); //鐐逛綅鍦ㄧ嚎鐜囧拰瑙嗗浘搴撳鎺ョǔ瀹氭�� Query query = new Query(); query.addCriteria(Criteria - .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)) + .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date)) .and("dataType").is(ApiConstants.HK_DataType_FACE)); List<SnapshotDataMonitorResult> results = mongoTemplate.find(query, SnapshotDataMonitorResult.class); CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Face_SiteOnline_ViewStability); calculator.calculate(results); + log.info("缁撴潫璁$畻浜鸿劯鐐逛綅鍦ㄧ嚎鐜囧拰瑙嗗浘搴撳鎺ョǔ瀹氭��"); } public void deviceSampleTask() { + log.info("寮�濮嬭绠椾汉鑴稿浘鐗囧悎鏍肩巼銆佸ぇ鍥惧彲鐢ㄦ��"); Date yesterday = DateUtils.addDays(new Date(), -1); + //TODO:鏃堕棿鍐欐浜� + Date date = DateUtils.getDay(2024,7,13); //璁$畻浜鸿劯鍥剧墖鍚堟牸鐜囥�佸ぇ鍥惧彲鐢ㄦ�� Query query = new Query(); query.addCriteria(Criteria - .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))); + .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date))); List<FaceDeviceSamplingResult> results = mongoTemplate.find(query, FaceDeviceSamplingResult.class); CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Face_DataAccuracy_PicUsability); calculator.calculate(results); + log.info("缁撴潫璁$畻浜鸿劯鍥剧墖鍚堟牸鐜囥�佸ぇ鍥惧彲鐢ㄦ��"); } public void infoAccuracyTask(){ + log.info("寮�濮嬭绠椾汉鑴稿崱鍙d俊鎭噰闆嗗噯纭巼"); Date yesterday = DateUtils.addDays(new Date(), -1); + //TODO:鏃堕棿鍐欐浜� + Date date = DateUtils.getDay(2024,7,13); //璁$畻浜鸿劯鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� Query query = new Query(); query.addCriteria(Criteria - .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))); + .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date))); List<MonitoringDetailResult> results = mongoTemplate.find(query, MonitoringDetailResult.class); CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Face_InfoAccuracy); calculator.calculate(results); + log.info("缁撴潫璁$畻浜鸿劯鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�"); } public void snapShopDelay(){ + log.info("寮�濮嬭绠椾汉鑴告姄鎷嶆暟鎹笂浼犲強鏃舵��"); Date yesterday = DateUtils.addDays(new Date(), -1); + //TODO:鏃堕棿鍐欐浜� + Date date = DateUtils.getDay(2024,7,13); //璁$畻浜鸿劯鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬� Query query = new Query(); query.addCriteria(Criteria - .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)) + .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date)) .and("dataType").is(ApiConstants.HK_DataType_FACE)); List<SnapshotDelayMonitorResult> results = mongoTemplate.find(query, SnapshotDelayMonitorResult.class); CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Face_SnapshotDelay); calculator.calculate(results); + log.info("缁撴潫璁$畻浜鸿劯鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬�"); } public void clockAccuracyTask() { + log.info("寮�濮嬭绠椾汉鑴歌澶囨椂閽熷噯纭��"); Date yesterday = DateUtils.addDays(new Date(), -1); + //TODO:鏃堕棿鍐欐浜� + Date date = DateUtils.getDay(2024,7,13); //璁$畻浜鸿劯璁惧鏃堕挓鍑嗙‘鎬� Query query = new Query(); query.addCriteria(Criteria - .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))); + .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date))); List<FaceDeviceInspectionResult> results = mongoTemplate.find(query, FaceDeviceInspectionResult.class); CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Face_ClockAccuracy); calculator.calculate(results); + log.info("缁撴潫璁$畻浜鸿劯璁惧鏃堕挓鍑嗙‘鎬�"); } public void directConsistentTask() { + log.info("寮�濮嬭绠椾汉鑴哥洰褰曚竴鑷寸巼"); //浜鸿劯鐩綍涓�鑷寸巼 List<TMonitorVO> tMonitorVOS = monitorMapper.selectMonitorVOList(); - List<TMonitorVO> list = tMonitorVOS.stream().filter(tMonitorVO -> tMonitorVO.getCameraFunType().contains(CheckConstants.Rule_Category_Face + "")).collect(Collectors.toList()); + List<TMonitorVO> list = tMonitorVOS.stream().filter(tMonitorVO ->!StringUtils.isEmpty(tMonitorVO.getCameraFunType()) && tMonitorVO.getCameraFunType().contains(CheckConstants.Rule_Category_Face + "")).collect(Collectors.toList()); CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Face_DirectConsistent); calculator.calculate(list); + log.info("缁撴潫璁$畻浜鸿劯鐩綍涓�鑷寸巼"); } } diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml index 1fb3bc2..d38a48a 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml @@ -112,7 +112,7 @@ </delete> <select id="selectToday" resultType="com.ycl.platform.domain.entity.CheckIndexFace"> - select * from t_check_index_car where DATE(create_time) = #{today} + select * from t_check_index_face where DATE(create_time) = #{today} </select> <select id="dashboard" resultType="com.ycl.platform.domain.entity.CheckIndexFace"> -- Gitblit v1.8.0