| @@ -96,6 +96,9 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { | |||||
| @Autowired | @Autowired | ||||
| private WxProfitSharingReceiverMapper wxProfitSharingReceiverMapper; | private WxProfitSharingReceiverMapper wxProfitSharingReceiverMapper; | ||||
| @Autowired | |||||
| private WxCouponMallMapper wxCouponMallMapper; | |||||
| /** | /** | ||||
| * B端业务端 | * B端业务端 | ||||
| * @param record | * @param record | ||||
| @@ -596,11 +599,39 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { | |||||
| private boolean isCouponMerchantValid(Long couponId,TenantEntity tenantEntity) { | |||||
| List<WxMerchantVo> merchantVoList = wxMerchantService.findMerchantListByProduct(tenantEntity,couponId,false); | |||||
| if (merchantVoList.stream().anyMatch((cm->cm.getMerchantStatus().equals(EnumMerchantStatus.VALID.getCode())))){ | |||||
| return true; | |||||
| } | |||||
| private boolean isCouponMerchantValid(Long couponId,Integer couponType,TenantEntity couponTenantEntity) { | |||||
| if (EnumCouponType.isParentCoupon(couponType)) { | |||||
| WxCouponMall couponMall = new WxCouponMall(); | |||||
| couponMall.updateTenantInfo(couponTenantEntity); | |||||
| couponMall.setProductId(couponId); | |||||
| couponMall.setStatus(EnumCouponMallStatus.FINISED.getCode()) ; | |||||
| List<WxCouponMall> couponMallList = wxCouponMallMapper.findList(couponMall); | |||||
| if (null == couponMallList ) { | |||||
| return false; | |||||
| } | |||||
| for (int i = 0 ; i < couponMallList.size(); i++) { | |||||
| WxCouponMall wcm = couponMallList.get(i); | |||||
| TenantEntity mallTenantEntity = new TenantEntity(); | |||||
| mallTenantEntity.setTenantId(wcm.getMallTenantId()); | |||||
| mallTenantEntity.setParentTenantId(couponTenantEntity.getTenantId()); | |||||
| List<WxMerchantVo> merchantVoList = wxMerchantService.findMerchantListByProduct(mallTenantEntity,couponId,false); | |||||
| if (null != merchantVoList && merchantVoList.size() > 0 ) { | |||||
| if (merchantVoList.stream().anyMatch((cm->cm.getMerchantStatus().equals(EnumMerchantStatus.VALID.getCode())))){ | |||||
| return true; | |||||
| } | |||||
| } | |||||
| } | |||||
| return false; | |||||
| }else { | |||||
| List<WxMerchantVo> merchantVoList = wxMerchantService.findMerchantListByProduct(couponTenantEntity,couponId,false); | |||||
| if (null == merchantVoList || merchantVoList.size() <=0 ) { | |||||
| return false; | |||||
| } | |||||
| if (merchantVoList.stream().anyMatch((cm->cm.getMerchantStatus().equals(EnumMerchantStatus.VALID.getCode())))){ | |||||
| return true; | |||||
| } | |||||
| } | |||||
| return false; | return false; | ||||
| } | } | ||||
| @@ -653,7 +684,7 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { | |||||
| } | } | ||||
| if(!EnumCouponType.COUPON_GIFT.getCode().equals(wxCoupon.getType()) | if(!EnumCouponType.COUPON_GIFT.getCode().equals(wxCoupon.getType()) | ||||
| && !isCouponMerchantValid(wxCoupon.getId(),wxCoupon)) { | |||||
| && !isCouponMerchantValid(wxCoupon.getId(),wxCoupon.getType(),wxCoupon)) { | |||||
| logger.debug(wxCoupon.getId()+couponid+ErrorCode.MERCHANT_INFO_NOT_FOUND.getMessage()); | logger.debug(wxCoupon.getId()+couponid+ErrorCode.MERCHANT_INFO_NOT_FOUND.getMessage()); | ||||
| vo.toCouponChannnelVo(wxCoupon,channelId); | vo.toCouponChannnelVo(wxCoupon,channelId); | ||||
| vo.setErrorMsg(ErrorCode.MERCHANT_INFO_NOT_FOUND.getMessage()); | vo.setErrorMsg(ErrorCode.MERCHANT_INFO_NOT_FOUND.getMessage()); | ||||