From d22bbb827940050d4df2bf3fb16dae79eba91d4e Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 12 十一月 2024 18:45:15 +0800 Subject: [PATCH] 批量审核bug,离线时间点回显 --- ycl-server/src/main/java/com/ycl/task/UYTask.java | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 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 737fbae..0256642 100644 --- a/ycl-server/src/main/java/com/ycl/task/UYTask.java +++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java @@ -189,6 +189,15 @@ } // 鍏堟煡鍑鸿澶嘔P闆嗗悎,鍓旈櫎鎺夊湪绾挎儏鍐垫槸鏈煡鐨�,骞朵笖鍙娴嬫鍦ㄨ�冩牳鐨勮澶囬伩鍏嶅浣欏伐鍗� List<TMonitorResult> monitorList = monitorMapper.getDistinctIP(); + //琛ュ厖閿欒鏃堕棿鐐� + Query onlineQuery = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + Map<String, TMonitorResult> mongoMap = mongoTemplate.find(onlineQuery, TMonitorResult.class).stream().collect(Collectors.toMap(TMonitorResult::getNo, Function.identity())); + for (TMonitorResult result : monitorList) { + TMonitorResult mongoData = mongoMap.get(result.getNo()); + if(mongoData!=null){ + result.setOffLineTime(mongoData.getOffLineTime()); + } + } List<TMonitorResult> dataList = new ArrayList<>(48); Integer time = times; List<CompletableFuture<TMonitorResult>> futureList = monitorList.stream() @@ -214,6 +223,10 @@ monitor.setPingOnline(Boolean.FALSE); monitor.setCheckCount(checkTimes); monitor.setOffLineCount(offLineTimes); + List<Date> offLineTime = monitor.getOffLineTime(); + if(CollectionUtils.isEmpty(offLineTime)) offLineTime = new ArrayList<>(); + offLineTime.add(new Date()); + monitor.setOffLineTime(offLineTime); if (monitor.getOffLineCount() >= time) { WorkOrder workOrder = new WorkOrder(); workOrder.setSerialNumber(monitor.getNo()); @@ -321,13 +334,13 @@ }).collect(Collectors.toList()); monitorMapper.updateOnline(willUpdateList); //绂荤嚎鐢熸垚宸ュ崟,涓�涓猧p鍙敓鎴愪竴涓伐鍗� - List<VideoOnlineResult> workOrders = (List<VideoOnlineResult>) records.stream() + List<VideoOnlineResult> workOrders = new ArrayList<>(records.stream() .filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getStatus())) .collect(Collectors.toMap( VideoOnlineResult::getIpAddr, Function.identity(), (existing, replacement) -> existing // 濡傛灉閬囧埌鐩稿悓鐨� IP锛屼繚鐣欑涓�涓紙existing锛� - )).values(); + )).values()); uyErrorTypeCheckService.videoOnlineCheck(workOrders); } else { log.error("鐐逛綅鍦ㄧ嚎缁撴灉鏁版嵁涓虹┖{}", data); -- Gitblit v1.8.0