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) {