diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/StationSplitConfigServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/StationSplitConfigServiceImpl.java index 9f35f6ac1..44c411887 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/StationSplitConfigServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/StationSplitConfigServiceImpl.java @@ -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 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位手续费承担方");