From 64efb660b2c119c00432434c0f651f8996483f18 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期五, 21 二月 2025 15:51:13 +0800 Subject: [PATCH] OSD大华数据格式+数据中心重点标签统计数 --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 insertions(+), 1 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java index 8f380c1..8a08b68 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java @@ -35,6 +35,7 @@ import com.ycl.utils.http.HttpUtils; import com.ycl.utils.redis.RedisCache; import com.ycl.utils.uuid.IdUtils; +import constant.ApiConstants; import constant.Constants; import constant.RedisConstant; import enumeration.ErrorType; @@ -79,6 +80,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService { private final YwPointService ywPointService; + private final YwPointMapper ywPointMapper; private final TMonitorMapper monitorMapper; private final DynamicColumnMapper dynamicColumnMapper; private final WorkOrderAuditingRecordMapper workOrderAuditingRecordMapper; @@ -470,10 +472,25 @@ UrgentLevelEnum.WARNING, workOrder.getWorkOrderNo()); notifyService.save(notify); + List<WorkOrderVO> workOrderVOS = workOrderErrorTypeMapper.getErrorListByNumbers(Arrays.asList(workOrder.getWorkOrderNo())); + // 鍚屾鐐逛綅鐘舵�� if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) { ywPointService.updateRecovery(Collections.singletonList(workOrder.getSerialNumber()), 0); + //濡傛灉宸ュ崟涓虹绾垮伐鍗曢偅涔堜慨鏀圭偣浣峱ingOnline涓哄湪绾� + if (!CollectionUtils.isEmpty(workOrderVOS)) { + List<String> ips = new ArrayList<>(); + for (WorkOrderVO workOrderVO : workOrderVOS) { + if(ErrorType.DEVICE_OFFLINE.getValue().equals(workOrderVO.getErrorType())){ + ips.add(workOrderVO.getIp()); + } + } + if(!CollectionUtils.isEmpty(ips)) { + monitorMapper.batchUpdateOnline(ips, new Date(), ApiConstants.UY_OnlineSite_Online); + } + } } + return Result.ok("鎿嶄綔鎴愬姛"); } @@ -513,11 +530,30 @@ workOrder.getWorkOrderNo()); notifies.add(notify); } + notifyService.saveBatch(notifies); // 鍚屾鐐逛綅鐘舵�� if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) { ywPointService.updateRecovery(serialNumbers, 0); + //绛涢�夊嚭绂荤嚎宸ュ崟ip骞朵慨鏀瑰湪绾跨姸鎬� + if (!CollectionUtils.isEmpty(serialNumbers)) { + Map<String, List<String>> errorTypes = workOrderErrorTypeMapper.getErrorListByNumbers(workOrderNoList).stream().collect(Collectors.groupingBy( + WorkOrderVO::getIp, + Collectors.mapping( + WorkOrderVO::getErrorType, + Collectors.toList() + ) + )); + List<String> ips = new ArrayList<>(); + errorTypes.forEach((key, value) -> { + if (!CollectionUtils.isEmpty(value) && value.contains(ErrorType.DEVICE_OFFLINE.getValue())) { + ips.add(key); + } + }); + if(!CollectionUtils.isEmpty(ips)) { + monitorMapper.batchUpdateOnline(ips, new Date(), ApiConstants.UY_OnlineSite_Online); + } + } } - notifyService.saveBatch(notifies); return Result.ok("鎿嶄綔鎴愬姛"); } -- Gitblit v1.8.0