From 70e82d6cdd7b9c0de5153aef2e1dbe0e26c82306 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Mon, 12 Oct 2020 18:12:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E8=B4=A6bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/WxProfitSharingOrderServiceImpl.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) 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 f22f86f80..bb5b3b1b8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java @@ -233,21 +233,26 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ psReceiverQ.setSharingType(payServiceFactory.getPayShareAdapterService(payWay).getProfitSharingType()); psReceiverQ.setStatus(EnumProfitSharingReceiverStatus.PROFIT_SHARING_RECEIVER_STATUS_VALID.getCode()); List psReceiverList = wxProfitSharingReceiverMapper.findList(psReceiverQ); - if (psReceiverList.size() <= 0 || psReceiverList.size() > 50) { + if (psReceiverList.size() < 0 || psReceiverList.size() > 50) { return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); } -// if (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())) -// return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_UNKNOWN); -// if(sharingOrderDto.getRateAmount() != null) { -// // 分账完结 -// sharingOrderDto.setShareAmount(sharingOrderDto.getPayAmount()+sharingOrderDto.getRateAmount()); -// } -// return finishSharingOrder(sharingOrderDto,payWay); -// } + //如果开启了分账,就必须要配置分账账号 + if (null != payAccount.getShare() && EnumPayShare.YES.getCode().intValue() == payAccount.getShare().intValue() && psReceiverList.size() == 0) { + return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); + } + + if (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())) + return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_UNKNOWN); + if(sharingOrderDto.getRateAmount() != null) { + // 分账完结 + sharingOrderDto.setShareAmount(sharingOrderDto.getPayAmount()+sharingOrderDto.getRateAmount()); + } + return finishSharingOrder(sharingOrderDto,payWay); + } //计算分账账户合法性 if (psReceiverList.size() > 1 && psReceiverList.stream().filter(r->(r.getParameter() == null)).count() > 0) {