From 11f363d868b86e15088c89efb53ed81eaccfc923 Mon Sep 17 00:00:00 2001 From: xhxu Date: Thu, 24 Mar 2022 10:39:10 +0800 Subject: [PATCH] //add sharing --- .../impl/WxCouponOrderServiceImpl.java | 23 ++++++++++++++++++- .../impl/WxProfitSharingOrderServiceImpl.java | 4 ++-- 2 files changed, 24 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 39eacb9b0..4d9d9401d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -1684,7 +1684,28 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } catch (Exception e) { logger.error("核销记账失败"+e.getMessage(),e); } - } + }else if(wxPayOrder != null){ + WxProfitSharingReceiver psReceiverQ = new WxProfitSharingReceiver(); + psReceiverQ.updateTenantInfo(wxPayOrder); + psReceiverQ.setMerchantId(merchantId); + psReceiverQ.setSharingType(payServiceFactory.getPayShareAdapterService(payWay).getProfitSharingType()); + psReceiverQ.setStatus(EnumProfitSharingReceiverStatus.PROFIT_SHARING_RECEIVER_STATUS_VALID.getCode()); + psReceiverQ.setPlat(EnumPayWay.getEnum(payWay).getPlat().getCode()); + if(EnumAppPlat.TOUTIAO.getCode().equals(psReceiverQ.getPlat())){ + psReceiverQ.setIsUse(EnumProfitSharingUse.YES.getCode()); + } + List psReceiverList = wxProfitSharingReceiverMapper.findList(psReceiverQ); + if (psReceiverList == null || psReceiverList.size() == 0) { + try { + // 查询不到分账帐号,往账户里面记帐 + if (couponOrder.getCouponPrice() > 0) { + recordAfterVerified(couponOrder, merchantId); + } + } catch (Exception e) { + logger.error("核销记账失败"+e.getMessage(),e); + } + } + } if(wxPayOrder != null){ WxSharingOrderDto wxSharingOrderDto = new WxSharingOrderDto(); wxSharingOrderDto.setCUserId(wxPayOrder.getCUserId()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java index d9ebe6e5f..f13bdf134 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java @@ -256,11 +256,11 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ psReceiverQ.setIsUse(EnumProfitSharingUse.YES.getCode()); } List psReceiverList = wxProfitSharingReceiverMapper.findList(psReceiverQ); - if (psReceiverList.size() < 0 || psReceiverList.size() > 50) { + if (psReceiverList != null || psReceiverList.size() > 50) { return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); } - if (psReceiverList.size() == 0) { //没有分账账户,直接结束分账 + if (psReceiverList == null || psReceiverList.size() == 0) { //没有分账账户,直接结束分账 if (sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE.getCode())) sharingOrderDto.setType(EnumProfitSharingOrderType.PROFIT_SHARING_SINGLE_FINISH.getCode()); if (sharingOrderDto.getType().equals(EnumProfitSharingOrderType.PROFIT_SHARING_MULTI.getCode()))