收取平台支持服务费

This commit is contained in:
Guoqs
2025-06-03 14:50:16 +08:00
parent a5b1101041
commit fb13c706cc

View File

@@ -2041,6 +2041,36 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
// 根据站点id查询分账配置(如果未配置则初始化)
List<StationSplitConfig> 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<SplitData> splitDataList = calculationSplitDataList(stationSplitConfigList, afterSettleOrderDTO);
List<DivMember> divMemberList = transformDivMemberList(splitDataList);