From 97be93a96afe257de1a69cbba9a925d539bc1d88 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Tue, 30 Jun 2020 17:16:27 +0800 Subject: [PATCH] fix order schedule bug --- .../schedule/OrderExpiringSchedule.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java index daa3e6af3..0e339250d 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/OrderExpiringSchedule.java @@ -135,7 +135,7 @@ public class OrderExpiringSchedule { order.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_UNPAID.getCode()); wxOrderMapper.selectList(new QueryWrapper(order)).stream().forEach(o -> { try { - proxy.orderGroupExpired((WxOrder) o,true); + proxy.orderGroupExpired((WxOrder) o,true,true); } catch (Exception e) { logger.error("拼团取消失败" + e.getMessage()); } @@ -188,7 +188,7 @@ public class OrderExpiringSchedule { } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) public void expiredAndReturnMoney(WxOrder wxOrder,boolean checkRealPay) { - orderGroupExpired(wxOrder,checkRealPay); + orderGroupExpired(wxOrder,checkRealPay,false); returnMoney(wxOrder); } @@ -282,7 +282,7 @@ public class OrderExpiringSchedule { @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public void orderGroupExpired(WxOrder order,boolean checkRealPay) { + public void orderGroupExpired(WxOrder order,boolean checkRealPay,boolean stockBack) { if (checkRealPay) { if (wxPaySuccess(order,true)) { return; @@ -296,14 +296,19 @@ public class OrderExpiringSchedule { updateOrder.setOrderStatus(EnumOrderStatus.ORDER_STATUS_COOPERATING_BREAK.getCode()); updateOrder.setUpdateDate(curDate); wxOrderMapper.updateById(updateOrder); - // 库存退回 - wxOrderService.stockBack(order); - + if (stockBack) { + // 库存退回 + wxOrderService.stockBack(order); + } // 微信 关单 wxOrderService.orderClose(updateOrder); logger.info("拼团订单: " + order.getId() + " create at " + order.getCreateDate() + " expired at " + curDate); } + /** + * 回调会再次扣减库存 + * @param order + */ @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) public void returnMoney(WxOrder order) { //支付成功的才退款