From acf125b02a6f951a728859eb7269c71dd9c70559 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Mon, 22 Sep 2025 02:14:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=A4=84=E7=90=86=E5=BE=85?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/service/impl/OrderServiceImpl.java | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) 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); + } + }); + } + } + /** * 支付成功更新订单状态