| @@ -382,7 +382,7 @@ public class WxCouponOrderController extends BaseController { | |||||
| } | } | ||||
| if (couponOrder != null && couponOrder.getMerchantId() != null) { | if (couponOrder != null && couponOrder.getMerchantId() != null) { | ||||
| wxCouponOrderService.sendInsideCouponVerifyMsg(couponOrder, couponOrderId, couponOrder.getMerchantId()); | |||||
| wxCouponOrderService.sendInsideCouponVerifyMsg(couponOrder, couponOrderId, couponOrder.getMerchantId(),couponOrder.getBMerchantId()); | |||||
| } | } | ||||
| return new ResultData(couponOrder); | return new ResultData(couponOrder); | ||||
| @@ -516,7 +516,7 @@ public class WxCouponOrderController extends BaseController { | |||||
| } | } | ||||
| if (couponOrder != null && couponOrder.getMerchantId() != null) { | if (couponOrder != null && couponOrder.getMerchantId() != null) { | ||||
| wxCouponOrderService.sendInsideCouponVerifyMsg(couponOrder, couponOrderId, couponOrder.getMerchantId()); | |||||
| wxCouponOrderService.sendInsideCouponVerifyMsg(couponOrder, couponOrderId, couponOrder.getMerchantId(),couponOrder.getBMerchantId()); | |||||
| } | } | ||||
| return new ResultData(couponOrder); | return new ResultData(couponOrder); | ||||
| @@ -2178,7 +2178,7 @@ public class PosServiceImpl implements PosService { | |||||
| logger.error("交易核销积分异常:" + e.getMessage()); | logger.error("交易核销积分异常:" + e.getMessage()); | ||||
| } | } | ||||
| // 3. 核销后处理 | // 3. 核销后处理 | ||||
| couponOrderService.sendInsideCouponVerifyMsg(merchantBUser, couponOrderId, merchantBUser.getMerchantId()); | |||||
| couponOrderService.sendInsideCouponVerifyMsg(merchantBUser, couponOrderId, merchantBUser.getMerchantId(),merchantBUser.getMerchantId()); | |||||
| } | } | ||||
| return payOrder; | return payOrder; | ||||
| } | } | ||||
| @@ -133,7 +133,7 @@ public class CouponOrderExpiringSchedule { | |||||
| } | } | ||||
| if (couponOrder != null && couponOrder.getMerchantId() != null) { | if (couponOrder != null && couponOrder.getMerchantId() != null) { | ||||
| wxCouponOrderService.sendInsideCouponVerifyMsg(couponOrder, couponOrder.getId(), couponOrder.getMerchantId()); | |||||
| wxCouponOrderService.sendInsideCouponVerifyMsg(couponOrder, couponOrder.getId(), couponOrder.getMerchantId(),couponOrder.getBMerchantId()); | |||||
| } | } | ||||
| }); | }); | ||||
| } | } | ||||
| @@ -12,6 +12,8 @@ public class FmInsideCouponVerifyMsg extends BaseMsg{ | |||||
| @io.swagger.annotations.ApiModelProperty(value = "券包ID", name = "couponOrderId") | @io.swagger.annotations.ApiModelProperty(value = "券包ID", name = "couponOrderId") | ||||
| private Long couponOrderId; | private Long couponOrderId; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "B端商户ID", name = "merchantId") | |||||
| @io.swagger.annotations.ApiModelProperty(value = "分账商户", name = "merchantId") | |||||
| private Long merchantId; | private Long merchantId; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "核销商户", name = "bmerchantId") | |||||
| private Long bmerchantId; | |||||
| } | } | ||||
| @@ -65,15 +65,16 @@ public interface WxCouponOrderService { | |||||
| /** | /** | ||||
| * 核销后发送消息 | * 核销后发送消息 | ||||
| */ | */ | ||||
| void sendInsideCouponVerifyMsg(TenantEntity tenantEntity, Long couponOrderId, Long merchantId); | |||||
| void sendInsideCouponVerifyMsg(TenantEntity tenantEntity, Long couponOrderId, Long merchantId, Long bmerchantId); | |||||
| /** | /** | ||||
| * 核销后处理 | * 核销后处理 | ||||
| * | * | ||||
| * @param couponOrder | * @param couponOrder | ||||
| * @param | |||||
| * @param merchant 分账商户 | |||||
| * @param bmerchant 核销商户 | |||||
| */ | */ | ||||
| void actionAfterVerify(WxCouponOrder couponOrder, WxMerchant merchant); | |||||
| void actionAfterVerify(WxCouponOrder couponOrder, WxMerchant merchant, WxMerchant bmerchant); | |||||
| /** | /** | ||||
| * 核销发券 | * 核销发券 | ||||
| @@ -1274,7 +1274,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| if(EnumCouponVerifyType.VERIFY_B.equals(couponVerifyType) && !verifyMerchant(bUser,cm.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 = bUser.getMerchantId(); | |||||
| merchantId = cm.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()); | ||||
| @@ -1309,8 +1309,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| && EnumPayShare.YES.getCode().equals(wxPayOrder.getShare())){ | && EnumPayShare.YES.getCode().equals(wxPayOrder.getShare())){ | ||||
| payServiceFactory.getPayShareAdapterService(wxPayOrder.getPayVendor()) | payServiceFactory.getPayShareAdapterService(wxPayOrder.getPayVendor()) | ||||
| .getReceiverList(couponOrder, merchantId, wxPayOrder.getTtPayWay()); | .getReceiverList(couponOrder, merchantId, wxPayOrder.getTtPayWay()); | ||||
| }else if(wxPayOrder != null && EnumPayMchType.DIRECT.getCode().equals(wxPayOrder.getMchType())){ | |||||
| merchantId = wxPayOrder.getChildOrderShare(couponOrder.getOrderId()).getMerchantId(); | |||||
| } | } | ||||
| } | } | ||||
| int num = 0; | int num = 0; | ||||
| @@ -1444,7 +1445,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| } | } | ||||
| if (couponOrder != null && couponOrder.getMerchantId() != null) { | if (couponOrder != null && couponOrder.getMerchantId() != null) { | ||||
| this.sendInsideCouponVerifyMsg(couponOrder, couponOrderId, couponOrder.getMerchantId()); | |||||
| this.sendInsideCouponVerifyMsg(couponOrder, couponOrderId, couponOrder.getMerchantId(),couponOrder.getBMerchantId()); | |||||
| } | } | ||||
| return couponOrder; | return couponOrder; | ||||
| @@ -1567,17 +1568,21 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public void sendInsideCouponVerifyMsg(TenantEntity tenantEntity, Long couponOrderId, Long merchantId) { | |||||
| public void sendInsideCouponVerifyMsg(TenantEntity tenantEntity, Long couponOrderId, Long merchantId, Long bmerchantId) { | |||||
| if(bmerchantId == null || bmerchantId.longValue() == 0l){ | |||||
| bmerchantId = merchantId; | |||||
| } | |||||
| FmInsideCouponVerifyMsg verifyMsg = new FmInsideCouponVerifyMsg(); | FmInsideCouponVerifyMsg verifyMsg = new FmInsideCouponVerifyMsg(); | ||||
| verifyMsg.setMsgType(EnumMsgRecordType.INSIDE_COUPON_VERIFY.getCode()); | verifyMsg.setMsgType(EnumMsgRecordType.INSIDE_COUPON_VERIFY.getCode()); | ||||
| verifyMsg.updateTenantInfo(tenantEntity); | verifyMsg.updateTenantInfo(tenantEntity); | ||||
| verifyMsg.setCouponOrderId(couponOrderId); | verifyMsg.setCouponOrderId(couponOrderId); | ||||
| verifyMsg.setMerchantId(merchantId); | verifyMsg.setMerchantId(merchantId); | ||||
| verifyMsg.setBmerchantId(bmerchantId); | |||||
| mqBaseProducer.sendMessage(verifyMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); | mqBaseProducer.sendMessage(verifyMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode()); | ||||
| } | } | ||||
| @Override | @Override | ||||
| public void actionAfterVerify(WxCouponOrder couponOrder, WxMerchant merchant) { | |||||
| public void actionAfterVerify(WxCouponOrder couponOrder, WxMerchant merchant, WxMerchant bmerchant) { | |||||
| try { | try { | ||||
| boolean mulityShare = true; | boolean mulityShare = true; | ||||
| @@ -1600,7 +1605,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| try { | try { | ||||
| // 核销补贴 | // 核销补贴 | ||||
| subsidyAfterVerify(couponOrder, merchant.getId()); | |||||
| subsidyAfterVerify(couponOrder, bmerchant.getId()); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("核销记账失败"+e.getMessage(),e); | logger.error("核销记账失败"+e.getMessage(),e); | ||||
| } | } | ||||
| @@ -1614,7 +1619,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { | |||||
| } | } | ||||
| // 核销发模板消息 | // 核销发模板消息 | ||||
| try { | try { | ||||
| sendVerifyMsg(couponOrder, merchant, bSentCoupon); | |||||
| sendVerifyMsg(couponOrder, bmerchant, bSentCoupon); | |||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| logger.error("核销发送消息发生错误:" + e.getMessage(),e); | logger.error("核销发送消息发生错误:" + e.getMessage(),e); | ||||
| } | } | ||||
| @@ -1138,7 +1138,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| logger.error(e.getMessage()); | logger.error(e.getMessage()); | ||||
| } | } | ||||
| // 更新后处理 | // 更新后处理 | ||||
| wxCouponOrderService.sendInsideCouponVerifyMsg(unPayOrder, unPayOrder.getPosPayOrderId(), user.getMerchantId()); | |||||
| wxCouponOrderService.sendInsideCouponVerifyMsg(unPayOrder, unPayOrder.getPosPayOrderId(), user.getMerchantId(),user.getMerchantId()); | |||||
| } | } | ||||
| } | } | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| @@ -1260,7 +1260,7 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { | |||||
| logger.error(e.getMessage()); | logger.error(e.getMessage()); | ||||
| } | } | ||||
| // 更新后处理 | // 更新后处理 | ||||
| wxCouponOrderService.sendInsideCouponVerifyMsg(unPayOrder, unPayOrder.getPosPayOrderId(), user.getMerchantId()); | |||||
| wxCouponOrderService.sendInsideCouponVerifyMsg(unPayOrder, unPayOrder.getPosPayOrderId(), user.getMerchantId(),user.getMerchantId()); | |||||
| } | } | ||||
| } | } | ||||
| } catch (Exception e) { | } catch (Exception e) { | ||||
| @@ -48,9 +48,16 @@ public class FmInsideCouponVerifyMsgServiceImpl implements MsgSendService { | |||||
| logger.error("门店未找到: " + msg.getMerchantId()); | logger.error("门店未找到: " + msg.getMerchantId()); | ||||
| throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(), "门店未找到" + msg.getMerchantId()); | throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(), "门店未找到" + msg.getMerchantId()); | ||||
| } | } | ||||
| WxMerchant bmerchant = null; | |||||
| if(msg.getBmerchantId() != null && msg.getBmerchantId().longValue() > 0l | |||||
| && !msg.getBmerchantId().equals(msg.getMerchantId())){ | |||||
| bmerchant = merchantService.selectById(msg.getBmerchantId()); | |||||
| }else{ | |||||
| bmerchant = merchant; | |||||
| } | |||||
| orderService.sendInsideOrderPushDeliveryMsg(couponOrder,null,couponOrder.getId()); | orderService.sendInsideOrderPushDeliveryMsg(couponOrder,null,couponOrder.getId()); | ||||
| // orderService.sendInsideOrderPushMsg(couponOrder,couponOrder.getComposeOrderId()); | // orderService.sendInsideOrderPushMsg(couponOrder,couponOrder.getComposeOrderId()); | ||||
| couponOrderService.actionAfterVerify(couponOrder, merchant); | |||||
| couponOrderService.actionAfterVerify(couponOrder, merchant, bmerchant); | |||||
| } | } | ||||
| } | } | ||||