mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 03:25:12 +08:00
update 分成功能
This commit is contained in:
@@ -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位手续费承担方");
|
||||
|
||||
Reference in New Issue
Block a user