diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java index 0c98bd39d..0866a6b66 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java @@ -201,8 +201,6 @@ public class WxCardPayController extends BaseController { return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡密面额未设置."); } - - WxCoupon coupon = wxCouponService.getById(couponPassword.getCouponId(),couponPassword.getTenantId()); if (coupon == null) { return new ResultData(ErrorCode.COUPON_IS_EMPTY); @@ -211,9 +209,12 @@ public class WxCardPayController extends BaseController { logger.error("此券已作废:" + coupon.getId()); return new ResultData(ErrorCode.COUPON_IS_TAKE_OFF); } - - WxCardInfo carInfo = wxCardInfoService.cardCreateByOffline(couponPassword, coupon); - return saveCardPayOrder(Constant.defaultCUserId,carInfo,merchantBUser,totalFeeStr,false); + //实体卡兑换后再次使用 + WxCardInfo cardInfo = wxCardInfoService.getByCouponPasswordId(couponPassword.getId(), coupon); + if (null == cardInfo) { + cardInfo = wxCardInfoService.cardCreateByOffline(couponPassword, coupon); + } + return saveCardPayOrder(cardInfo.getOwnerUserId(),cardInfo,merchantBUser,totalFeeStr,false); } private ResultData saveCardPayOrder(Long cUserId,WxCardInfo cardInfo,WxMerchantBUser merchantBUser,String totalFeeStr,boolean isEcard) { @@ -246,7 +247,6 @@ public class WxCardPayController extends BaseController { //查看所有者与扫码者是否为一致 if (!cardInfo.getOwnerUserId().equals(cUserId)) { - logger.error("卡已被领取: " + cardInfo.getId()); return new ResultData(ErrorCode.CARD_TRANSFERED); } // WxCouponOrder couponOrder = wxCouponOrderService.getById(cardInfo.getId(),cardInfo.getTenantId());