续租和逾期处理状态处理

This commit is contained in:
2025-08-23 16:37:09 +08:00
parent 08fb61d27e
commit 520d74080b

View File

@ -235,12 +235,16 @@ public class OrderServiceImpl implements OrderService {
String redisLockKey = RedisKeyConstants.ORDER_SUB_KEY + userInfoDTO.getUserId();
if(redisUtil.getRedisLock(redisLockKey, "续租")) {
try{
LambdaQueryWrapper<OrderMainPO> currentOrderWrapper = new LambdaQueryWrapper<>();
currentOrderWrapper.eq(OrderMainPO::getOrderNo, rentCarOrderReq.getOrderNo()).last( " limit 1");
OrderMainPO orderMainPO = orderMainRepo.getOne(currentOrderWrapper);
if(orderMainPO == null){
throw new BizException("订单不存在");
}
if(!OrderStatusEnum.RENT_ING.getCode().equals(orderMainPO.getOrderStatus()) && !OrderStatusEnum.RENT_OVERDUE.getCode().equals(orderMainPO.getOrderStatus())){
throw new BizException("订单非租赁或逾期状态,不能续租");
}
//生成子表订单
String paymentType;
if(rentCarOrderReq.getIsAutoDeduct()){
@ -353,6 +357,7 @@ public class OrderServiceImpl implements OrderService {
LambdaQueryWrapper<OrderSubPO> orderSubQueryWrapper = new LambdaQueryWrapper<>();
orderSubQueryWrapper.eq(OrderSubPO::getOrderId, orderMainPO.getOrderId());
orderSubQueryWrapper.eq(OrderSubPO::getPayStatus, PayStatusEnum.USERPAYING.getCode());
orderSubQueryWrapper.orderByDesc(OrderSubPO::getCreatedAt);
List<OrderSubPO> orderSubPOList = orderSubRepo.list(orderSubQueryWrapper);
if(orderSubPOList.isEmpty()){
throw new InnerException("待支付子订单不存在");
@ -437,6 +442,9 @@ public class OrderServiceImpl implements OrderService {
if(orderMainPO == null){
throw new BizException("订单不存在");
}
if(!OrderStatusEnum.RENT_OVERDUE.getCode().equals(orderMainPO.getOrderStatus())){
throw new BizException("订单非逾期状态,不能逾期处理");
}
//生成子表订单
String paymentType;
if(rentCarOrderReq.getIsAutoDeduct()){