From e0f6b927eda8b4f441a2b1adce507975bdb91cf3 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 27 Sep 2024 14:01:42 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E5=BC=80=E5=90=AF=E4=BD=99=E9=A2=9D?= =?UTF-8?q?=E5=85=85=E7=94=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/service/OrderService.java | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index a1e10dd46..28b95d35e 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -41,13 +41,14 @@ import com.jsowell.pile.dto.*; import com.jsowell.pile.service.*; import com.jsowell.pile.service.programlogic.AbstractProgramLogic; import com.jsowell.pile.service.programlogic.ProgramLogicFactory; -import com.jsowell.pile.util.MerchantUtils; import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.vo.OrderPayRecordVO; -import com.jsowell.pile.vo.base.*; +import com.jsowell.pile.vo.base.OrderAmountDetailVO; +import com.jsowell.pile.vo.base.OrderPeriodAmountVO; import com.jsowell.pile.vo.base.PileInfoVO; -import com.jsowell.pile.vo.uniapp.customer.*; +import com.jsowell.pile.vo.base.StationInfoVO; import com.jsowell.pile.vo.uniapp.customer.InvoiceRecordVO; +import com.jsowell.pile.vo.uniapp.customer.*; import com.jsowell.pile.vo.web.*; import com.jsowell.thirdparty.common.CommonService; import com.jsowell.wxpay.response.WechatPayNotifyParameter; @@ -839,23 +840,22 @@ public class OrderService { ); } // 如果是希晓的会员,将余额支付添加进去 - if (MerchantUtils.isXiXiaoMerchant(String.valueOf(memberBasicInfo.getMerchantId()))) { // 35-希晓 - // 余额支付 - result.add( - PayModeVO.builder() - .payModeCode(OrderPayModeEnum.PAYMENT_OF_PRINCIPAL_BALANCE.getValue()) - .payModeName(OrderPayModeEnum.PAYMENT_OF_PRINCIPAL_BALANCE.getLabel()) - .build() - ); - } else { - // 2024年9月27日09点49分 开启余额支付 - result.add( - PayModeVO.builder() - .payModeCode(OrderPayModeEnum.PAYMENT_OF_PRINCIPAL_BALANCE.getValue()) - .payModeName(OrderPayModeEnum.PAYMENT_OF_PRINCIPAL_BALANCE.getLabel()) - .build() - ); - } + // if (MerchantUtils.isXiXiaoMerchant(String.valueOf(memberBasicInfo.getMerchantId()))) { // 35-希晓 + // // 余额支付 + // result.add( + // PayModeVO.builder() + // .payModeCode(OrderPayModeEnum.PAYMENT_OF_PRINCIPAL_BALANCE.getValue()) + // .payModeName(OrderPayModeEnum.PAYMENT_OF_PRINCIPAL_BALANCE.getLabel()) + // .build() + // ); + // } + // 2024年9月27日09点49分 开启余额支付 + result.add( + PayModeVO.builder() + .payModeCode(OrderPayModeEnum.PAYMENT_OF_PRINCIPAL_BALANCE.getValue()) + .payModeName(OrderPayModeEnum.PAYMENT_OF_PRINCIPAL_BALANCE.getLabel()) + .build() + ); } return result; } From fd5333f7ed0dcfd5b5b6dda0626bdbaec59819a4 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 27 Sep 2024 16:41:02 +0800 Subject: [PATCH 02/10] =?UTF-8?q?update=20=E5=88=86=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/StationSplitConfigController.java | 13 ++++++++++--- .../pile/service/StationSplitConfigService.java | 2 +- .../service/impl/StationSplitConfigServiceImpl.java | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/StationSplitConfigController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/StationSplitConfigController.java index 76e629d3f..84f719823 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/StationSplitConfigController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/StationSplitConfigController.java @@ -21,11 +21,18 @@ public class StationSplitConfigController extends BaseController { @Autowired private StationSplitConfigService stationSplitConfigService; - @RequestMapping("/insertSplitConfig") - public AjaxResult insertSplitConfig(HttpServletRequest request, @RequestBody SplitConfigDTO splitDetailDTO) { + /** + * 设置站点配置 + * /station/splitconfig/settingSplitConfig + * @param request + * @param splitDetailDTO + * @return + */ + @RequestMapping("/settingSplitConfig") + public AjaxResult settingSplitConfig(HttpServletRequest request, @RequestBody SplitConfigDTO splitDetailDTO) { AjaxResult ajaxResult; try { - int result = stationSplitConfigService.insertSplitConfig(splitDetailDTO); + int result = stationSplitConfigService.settingSplitConfig(splitDetailDTO); ajaxResult = result > 0 ? success() : error(); } catch (BusinessException e) { ajaxResult = error(e.getMessage()); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java index 1e7ff6b2f..e6b53f14b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java @@ -14,6 +14,6 @@ public interface StationSplitConfigService{ List queryByStationId(String stationId); // 插入站点分账配置信息 - int insertSplitConfig(SplitConfigDTO splitConfigDTO); + int settingSplitConfig(SplitConfigDTO splitConfigDTO); } 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 5d0588845..113424da4 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 @@ -30,7 +30,7 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{ } @Override - public int insertSplitConfig(SplitConfigDTO splitConfigDTO) { + public int settingSplitConfig(SplitConfigDTO splitConfigDTO) { // 参与分成的用户不能超过7位 if (splitConfigDTO.getSplitUserDetailList().size() > 7) { throw new BusinessException("", "参与分成的用户不能超过7位"); From 69282a7960e7054eb2fa7944ea8575632368071e Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 27 Sep 2024 17:23:24 +0800 Subject: [PATCH 03/10] =?UTF-8?q?update=20=E5=88=86=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/pile/StationSplitConfigMapper.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/jsowell-pile/src/main/resources/mapper/pile/StationSplitConfigMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/StationSplitConfigMapper.xml index 94a4ff903..cc467688a 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/StationSplitConfigMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/StationSplitConfigMapper.xml @@ -29,6 +29,7 @@ from station_split_config where del_flag = '0' and station_id = #{stationId} + order by fee_flag From be53631df7747b6036dff936ace4efd4c4c7a201 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 27 Sep 2024 17:30:52 +0800 Subject: [PATCH 04/10] =?UTF-8?q?update=20=E5=88=86=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/pile/dto/SplitUserDetailDTO.java | 2 +- .../impl/StationSplitConfigServiceImpl.java | 30 ++++++++++++++----- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/SplitUserDetailDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/SplitUserDetailDTO.java index 04080c4b9..398a834cc 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/SplitUserDetailDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/SplitUserDetailDTO.java @@ -18,6 +18,6 @@ public class SplitUserDetailDTO { // 服务费分成比例 private BigDecimal serviceSplitRatio; - // 是否手续费承担方,N-否,Y-是,手续费承担方有且只能有一个 + // 是否手续费承担方,0-否,1-是,手续费承担方有且只能有一个 private String feeFlag; } 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 113424da4..9f35f6ac1 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,11 +6,14 @@ 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.pile.domain.AdapayMemberAccount; import com.jsowell.pile.domain.StationSplitConfig; import com.jsowell.pile.dto.SplitConfigDTO; import com.jsowell.pile.dto.SplitUserDetailDTO; import com.jsowell.pile.mapper.StationSplitConfigMapper; +import com.jsowell.pile.service.AdapayMemberAccountService; import com.jsowell.pile.service.StationSplitConfigService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -24,6 +27,9 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{ @Resource private StationSplitConfigMapper stationSplitConfigMapper; + @Autowired + private AdapayMemberAccountService adapayMemberAccountService; + @Override public List queryByStationId(String stationId) { return stationSplitConfigMapper.queryByStationId(stationId); @@ -35,21 +41,31 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{ if (splitConfigDTO.getSplitUserDetailList().size() > 7) { throw new BusinessException("", "参与分成的用户不能超过7位"); } - // 只能有一位手续费承担方, 超过则报错 - int feeFlagCount = 0; + + // 根据运营商查询汇付会员信息 + AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMerchantId(splitConfigDTO.getMerchantId()); + if (adapayMemberAccount == null) { + throw new BusinessException("", "未查询到该运营商的汇付会员信息"); + } + if (!Constants.ONE.equals(adapayMemberAccount.getStatus())) { + throw new BusinessException("", "该运营商的汇付会员信息未审核通过"); + } + // 校验分成比例相加是否为100.0% List splitUserDetailList = splitConfigDTO.getSplitUserDetailList(); + int feeFlagCount = 0; // 手续费承担方数 BigDecimal totalElectricitySplitRatio = BigDecimal.ZERO; BigDecimal totalServiceSplitRatio = BigDecimal.ZERO; for (SplitUserDetailDTO splitUserDetailDTO : splitUserDetailList) { - totalElectricitySplitRatio = totalElectricitySplitRatio.add(splitUserDetailDTO.getElectricitySplitRatio()); - totalServiceSplitRatio = totalServiceSplitRatio.add(splitUserDetailDTO.getServiceSplitRatio()); - if (Constants.Y.equals(splitUserDetailDTO.getFeeFlag())) { + if (Constants.ONE.equals(splitUserDetailDTO.getFeeFlag())) { feeFlagCount++; } + totalElectricitySplitRatio = totalElectricitySplitRatio.add(splitUserDetailDTO.getElectricitySplitRatio()); + totalServiceSplitRatio = totalServiceSplitRatio.add(splitUserDetailDTO.getServiceSplitRatio()); } - if (feeFlagCount > 1) { - throw new BusinessException("", "只能有一位手续费承担方"); + if (feeFlagCount != 1) { + // 只能有一位手续费承担方, 超过则报错 + throw new BusinessException("", "手续费承担方设置错误, 有且只能有1位手续费承担方"); } if (totalElectricitySplitRatio.compareTo(BigDecimal.valueOf(100)) != 0) { throw new BusinessException("", "电费分成比例相加必须为100.0%"); 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 05/10] =?UTF-8?q?update=20=E5=88=86=E6=88=90=E5=8A=9F?= =?UTF-8?q?=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位手续费承担方"); From a5c1b45261d5681976cb61adfd5f92e7b54e04ad Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 27 Sep 2024 17:52:12 +0800 Subject: [PATCH 06/10] =?UTF-8?q?update=20=E5=88=86=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsowell/service/OrderService.java | 2 +- .../service/AdapayMemberAccountService.java | 2 +- .../service/StationSplitConfigService.java | 3 +++ .../impl/AdapayMemberAccountServiceImpl.java | 2 +- .../impl/OrderBasicInfoServiceImpl.java | 5 +++-- .../impl/StationSplitConfigServiceImpl.java | 22 +++++++++++++++++++ .../jsowell/pile/vo/web/ShareMemberVO.java | 10 ++++----- 7 files changed, 36 insertions(+), 10 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index 28b95d35e..5c3398044 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -1278,7 +1278,7 @@ public class OrderService { if (StringUtils.isBlank(memberId)) { return; } - AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByMemberId(memberId); + AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByAdapayMemberId(memberId); if (adapayMemberAccount == null) { return; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/AdapayMemberAccountService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/AdapayMemberAccountService.java index fa2cbd23c..f0e9b8528 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/AdapayMemberAccountService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/AdapayMemberAccountService.java @@ -61,7 +61,7 @@ public interface AdapayMemberAccountService { AdapayMemberAccount selectByMerchantId(String merchantId); - AdapayMemberAccount selectByMemberId(String memberId); + AdapayMemberAccount selectByAdapayMemberId(String adapayMemberId); void updateAdapayMemberAccountByMemberId(AdapayMemberAccount adapayMemberAccount); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java index e6b53f14b..e006218e9 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java @@ -2,6 +2,7 @@ package com.jsowell.pile.service; import com.jsowell.pile.domain.StationSplitConfig; import com.jsowell.pile.dto.SplitConfigDTO; +import com.jsowell.pile.vo.web.ShareMemberVO; import java.util.List; @@ -13,6 +14,8 @@ public interface StationSplitConfigService{ // 根据站点id查询站点分账配置信息 List queryByStationId(String stationId); + List queryShareMembersByStationId(String stationId); + // 插入站点分账配置信息 int settingSplitConfig(SplitConfigDTO splitConfigDTO); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java index e9c49b96c..bdcc92e07 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java @@ -114,7 +114,7 @@ public class AdapayMemberAccountServiceImpl implements AdapayMemberAccountServic @Override - public AdapayMemberAccount selectByMemberId(String memberId) { + public AdapayMemberAccount selectByAdapayMemberId(String memberId) { return adapayMemberAccountMapper.selectByMemberId(memberId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 24dfd79cb..649119a70 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -185,7 +185,8 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { @Autowired private IThirdpartySnRelationService snRelationService; - + @Autowired + private StationSplitConfigService stationSplitConfigService; @Override public int deleteByPrimaryKey(Integer id) { @@ -1523,7 +1524,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { } // 根据站点id查询该站点配置的分账信息, 如果为空表示本运营商分100% - List shareMemberList = Lists.newArrayList(); + List shareMemberList = stationSplitConfigService.queryShareMembersByStationId(orderBasicInfo.getStationId()); // 计算每个账户 订单分账金额 List divMemberList = splitAmount(shareMemberList, settleAmount, paymentInfos); 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 44c411887..4efb3ea2d 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 @@ -14,6 +14,8 @@ import com.jsowell.pile.dto.SplitUserDetailDTO; import com.jsowell.pile.mapper.StationSplitConfigMapper; import com.jsowell.pile.service.AdapayMemberAccountService; import com.jsowell.pile.service.StationSplitConfigService; +import com.jsowell.pile.vo.web.ShareMemberVO; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -36,6 +38,26 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{ return stationSplitConfigMapper.queryByStationId(stationId); } + @Override + public List queryShareMembersByStationId(String stationId) { + List resultList = Lists.newArrayList(); + List stationSplitConfigs = queryByStationId(stationId); + if (CollectionUtils.isEmpty(stationSplitConfigs)) { + // 如果为空的话,说明没有配置站点分账 + + } else { + for (StationSplitConfig stationSplitConfig : stationSplitConfigs) { + ShareMemberVO shareMemberVO = new ShareMemberVO(); + shareMemberVO.setAdapayMemberId(stationSplitConfig.getAdapayMemberId()); + shareMemberVO.setElectricityShareRatio(stationSplitConfig.getElectricitySplitRatio()); + shareMemberVO.setServiceShareRatio(stationSplitConfig.getServiceSplitRatio()); + shareMemberVO.setFeeFlag(StringUtils.equals(Constants.ONE, stationSplitConfig.getFeeFlag()) ? Constants.Y : Constants.N); + resultList.add(shareMemberVO); + } + } + return resultList; + } + @Override public int settingSplitConfig(SplitConfigDTO splitConfigDTO) { // 参与分成的用户不能超过7位 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/ShareMemberVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/ShareMemberVO.java index b88d42a20..2d4894a0c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/ShareMemberVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/ShareMemberVO.java @@ -14,11 +14,6 @@ public class ShareMemberVO { */ private String adapayMemberId; - /** - * 手机号 - */ - private String memberPhoneNumber; - /** * 电费分润比例 */ @@ -28,4 +23,9 @@ public class ShareMemberVO { * 服务费分润比例 */ private BigDecimal serviceShareRatio; + + /** + * 手续费承担方 + */ + private String feeFlag; } From 93f2bdfbf0f21f173acd4526c77ef1597553c0d4 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 27 Sep 2024 18:03:54 +0800 Subject: [PATCH 07/10] =?UTF-8?q?update=20=E5=88=86=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/AdapayMemberAccountService.java | 17 +++++++++++++++++ .../impl/AdapayMemberAccountServiceImpl.java | 11 +++++++++++ .../impl/PileStationInfoServiceImpl.java | 4 ++-- .../impl/StationSplitConfigServiceImpl.java | 10 +++++++++- 4 files changed, 39 insertions(+), 3 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/AdapayMemberAccountService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/AdapayMemberAccountService.java index f0e9b8528..06afb06ef 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/AdapayMemberAccountService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/AdapayMemberAccountService.java @@ -59,8 +59,25 @@ public interface AdapayMemberAccountService { */ int deleteAdapayMemberAccountByIds(List ids); + /** + * 根据运营商id查询汇付会员信息 + * @param merchantId 运营商id + * @return + */ AdapayMemberAccount selectByMerchantId(String merchantId); + /** + * 根据充电站id查询汇付会员信息 + * @param stationId 站点id + * @return + */ + AdapayMemberAccount selectByStationId(String stationId); + + /** + * 根据汇付会员id查询会员信息 + * @param adapayMemberId 汇付会员id + * @return + */ AdapayMemberAccount selectByAdapayMemberId(String adapayMemberId); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java index bdcc92e07..d45048af1 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java @@ -7,8 +7,10 @@ import com.jsowell.common.core.redis.RedisCache; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.AdapayMemberAccount; +import com.jsowell.pile.domain.PileStationInfo; import com.jsowell.pile.mapper.AdapayMemberAccountMapper; import com.jsowell.pile.service.AdapayMemberAccountService; +import com.jsowell.pile.service.PileStationInfoService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -32,6 +34,9 @@ public class AdapayMemberAccountServiceImpl implements AdapayMemberAccountServic @Autowired private RedisCache redisCache; + @Autowired + private PileStationInfoService pileStationInfoService; + /** * 查询【请填写功能名称】列表 * @@ -112,6 +117,12 @@ public class AdapayMemberAccountServiceImpl implements AdapayMemberAccountServic return adapayMemberAccount; } + @Override + public AdapayMemberAccount selectByStationId(String stationId) { + PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(Long.parseLong(stationId)); + return selectByMerchantId(String.valueOf(pileStationInfo.getMerchantId())); + } + @Override public AdapayMemberAccount selectByAdapayMemberId(String memberId) { diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java index 5880a5c77..a1d42a0ce 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java @@ -135,10 +135,10 @@ public class PileStationInfoServiceImpl implements PileStationInfoService { CurrentTimePriceDetails currentTimePriceDetails = pileBillingTemplateService.getCurrentTimePriceDetails(stationId); if (currentTimePriceDetails != null) { String electricityPrice = currentTimePriceDetails.getElectricityPrice(); - electricityPrice = StringUtils.isBlank(electricityPrice) ? "0" : electricityPrice; + electricityPrice = StringUtils.isBlank(electricityPrice) ? Constants.ZERO : electricityPrice; String servicePrice = currentTimePriceDetails.getServicePrice(); - servicePrice = StringUtils.isBlank(servicePrice) ? "0" : servicePrice; + servicePrice = StringUtils.isBlank(servicePrice) ? Constants.ZERO : servicePrice; vo.setElectricityPrice(new BigDecimal(electricityPrice)); vo.setServicePrice(new BigDecimal(servicePrice)); 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 4efb3ea2d..d5a945b23 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 @@ -44,7 +44,15 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{ List stationSplitConfigs = queryByStationId(stationId); if (CollectionUtils.isEmpty(stationSplitConfigs)) { // 如果为空的话,说明没有配置站点分账 - + AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.selectByStationId(stationId); + if (adapayMemberAccount != null) { + ShareMemberVO shareMemberVO = new ShareMemberVO(); + shareMemberVO.setAdapayMemberId(adapayMemberAccount.getAdapayMemberId()); + shareMemberVO.setElectricityShareRatio(BigDecimal.valueOf(100)); + shareMemberVO.setServiceShareRatio(BigDecimal.valueOf(100)); + shareMemberVO.setFeeFlag(Constants.Y); + resultList.add(shareMemberVO); + } } else { for (StationSplitConfig stationSplitConfig : stationSplitConfigs) { ShareMemberVO shareMemberVO = new ShareMemberVO(); From bdc33d3275682db12f35c16829fb23097f8d86ff Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 27 Sep 2024 18:09:23 +0800 Subject: [PATCH 08/10] =?UTF-8?q?update=20=E5=88=86=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/pile/service/StationSplitConfigService.java | 7 +++++++ .../pile/service/impl/StationSplitConfigServiceImpl.java | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java index e006218e9..25ae2cf29 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java @@ -14,6 +14,13 @@ public interface StationSplitConfigService{ // 根据站点id查询站点分账配置信息 List queryByStationId(String stationId); + /** + * 根据站点id查询站点分成用户信息 + * 如果没有配置分账用户,并且站点对应的运营商设置了结算账户, 返回本站对应的结算账户, 电费和服务费分成比例都为100% + * 如果没有配置分账用户, 并且站点对应的运营商没有设置结算账户, 返回默认结算账户(举视的账户) + * @param stationId + * @return + */ List queryShareMembersByStationId(String stationId); // 插入站点分账配置信息 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 d5a945b23..9859c57ed 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 @@ -52,6 +52,15 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{ shareMemberVO.setServiceShareRatio(BigDecimal.valueOf(100)); shareMemberVO.setFeeFlag(Constants.Y); resultList.add(shareMemberVO); + } else { + // 如果没有配置站点分账,则默认为举视账户 + AdapayMemberAccount aDefault = adapayMemberAccountService.getDefault(); + ShareMemberVO shareMemberVO = new ShareMemberVO(); + shareMemberVO.setAdapayMemberId(aDefault.getAdapayMemberId()); + shareMemberVO.setElectricityShareRatio(BigDecimal.valueOf(100)); + shareMemberVO.setServiceShareRatio(BigDecimal.valueOf(100)); + shareMemberVO.setFeeFlag(Constants.Y); + resultList.add(shareMemberVO); } } else { for (StationSplitConfig stationSplitConfig : stationSplitConfigs) { From b15520945254b6e77acb6c886cf7ccb73b5aa987 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 27 Sep 2024 18:12:14 +0800 Subject: [PATCH 09/10] =?UTF-8?q?update=20=E5=88=86=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AdapayMemberAccountServiceImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java index d45048af1..73fb36584 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java @@ -117,10 +117,19 @@ public class AdapayMemberAccountServiceImpl implements AdapayMemberAccountServic return adapayMemberAccount; } + /** + * 根据站点id查询汇付会员账户信息, 只查询生效的 + * @param stationId 站点id + * @return + */ @Override public AdapayMemberAccount selectByStationId(String stationId) { PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(Long.parseLong(stationId)); - return selectByMerchantId(String.valueOf(pileStationInfo.getMerchantId())); + AdapayMemberAccount adapayMemberAccount = selectByMerchantId(String.valueOf(pileStationInfo.getMerchantId())); + if (adapayMemberAccount == null || !StringUtils.equals(adapayMemberAccount.getStatus(), Constants.ONE)) { + return null; + } + return adapayMemberAccount; } From 29e8fe941dfaad05d7634acbf56dbe9e9e180d9f Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Fri, 27 Sep 2024 18:18:35 +0800 Subject: [PATCH 10/10] =?UTF-8?q?update=20=E5=88=86=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/service/impl/AdapayMemberAccountServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java index 73fb36584..d24d045bb 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java @@ -4,6 +4,7 @@ import com.google.common.collect.Lists; import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.constant.Constants; import com.jsowell.common.core.redis.RedisCache; +import com.jsowell.common.enums.DelFlagEnum; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.AdapayMemberAccount; @@ -163,6 +164,7 @@ public class AdapayMemberAccountServiceImpl implements AdapayMemberAccountServic List accountList = this.selectAdapayMemberAccountList(merchantId); if (CollectionUtils.isNotEmpty(accountList)) { List ids = accountList.stream() + .filter(x -> StringUtils.equals(x.getDelFlag(), DelFlagEnum.NORMAL.getValue())) .filter(x -> StringUtils.equals(x.getStatus(), Constants.TWO)) .map(x -> x.getId() + "") .collect(Collectors.toList());