定期巡检:基础支持

This commit is contained in:
PC 2026-02-27 10:45:06 +08:00
parent bf49850b41
commit 1be4f8bcb1
3 changed files with 35 additions and 3 deletions

View File

@ -234,9 +234,11 @@ public class SafeOrderExpirationListener {
*/
private void processCreateInspectionOrderBusiness(String bikeCode) {
try {
//TODO: 生成巡检工单
// orderService.createInspectionSwapOrder(bikeCode);
System.out.println("生成巡检工单");
//生成巡检工单
orderService.createInspectionOrderByBikeCode(bikeCode);
//重新添加Key实现循环定期巡检
log.info("重新添加定期巡检任务: bikeCode={}",bikeCode );
redisUtil.saveInspectionOrder(bikeCode,null,30L,TimeUnit.DAYS);
} catch (Exception e) {
log.error("生成巡检工单业务异常: orderId={}", bikeCode, e);
throw e;

View File

@ -171,4 +171,10 @@ public interface EbikeBikeOrderService extends IService<EbikeBikeOrder> {
* @param dispatchVo 调度信息
*/
void batchFinishDispatch(EbikeBatchDispatchVo dispatchVo);
/**
* 根据车辆编号生成巡检工单
* @param bikeCode 车辆编号
*/
void createInspectionOrderByBikeCode(String bikeCode);
}

View File

@ -1035,6 +1035,30 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
}
}
@Override
public void createInspectionOrderByBikeCode(String bikeCode) {
EbikeBikeInfo bikeInfo = checkBikeCode(bikeCode);
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeInfo.getBikeCode()))
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.INSPECTION))
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.UNPROCESSED).or(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.ACCEPTED)));
EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper);
if (bikeOrder != null) {
log.error("车辆已存在巡检工单 ,bikeCode={} ", bikeInfo.getBikeCode());
return;
}
EbikeBikeOrder ebikeBikeOrder = EbikeBikeOrder.builder()
.bikeCode(bikeInfo.getBikeCode())
.orderCode(snowFlakeIDKeyGenerator.nextId())
.orderType(BikeOrderType.INSPECTION)
.operatorId(bikeInfo.getOperatorId())
.remarks("定期巡检任务")
.handleState(OrderHandleState.UNPROCESSED)
.isUserReporting(Boolean.FALSE)
.build();
this.mapper.insert(ebikeBikeOrder);
}
EbikeBikeInfo checkBikeCode(String bikeCode) {
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode))