From f87fce129800b0718f3fd0c2a3eb7142f39194de Mon Sep 17 00:00:00 2001 From: xhxu Date: Fri, 5 Aug 2022 18:04:27 +0800 Subject: [PATCH] // test --- .../service/impl/WxCouponOrderServiceImpl.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index b65192d24..3c5f6860c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -1271,10 +1271,10 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { if(cm == null){ throw new MallinkException(ErrorCode.VERIFY_COUPON_ORDER_MERCHANT_IS_NULL); } - if(EnumCouponVerifyType.VERIFY_B.equals(couponVerifyType) && !cm.getMerchantId().equals(bUser.getMerchantId())){ + if(EnumCouponVerifyType.VERIFY_B.equals(couponVerifyType) && !verifyMerchant(bUser,cm.getMerchantId())){ throw new MallinkException(ErrorCode.VERIFY_COUPON_ORDER_MERCHANT_IS_NULL); } - merchantId = cm.getMerchantId(); + merchantId = bUser.getMerchantId(); }else if(EnumCouponType.COUPON_GIFT.getCode().equals(wxCoupon.getType())){ if (StringUtils.isBlank(wxCoupon.getGiftList())){ logger.error("券包: coupon-" + wxCoupon.getId() + "数据异常" + "couponOrder-" + couponOrder.getId()); @@ -1292,7 +1292,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { wxCouponMerchant.setProductId(wxCoupon.getId()); wxCouponMerchant.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode()); List couponMerchantList = wxCouponMerchantMapper.findList(wxCouponMerchant); - if (!couponMerchantList.stream().anyMatch(cm -> cm.getMerchantId().equals(bUser.getMerchantId()))) { + if (!couponMerchantList.stream().anyMatch(cm -> verifyMerchant(bUser,cm.getMerchantId()))) { logger.error("券: coupon-" + wxCoupon.getId() + "核销: couponMerchantId-" + bUser.getMerchantId()); throw new MallinkException(ErrorCode.VERIFY_COUPON_ORDER_MERCHANT_IS_NULL); } @@ -1362,6 +1362,16 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { couponOrder.setMerchantId(merchantId); return couponOrder; } + + private boolean verifyMerchant(WxMerchantBUser bUser,Long merchantId){ + if(bUser.getMerchantId().equals(merchantId)){ + return true; + } + if(bUser.getOtherMerchantIds().contains(merchantId.toString())){ + return true; + } + return false; + } @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class})