diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCouponOrderController.java index 4ea2b0852..41f11148a 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); + wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, couponOrderId, EnumPayType.PAY_ADMIN_REFUND, null, true); 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 9e50e26e1..9fb5cf761 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxRefundOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxRefundOrderController.java @@ -5,11 +5,11 @@ import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.config.PayProperty; -import com.iformall.domain.po.WxAppinfo; -import com.iformall.domain.po.WxMerchantBUser; -import com.iformall.domain.po.WxRefundOrder; +import com.iformall.domain.po.*; import com.iformall.enums.EnumPayType; import com.iformall.exception.MallinkException; +import com.iformall.service.WxCouponOrderService; +import com.iformall.service.WxOrderService; import com.iformall.service.WxRefundOrderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -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()); + ResultData rd = wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, couponOrderId, EnumPayType.PAY_B_REFUND, bUser.getId(), true); 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 6821a6c71..153b0cda5 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponOrderExpiringSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponOrderExpiringSchedule.java @@ -85,7 +85,7 @@ public class CouponOrderExpiringSchedule { // 退款 try { - couponOrderExpireRefund(co); + couponOrderExpireRefund(co, false); } catch (Exception e) { logger.error(e.getMessage()); } @@ -115,7 +115,7 @@ public class CouponOrderExpiringSchedule { } } - private void couponOrderExpireRefund(WxCouponOrder co) { + private void couponOrderExpireRefund(WxCouponOrder co, boolean bStockBack) { // 非储值卡, 可以退款 if(!co.getCouponType().equals(EnumCouponType.CARD_MULTIMCH.getCode()) && !co.getAutoRefund().equals(EnumCouponAutoRefund.UNSUPPORTED.getCode())) { @@ -125,7 +125,7 @@ public class CouponOrderExpiringSchedule { appinfo = wxAppinfoMapper.findList(appinfo).get(0); try { - wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, co.getId(), EnumPayType.PAY_AUTO_REFUND, null); + wxRefundOrderService.createRefundOrder(payProperty.isReal(), appinfo, co.getId(), EnumPayType.PAY_AUTO_REFUND, null, bStockBack); } catch (MallinkException e) { logger.error("退款失败:"+e.getMessage()+"couponOrderId="+co.getId()); throw new MallinkException(e.getErrorCode(), e.getMessage()); diff --git a/mallinkService/src/main/java/com/iformall/service/WxRefundOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxRefundOrderService.java index 118dfc43b..3f8436e91 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); + ResultData createRefundOrder(boolean isReal, WxAppinfo appInfo, Long couponOrderId, EnumPayType payType, Long bUserId, boolean bStockBack); /** * 创建退款订单 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 e01156523..7b6e07b4f 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) { + public ResultData createRefundOrder(boolean isReal, WxAppinfo appInfo, Long couponOrderId, EnumPayType payType, Long bUserId, boolean bStockBack) { WxCouponOrder wxCouponOrder = wxCouponOrderMapper.selectByPrimaryKey(couponOrderId); if (wxCouponOrder == null) { logger.error("券ID不存在:" + couponOrderId); @@ -360,6 +360,11 @@ 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());