|
|
|
@@ -255,23 +255,22 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ |
|
|
|
psReceiverQ.setStatus(EnumProfitSharingReceiverStatus.PROFIT_SHARING_RECEIVER_STATUS_VALID.getCode()); |
|
|
|
List<WxProfitSharingReceiver> psReceiverList = wxProfitSharingReceiverMapper.findList(psReceiverQ); |
|
|
|
if (psReceiverList.size() < 0 || psReceiverList.size() > 50) { |
|
|
|
throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); |
|
|
|
return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); |
|
|
|
} |
|
|
|
|
|
|
|
if (psReceiverList.size() == 0) { //没有分账账户,直接分入商户号 |
|
|
|
WxProfitSharingReceiver receiver = new WxProfitSharingReceiver(); |
|
|
|
receiver.setReceiverAccount(payAccount.getSubMchId()); |
|
|
|
receiver.setReceiverType(EnumProfitSharingReceiverType.PROFIT_SHARING_RECEIVER_MERCHANT_ID.getCode()); |
|
|
|
receiver.setSharingAmount(sharingOrderDto.getShareAmount()); |
|
|
|
receiver.setParameter(null); |
|
|
|
receiver.setId(0L); |
|
|
|
psReceiverList.add(receiver); |
|
|
|
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_INVALID); |
|
|
|
|
|
|
|
return finishSharingOrder(sharingOrderDto); |
|
|
|
} |
|
|
|
|
|
|
|
//计算分账账户合法性 |
|
|
|
if (psReceiverList.size() > 1 && |
|
|
|
psReceiverList.stream().filter(r->(r.getParameter() == null)).count() > 0) { |
|
|
|
throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); |
|
|
|
return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); |
|
|
|
} |
|
|
|
|
|
|
|
//计算分账金额合法性 |
|
|
|
@@ -284,7 +283,7 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ |
|
|
|
} |
|
|
|
}); |
|
|
|
if (psReceiverList.stream().mapToInt(r->r.getSharingAmount()).sum() > sharingOrderDto.getShareAmount()){ |
|
|
|
throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); |
|
|
|
return new ResultData(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); |
|
|
|
} |
|
|
|
|
|
|
|
//单次分账检查是否已创建分账订单 |
|
|
|
|