From a56cbc8a929232b039f137fc51b5af27f40b2822 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期四, 01 八月 2024 15:33:25 +0800 Subject: [PATCH] feat:异常恢复监控 --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 40 ++++++++++++++-------------------------- 1 files changed, 14 insertions(+), 26 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 8485cc6..6a4f2a8 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 @@ -24,16 +24,16 @@ import com.ycl.utils.SecurityUtils; import com.ycl.utils.redis.RedisCache; import com.ycl.utils.uuid.IdUtils; -import constant.PointConfigConstants; -import enumeration.general.*; +import enumeration.general.NotifyTypeEnum; +import enumeration.general.UrgentLevelEnum; +import enumeration.general.WorkOrderDistributeWayEnum; +import enumeration.general.WorkOrderStatusEnum; import lombok.RequiredArgsConstructor; -import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; -import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.time.LocalDateTime; @@ -41,7 +41,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; -import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -272,44 +271,37 @@ public Result distributeFast(DistributeWorkOrderVO data) { // 鑾峰彇褰撳墠鏃堕棿 LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault()); + data.setEnd(now); switch (data.getFastWay()) { case LAST_HALF_HOUR: data.setStart(now.minusMinutes(30)); - data.setEnd(now); break; case LAST_HOUR: data.setStart(now.minusHours(1)); - data.setEnd(now); break; case LAST_TWO_HOUR: data.setStart(now.minusHours(2)); - data.setEnd(now); break; case LAST_DAY: data.setStart(now.minusDays(1)); - data.setEnd(now); break; } // 鏌ヨ绗﹀悎鏉′欢鐨勫伐鍗� - List<Integer> ids = new LambdaQueryChainWrapper<>(baseMapper) + List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper) + .select(WorkOrder::getId, WorkOrder::getPointId) .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE) .eq(Objects.nonNull(data.getUnitId()), WorkOrder::getUnitId, data.getUnitId()) .eq(WorkOrder::getErrorType, data.getErrorType()) .between(WorkOrder::getCreateTime, data.getStart(), data.getEnd()) .orderByDesc(WorkOrder::getCreateTime) .last("limit " + data.getFastNumLimit()) - .list() - .stream() - .map(WorkOrder::getId) - .toList(); + .list(); + List<Integer> ids = list.stream().map(WorkOrder::getId).toList(); + List<Integer> pointIds = list.stream().map(WorkOrder::getPointId).toList(); - if (ids.isEmpty()) { - return Result.error("娌℃湁绗﹀悎鏉′欢鐨勫伐鍗�"); - } - if (!getDistributeLock()) { - return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�"); - } + if (ids.isEmpty()) { return Result.error("娌℃湁绗﹀悎鏉′欢鐨勫伐鍗�"); } + if (!getDistributeLock()) { return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�"); } try { new LambdaUpdateChainWrapper<>(baseMapper) .set(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED) @@ -327,9 +319,7 @@ @Override public Result selectedIdsDistribute(DistributeWorkOrderQuery query) { WorkOrderDistributeWayEnum distributeWayEnum = WorkOrderDistributeWayEnum.SELECTED_DISTRIBUTE; - if (!getDistributeLock()) { - return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�"); - } + if (!getDistributeLock()) { return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�"); } try { if (query.getIds().isEmpty()) { query.setIds(new LambdaQueryChainWrapper<>(baseMapper) @@ -342,9 +332,7 @@ .collect(Collectors.toList())); distributeWayEnum = WorkOrderDistributeWayEnum.ALL_DISTRIBUTE; } - if (query.getIds().isEmpty()) { - return Result.error("娌℃湁宸ュ崟寰呬笅鍙�"); - } + if (query.getIds().isEmpty()) { return Result.error("娌℃湁宸ュ崟寰呬笅鍙�"); } new LambdaUpdateChainWrapper<>(baseMapper) .set(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED) .in(WorkOrder::getId, query.getIds()) -- Gitblit v1.8.0