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