From 316d54ecdc49ce1625b429f3d0bdca54af647e74 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 02 十二月 2024 18:20:22 +0800 Subject: [PATCH] 地图积分区分视频车辆人脸 --- ycl-server/src/main/java/com/ycl/task/UYTask.java | 34 ++++++++++++++++++++++------------ 1 files changed, 22 insertions(+), 12 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java index 7527055..bd06ad5 100644 --- a/ycl-server/src/main/java/com/ycl/task/UYTask.java +++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson2.JSONObject; import com.mongodb.client.result.DeleteResult; import com.ycl.feign.UYClient; +import com.ycl.platform.domain.entity.TMonitor; import com.ycl.platform.domain.entity.WorkOrder; import com.ycl.platform.domain.param.UY.ImageDetectionParam; import com.ycl.platform.domain.param.UY.MonitorQualifyParam; @@ -174,6 +175,8 @@ /** * 鐐逛綅鍦ㄧ嚎PING妫�娴� + * 浠诲姟浼氬厛鎵ц涓�娆′紭浜戝悓姝ワ紝鐒跺悗鎵цping妫�娴� + * online瀛楁鏉ヨ嚜浜庝紭浜戯紝pingOnline涓轰富鍔╬ing妫�娴嬬殑銆傚瓨鍏ongo缁欐暟鎹腑蹇冩煡闃� */ public void pointOnline() throws ExecutionException, InterruptedException { log.info("寮�濮嬫娴嬬偣浣嶅湪绾�"); @@ -262,20 +265,27 @@ .map(CompletableFuture::join) .filter(Objects::nonNull) .collect(Collectors.toList()); - //绛涢�夊嚭ping绂荤嚎鐨勮澶囷紝鏇存敼鏁版嵁搴撲负绂荤嚎锛屽苟涓旀洿鏂扮函杞﹁締鎴栫函浜鸿劯鐨勮澶囩殑鍦ㄧ嚎鐘舵��(杩欓儴鍒嗚澶囦笉浼氭媺娴佹娴�) + Date now = new Date(); - List<UpdateOnlineVO> onlineUpdateList = dataList.stream().map(item -> { - UpdateOnlineVO vo = new UpdateOnlineVO(); - if(item.getPingOnline()) { - vo.setOnline(ApiConstants.UY_OnlineSite_Online); - }else if(!item.getPingOnline()){ - vo.setOnline(ApiConstants.UY_OnlineSite_Offline); + List<String> offLineList = new ArrayList<>(); + List<String> onLineList = new ArrayList<>(); + //鏌ュ嚭鏁版嵁搴撶函杞﹁締鎴栫函浜鸿劯璁惧 + List<String> serialNumbers = monitorMapper.selectCarOrFace().stream().map(TMonitor::getSerialNumber).collect(Collectors.toList()); + dataList.forEach(item->{ + //鏇存柊绾溅杈嗘垨绾汉鑴哥殑璁惧鐨勫湪绾跨姸鎬�(杩欓儴鍒嗚澶囦笉浼氭媺娴佹娴�) + if(item.getPingOnline() && !CollectionUtils.isEmpty(serialNumbers) && serialNumbers.contains(item.getNo())) { + onLineList.add(item.getIp()); + } else if(!item.getPingOnline()) { + //绛涢�夊嚭ping绂荤嚎鐨勮澶囷紝鏇存敼鏁版嵁搴撲负绂荤嚎 + offLineList.add(item.getIp()); } - vo.setIp(item.getIp()); - vo.setUpdateTime(now); - return vo; - }).collect(Collectors.toList()); - monitorMapper.updateOnline(onlineUpdateList); + }); + if(!CollectionUtils.isEmpty(offLineList)) { + monitorMapper.batchUpdateOnline(offLineList, now, ApiConstants.UY_OnlineSite_Offline); + } + if(!CollectionUtils.isEmpty(onLineList)) { + monitorMapper.batchUpdateOnline(onLineList, now, ApiConstants.UY_OnlineSite_Online); + } //瀛樻斁鍒癿ongo if (!CollectionUtils.isEmpty(dataList)) { //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 -- Gitblit v1.8.0