| @@ -1271,10 +1271,10 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| if(cm == null){ | if(cm == null){ | ||||
| throw new MallinkException(ErrorCode.VERIFY_COUPON_ORDER_MERCHANT_IS_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); | 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())){ | }else if(EnumCouponType.COUPON_GIFT.getCode().equals(wxCoupon.getType())){ | ||||
| if (StringUtils.isBlank(wxCoupon.getGiftList())){ | if (StringUtils.isBlank(wxCoupon.getGiftList())){ | ||||
| logger.error("券包: coupon-" + wxCoupon.getId() + "数据异常" + "couponOrder-" + couponOrder.getId()); | logger.error("券包: coupon-" + wxCoupon.getId() + "数据异常" + "couponOrder-" + couponOrder.getId()); | ||||
| @@ -1292,7 +1292,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| wxCouponMerchant.setProductId(wxCoupon.getId()); | wxCouponMerchant.setProductId(wxCoupon.getId()); | ||||
| wxCouponMerchant.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode()); | wxCouponMerchant.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode()); | ||||
| List<WxCouponMerchant> couponMerchantList = wxCouponMerchantMapper.findList(wxCouponMerchant); | List<WxCouponMerchant> 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()); | logger.error("券: coupon-" + wxCoupon.getId() + "核销: couponMerchantId-" + bUser.getMerchantId()); | ||||
| throw new MallinkException(ErrorCode.VERIFY_COUPON_ORDER_MERCHANT_IS_NULL); | throw new MallinkException(ErrorCode.VERIFY_COUPON_ORDER_MERCHANT_IS_NULL); | ||||
| } | } | ||||
| @@ -1362,6 +1362,16 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| couponOrder.setMerchantId(merchantId); | couponOrder.setMerchantId(merchantId); | ||||
| return couponOrder; | 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 | @Override | ||||
| @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) | ||||