定期巡检
This commit is contained in:
parent
76592d42aa
commit
3dc428925f
@ -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;
|
||||
|
||||
@ -128,7 +128,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
private EbikeBikeOrderMapper orderMapper;
|
||||
|
||||
@Resource
|
||||
private EbikeWorkOrderConfigurationService dispatchConfigurationService;
|
||||
private EbikeWorkOrderConfigurationService orderConfigurationService;
|
||||
|
||||
@Resource
|
||||
private EbikeRegionMapper ebikeRegionMapper;
|
||||
@ -310,6 +310,11 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
.set(EBIKE_BIKE_INFO.REGION_ID, launchVo.getRegionId())
|
||||
.where(EBIKE_BIKE_INFO.BIKE_CODE.in(launchVo.getBikeCodes()))
|
||||
.update();
|
||||
List<String> 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<EbikeBikeInfoMapper, E
|
||||
.set(EBIKE_BIKE_INFO.STATUS, BikeStatus.UN_LAUNCH)
|
||||
.where(EBIKE_BIKE_INFO.BIKE_CODE.in(launchVo.getBikeCodes()))
|
||||
.update();
|
||||
List<String> bikeCodes = launchVo.getBikeCodes();
|
||||
for (String bikeCode : bikeCodes) {
|
||||
redisUtil.deleteInspectionOrder(bikeCode);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -521,7 +530,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
|
||||
ebikeEcuInfoService.lock(ebikeEcuInfo);
|
||||
|
||||
EbikeWorkOrderConfiguration configuration = dispatchConfigurationService.getConfigurationByOperationId(info.getOperatorId());
|
||||
EbikeWorkOrderConfiguration configuration = orderConfigurationService.getConfigurationByOperationId(info.getOperatorId());
|
||||
|
||||
if (configuration != null && configuration.getDispatchDuration() != null) {
|
||||
redisUtil.saveNoDocument(bikeCode, LocalDateTime.now(), configuration.getDispatchDuration(), TimeUnit.HOURS);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user