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