mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-07 11:29:58 +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.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位手续费承担方");
|
||||||
|
|||||||
Reference in New Issue
Block a user