diff --git a/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java b/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java index 12cbbd1..35853c0 100644 --- a/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java @@ -478,8 +478,6 @@ public class OrderServiceImpl implements OrderService { updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.RENT_ING.getCode()); if(orderMainPO.getOverdueDays()>0){ updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.RENT_OVERDUE.getCode()); - }else { - updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.RENT_ING.getCode()); } updateWrapper.eq(OrderMainPO::getOrderId, orderMainPO.getOrderId()); orderMainRepo.update(updateWrapper); @@ -1145,13 +1143,14 @@ public class OrderServiceImpl implements OrderService { @Override public IPage pageCustOrder(Integer pageNo, Integer pageSize, OrderQueryReq orderQueryReq) { orderQueryReq.setCustomerId(Long.valueOf(jwtUtil.getUserInfoFromToken().getUserId().toString())); + batchProcessWaitPayOrder(orderQueryReq.getCustomerId(),orderQueryReq.getStoreId()); List orderStatusList = orderQueryReq.getOrderStatusList().stream().map(OrderStatusEnum::getCode).collect(Collectors.toList()); return orderMainRepo.pageQueryOrder(pageNo, pageSize, orderQueryReq.getCustomerId(), orderQueryReq.getStoreId(), orderStatusList, orderQueryReq.getQueryBrandName()); } @Override public IPage pageStoreOrder(Integer pageNo, Integer pageSize, OrderQueryReq orderQueryReq) { - + batchProcessWaitPayOrder(orderQueryReq.getCustomerId(),orderQueryReq.getStoreId()); List orderStatusList = orderQueryReq.getOrderStatusList().stream().map(OrderStatusEnum::getCode).collect(Collectors.toList()); return orderMainRepo.pageQueryOrder(pageNo, pageSize, orderQueryReq.getCustomerId(), orderQueryReq.getStoreId(), orderStatusList, orderQueryReq.getQueryBrandName()); } @@ -1169,6 +1168,33 @@ public class OrderServiceImpl implements OrderService { return orderMainRepo.pageQueryRentBatteyOrder(pageNo, pageSize, orderQueryReq.getCustomerId(), orderQueryReq.getStoreId(), orderStatusList, orderQueryReq.getQueryBrandName()); } + /** + * 批量处理待支付订单 + * @param customerId + */ + private void batchProcessWaitPayOrder(Long customerId,Long storeId){ + log.info("开始批量处理待支付订单"); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(customerId!=null,OrderMainPO::getCustomerId, customerId) + .eq(storeId!=null,OrderMainPO::getStoreId, storeId) + .eq(OrderMainPO::getDelFlag, "0") + .in(OrderMainPO::getOrderStatus, Arrays.asList(OrderStatusEnum.WAIT_PAY.getCode(), OrderStatusEnum.RERENT_WAIT_PAY.getCode())) + .orderByDesc(OrderMainPO::getOrderId); + List waitPayOrderList = orderMainRepo.list(queryWrapper); + if (!CollectionUtils.isEmpty(waitPayOrderList)){ + waitPayOrderList.forEach(orderMainPO -> { + if(OrderStatusEnum.WAIT_PAY.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())){ + PayOrderReq payOrderReq = new PayOrderReq(); + payOrderReq.setOrderNo(orderMainPO.getOrderNo()); + cancelOrder(payOrderReq); + }else if(OrderStatusEnum.RERENT_WAIT_PAY.getCode().equalsIgnoreCase(orderMainPO.getOrderStatus())){ + //处理续租待支付订单 + cancelRerentOrOverDueOrder(orderMainPO); + } + }); + } + } + /** * 支付成功更新订单状态