From 9d69a278fcb5c159ec62eec3ce78ae15eb5d5ece Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 12 十一月 2024 16:24:59 +0800 Subject: [PATCH] 离线工单ip去重只生成一个工单 --- ycl-server/src/main/java/com/ycl/task/UYTask.java | 20 +++++++++++++++++--- 1 files changed, 17 insertions(+), 3 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 2f92fa3..737fbae 100644 --- a/ycl-server/src/main/java/com/ycl/task/UYTask.java +++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java @@ -40,6 +40,7 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.*; +import java.util.function.Function; import java.util.stream.Collectors; //浼樹簯瀵规帴鏁版嵁浠诲姟 @@ -260,9 +261,16 @@ //瀛樻斁鍦╩ongo涓� mongoTemplate.insertAll(dataList); } - //宸ュ崟 + //宸ュ崟锛堝悓涓�IP鍙敓鎴愪竴涓伐鍗曪級 List<WorkOrder> workOrderList = dataList.stream() .filter(item -> Objects.nonNull(item.getWorkOrder())) + .collect(Collectors.toMap( + TMonitorResult::getIp, + Function.identity(), + (existing, replacement) -> existing // 濡傛灉閬囧埌鐩稿悓鐨� IP锛屼繚鐣欑涓�涓� TMonitorResult 瀵硅薄 + )) + .values() + .stream() .map(TMonitorResult::getWorkOrder) .collect(Collectors.toList()); if (!CollectionUtils.isEmpty(workOrderList)) { @@ -312,8 +320,14 @@ return vo; }).collect(Collectors.toList()); monitorMapper.updateOnline(willUpdateList); - //绂荤嚎鐢熸垚宸ュ崟 - List<VideoOnlineResult> workOrders = records.stream().filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getStatus())).collect(Collectors.toList()); + //绂荤嚎鐢熸垚宸ュ崟,涓�涓猧p鍙敓鎴愪竴涓伐鍗� + List<VideoOnlineResult> workOrders = (List<VideoOnlineResult>) records.stream() + .filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getStatus())) + .collect(Collectors.toMap( + VideoOnlineResult::getIpAddr, + Function.identity(), + (existing, replacement) -> existing // 濡傛灉閬囧埌鐩稿悓鐨� IP锛屼繚鐣欑涓�涓紙existing锛� + )).values(); uyErrorTypeCheckService.videoOnlineCheck(workOrders); } else { log.error("鐐逛綅鍦ㄧ嚎缁撴灉鏁版嵁涓虹┖{}", data); -- Gitblit v1.8.0