From 3dc428925f5fdbed29dd895191124e71e9857b313a9234d8b10dea7a15458f47 Mon Sep 17 00:00:00 2001 From: PC <2413103649@qq.com> Date: Fri, 27 Feb 2026 11:19:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=9C=9F=E5=B7=A1=E6=A3=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../component/SafeOrderExpirationListener.java | 16 ++++++++++++++-- .../service/impl/EbikeBikeInfoServiceImpl.java | 13 +++++++++++-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/ebike-operations/src/main/java/com/cdzy/operations/component/SafeOrderExpirationListener.java b/ebike-operations/src/main/java/com/cdzy/operations/component/SafeOrderExpirationListener.java index 54f954b..87f9dba 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/component/SafeOrderExpirationListener.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/component/SafeOrderExpirationListener.java @@ -3,8 +3,12 @@ package com.cdzy.operations.component; import com.cdzy.operations.enums.BikeOrderType; import com.cdzy.operations.enums.OrderDispatchState; import com.cdzy.operations.enums.OrderHandleState; +import com.cdzy.operations.model.dto.EbikeUserBikeInfo; import com.cdzy.operations.model.entity.EbikeBikeOrder; +import com.cdzy.operations.model.entity.EbikeWorkOrderConfiguration; +import com.cdzy.operations.service.EbikeBikeInfoService; import com.cdzy.operations.service.EbikeBikeOrderService; +import com.cdzy.operations.service.EbikeWorkOrderConfigurationService; import com.cdzy.operations.utils.RedisUtil; import com.mybatisflex.core.query.QueryWrapper; import jakarta.annotation.Resource; @@ -29,6 +33,12 @@ public class SafeOrderExpirationListener { @Resource private EbikeBikeOrderService orderService; + @Resource + private EbikeWorkOrderConfigurationService orderConfigurationService; + + @Resource + private EbikeBikeInfoService bikeInfoService; + // Redis键常量 private static final String ORDER_KEY_PREFIX = "bike:dispatch:lock:"; @@ -237,8 +247,10 @@ public class SafeOrderExpirationListener { //生成巡检工单 orderService.createInspectionOrderByBikeCode(bikeCode); //重新添加Key,实现循环定期巡检 - log.info("重新添加定期巡检任务: bikeCode={}",bikeCode ); - redisUtil.saveInspectionOrder(bikeCode,null,30L,TimeUnit.DAYS); + log.info("重新添加定期巡检任务: bikeCode={}", bikeCode); + EbikeUserBikeInfo ebikeUserBikeInfo = bikeInfoService.bikeInfo(bikeCode); + EbikeWorkOrderConfiguration configuration = orderConfigurationService.getConfigurationByOperationId(ebikeUserBikeInfo.getOperatorId()); + redisUtil.saveInspectionOrder(bikeCode, ebikeUserBikeInfo, configuration != null ? configuration.getInspectionIntervalDuration() : 30L, TimeUnit.DAYS); } catch (Exception e) { log.error("生成巡检工单业务异常: orderId={}", bikeCode, e); throw e; diff --git a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeInfoServiceImpl.java b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeInfoServiceImpl.java index 70ce243..3cde35e 100644 --- a/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeInfoServiceImpl.java +++ b/ebike-operations/src/main/java/com/cdzy/operations/service/impl/EbikeBikeInfoServiceImpl.java @@ -128,7 +128,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl bikeCodes = launchVo.getBikeCodes(); + for (String bikeCode : bikeCodes) { + EbikeWorkOrderConfiguration configuration = orderConfigurationService.getConfigurationByOperationId(region.getOperatorId()); + redisUtil.saveInspectionOrder(bikeCode, null, configuration != null ? configuration.getInspectionIntervalDuration() : 30L, TimeUnit.DAYS); + } } @Override @@ -318,6 +323,10 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl bikeCodes = launchVo.getBikeCodes(); + for (String bikeCode : bikeCodes) { + redisUtil.deleteInspectionOrder(bikeCode); + } } @Override @@ -521,7 +530,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl