update 分成功能

This commit is contained in:
Guoqs
2024-09-27 17:35:22 +08:00
parent be53631df7
commit eb71b8d45d

View File

@@ -6,6 +6,7 @@ import com.jsowell.common.enums.DelFlagEnum;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.SecurityUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.domain.AdapayMemberAccount;
import com.jsowell.pile.domain.StationSplitConfig;
import com.jsowell.pile.dto.SplitConfigDTO;
@@ -53,16 +54,25 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{
// 校验分成比例相加是否为100.0%
List<SplitUserDetailDTO> splitUserDetailList = splitConfigDTO.getSplitUserDetailList();
int feeFlagCount = 0; // 手续费承担方数
BigDecimal totalElectricitySplitRatio = BigDecimal.ZERO;
BigDecimal totalServiceSplitRatio = BigDecimal.ZERO;
boolean haveTheMerchant = false; // 有本运营商的汇付账户
for (SplitUserDetailDTO splitUserDetailDTO : splitUserDetailList) {
if (StringUtils.equals(splitUserDetailDTO.getAdapayMemberId(), adapayMemberAccount.getAdapayMemberId())) {
haveTheMerchant = true;
}
if (Constants.ONE.equals(splitUserDetailDTO.getFeeFlag())) {
feeFlagCount++;
}
totalElectricitySplitRatio = totalElectricitySplitRatio.add(splitUserDetailDTO.getElectricitySplitRatio());
totalServiceSplitRatio = totalServiceSplitRatio.add(splitUserDetailDTO.getServiceSplitRatio());
}
if (!haveTheMerchant) {
// 没有本运营商的汇付账户, 抛出异常
throw new BusinessException("", "参与分成的用户中未包含本运营商的汇付账户");
}
if (feeFlagCount != 1) {
// 只能有一位手续费承担方, 超过则报错
throw new BusinessException("", "手续费承担方设置错误, 有且只能有1位手续费承担方");