From eb71b8d45d349a9c021eb7fa39b7212865ca41b5 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 27 Sep 2024 17:35:22 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=88=86=E6=88=90=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/StationSplitConfigServiceImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) 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位手续费承担方");