From c8c8b17ecb87294212690c414f7a2182f34ed107 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Fri, 15 Mar 2019 11:36:33 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=BA=93=E5=AD=98][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E9=80=80=E5=9B=9E=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCouponOrderController.java | 2 +- .../controller/WxRefundOrderController.java | 2 +- .../schedule/CouponOrderExpiringSchedule.java | 25 +++++++++++++------ .../service/WxRefundOrderService.java | 2 +- .../impl/WxRefundOrderServiceImpl.java | 7 +----- 5 files changed, 21 insertions(+), 17 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponOrderController.java index 41f11148a..4ea2b0852 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -143,7 +143,7 @@ public class WxCouponOrderController extends BaseController { WxAppinfo appinfo = appinfoPageInfo.getList().get(0); if (appinfo != null) { try { - wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, couponOrderId, EnumPayType.PAY_ADMIN_REFUND, null, true); + wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, couponOrderId, EnumPayType.PAY_ADMIN_REFUND, null); return new ResultData(); } catch (MallinkException e) { logger.error(e.getMessage()); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxRefundOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxRefundOrderController.java index 9fb5cf761..668975ee3 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxRefundOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxRefundOrderController.java @@ -57,7 +57,7 @@ public class WxRefundOrderController extends BaseController { WxMerchantBUser bUser = getUser(); WxAppinfo appinfo = getAppInfo(bUser.getAppId()); try { - ResultData rd = wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, couponOrderId, EnumPayType.PAY_B_REFUND, bUser.getId(), true); + ResultData rd = wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, couponOrderId, EnumPayType.PAY_B_REFUND, bUser.getId()); return rd; } catch (MallinkException e) { logger.error(e.getMessage()); diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponOrderExpiringSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponOrderExpiringSchedule.java index 153b0cda5..642371940 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponOrderExpiringSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponOrderExpiringSchedule.java @@ -60,7 +60,7 @@ public class CouponOrderExpiringSchedule { list.stream().forEach(co -> { // 券过期,更改状态及库存退回 try { - couponOrderExpire(co); + couponOrderExpire(co, true); } catch (Exception e) { logger.error(e.getMessage()); } @@ -78,14 +78,14 @@ public class CouponOrderExpiringSchedule { list.stream().forEach(co -> { // 券过期,更改状态及库存退回 try { - couponOrderExpire(co); + couponOrderExpire(co, false); } catch (Exception e) { logger.error(e.getMessage()); } // 退款 try { - couponOrderExpireRefund(co, false); + couponOrderExpireRefund(co, true); } catch (Exception e) { logger.error(e.getMessage()); } @@ -96,7 +96,7 @@ public class CouponOrderExpiringSchedule { @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public void couponOrderExpire(WxCouponOrder co) { + public void couponOrderExpire(WxCouponOrder co, boolean bStockBack) { // 标记 couponOrder过期 WxCouponOrder updateRecord = new WxCouponOrder(); updateRecord.setId(co.getId()); @@ -109,9 +109,11 @@ public class CouponOrderExpiringSchedule { wxCouponOrderMapper.updateByPrimaryKeySelective(updateRecord); // 库存退回 - WxOrder order = wxOrderMapper.selectByPrimaryKey(co.getOrderId()); - if(order != null) { - wxOrderService.stockBack(order); + if(bStockBack) { + WxOrder order = wxOrderMapper.selectByPrimaryKey(co.getOrderId()); + if(order != null) { + wxOrderService.stockBack(order); + } } } @@ -125,7 +127,7 @@ public class CouponOrderExpiringSchedule { appinfo = wxAppinfoMapper.findList(appinfo).get(0); try { - wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, co.getId(), EnumPayType.PAY_AUTO_REFUND, null, bStockBack); + wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, co.getId(), EnumPayType.PAY_AUTO_REFUND, null); } catch (MallinkException e) { logger.error("退款失败:"+e.getMessage()+"couponOrderId="+co.getId()); throw new MallinkException(e.getErrorCode(), e.getMessage()); @@ -160,6 +162,13 @@ public class CouponOrderExpiringSchedule { throw new MallinkException(e.getErrorCode(), e.getMessage()); } + if(bStockBack) { + // 库存退回 + WxOrder order = wxOrderMapper.selectByPrimaryKey(co.getOrderId()); + if(order != null) { + wxOrderService.stockBack(order); + } + } } } } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/service/WxRefundOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxRefundOrderService.java index 3f8436e91..118dfc43b 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxRefundOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxRefundOrderService.java @@ -21,7 +21,7 @@ public interface WxRefundOrderService { * @param bUserId b端退款Id,auto,admin,self可为null * @return */ - ResultData createRefundOrder(boolean isReal, WxAppinfo appInfo, Long couponOrderId, EnumPayType payType, Long bUserId, boolean bStockBack); + ResultData createRefundOrder(boolean isReal, WxAppinfo appInfo, Long couponOrderId, EnumPayType payType, Long bUserId); /** * 创建退款订单 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java index 7b6e07b4f..e01156523 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java @@ -263,7 +263,7 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public ResultData createRefundOrder(boolean isReal, WxAppinfo appInfo, Long couponOrderId, EnumPayType payType, Long bUserId, boolean bStockBack) { + public ResultData createRefundOrder(boolean isReal, WxAppinfo appInfo, Long couponOrderId, EnumPayType payType, Long bUserId) { WxCouponOrder wxCouponOrder = wxCouponOrderMapper.selectByPrimaryKey(couponOrderId); if (wxCouponOrder == null) { logger.error("券ID不存在:" + couponOrderId); @@ -360,11 +360,6 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); } - // 退库存 - if(bStockBack) { - wxOrderService.stockBack(wxOrder); - } - // 查找支付订单 WxPayOrder payOrderQ = new WxPayOrder(); payOrderQ.setTenantId(appInfo.getTenantId());