From fb13c706cc467e0d11ad46ed1f1ee07dad469b80 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Tue, 3 Jun 2025 14:50:16 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=94=B6=E5=8F=96=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=9C=8D=E5=8A=A1=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderBasicInfoServiceImpl.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) 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 bde85189b..7f36ba338 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 @@ -2041,6 +2041,36 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { // 根据站点id查询分账配置(如果未配置则初始化) List stationSplitConfigList = stationSplitConfigService.queryByStationIdWithInit(stationId); + // 查字典是否开启收取平台支持服务费 + String dictValue = DictUtils.getDictValue("platform_service_flag", "status"); + if (StringUtils.equals(dictValue, Constants.ONE)) { // 开启收取平台支持服务费 + // 根据站点id查询平台支持服务费率 + PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(Long.parseLong(stationId)); + // 如果是否对接高德为1, 并且支持服务费率大于0, 则收取平台支持服务费 + if (pileStationInfo != null + && StringUtils.equals(pileStationInfo.getAMapFlag(), Constants.ONE) + && pileStationInfo.getServiceRate().compareTo(BigDecimal.ZERO) > 0) { + // 获取平台支持服务费率 + BigDecimal serviceRate = pileStationInfo.getServiceRate(); + // 取出stationSplitConfigList中手续费承担方, 并把电费分成比例和服务费分成比例减去serviceRate + for (StationSplitConfig stationSplitConfig : stationSplitConfigList) { + if (Constants.ONE.equals(stationSplitConfig.getFeeFlag())) { + stationSplitConfig.setElectricitySplitRatio(stationSplitConfig.getElectricitySplitRatio().subtract(serviceRate)); + stationSplitConfig.setServiceSplitRatio(stationSplitConfig.getServiceSplitRatio().subtract(serviceRate)); + } + } + // 添加一个账户, adapayMemberId为0, 电费分成比例为serviceRate, 服务费分成比例为serviceRate + stationSplitConfigList.add(StationSplitConfig.builder() + .adapayMemberId(Constants.ZERO) + .electricitySplitRatio(serviceRate) + .serviceSplitRatio(serviceRate) + .build() + ); + logger.info("realTimeOrderSplit-订单:{}, 收取平台支持服务费, 平台分成比例为:{}, stationSplitConfigList:{}", + orderCode, serviceRate, JSON.toJSONString(stationSplitConfigList)); + } + } + // 计算每个参与分账的用户, 应分多少钱 List splitDataList = calculationSplitDataList(stationSplitConfigList, afterSettleOrderDTO); List divMemberList = transformDivMemberList(splitDataList); From 1b47d5e00efbcc5da79d9c1382569648b1edd87e Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Tue, 3 Jun 2025 15:15:08 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java | 1 + .../pile/service/programlogic/AbstractProgramLogic.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) 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 7f36ba338..46cd2c5fb 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 @@ -2064,6 +2064,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { .adapayMemberId(Constants.ZERO) .electricitySplitRatio(serviceRate) .serviceSplitRatio(serviceRate) + .feeFlag(Constants.ZERO) .build() ); logger.info("realTimeOrderSplit-订单:{}, 收取平台支持服务费, 平台分成比例为:{}, stationSplitConfigList:{}", diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java index f86899c79..a94912093 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/AbstractProgramLogic.java @@ -1106,8 +1106,8 @@ public abstract class AbstractProgramLogic implements InitializingBean { orderDetail.setDiscountElectricityAmount(electricityAmountDiscount); // 服务费折扣金额(服务费便宜了多少钱) orderDetail.setDiscountServiceAmount(serviceAmountDiscount); - logger.info("计算订单折扣V2, orderCode:{}, memberId:{}, 订单折扣金额:{}, 电费折扣金额:{}, 服务费折扣金额:{}, 优惠后总消费金额:{}", - orderCode, memberId, discountAmount, electricityAmountDiscount, serviceAmountDiscount, totalConsumeAmount); + logger.info("计算订单折扣V2, orderCode:{}, memberId:{}, 订单折扣金额:{}, 电费折扣金额:{}, 服务费折扣金额:{}, 优惠后总消费金额:{}, 更新后退款金额:{}", + orderCode, memberId, discountAmount, electricityAmountDiscount, serviceAmountDiscount, totalConsumeAmount, refundAmount); } /**