mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-09 04:20:08 +08:00
开启了收取平台支持服务费, 更新订单分账账户列表
This commit is contained in:
@@ -2046,35 +2046,11 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
// 根据站点id查询分账配置(如果未配置则初始化)
|
// 根据站点id查询分账配置(如果未配置则初始化)
|
||||||
List<StationSplitConfig> stationSplitConfigList = stationSplitConfigService.queryByStationIdWithInit(stationId);
|
List<StationSplitConfig> stationSplitConfigList = stationSplitConfigService.queryByStationIdWithInit(stationId);
|
||||||
|
|
||||||
// 查字典是否开启收取平台支持服务费
|
// 查字典是否开启收取平台支持服务费 1-开启; 0-关闭
|
||||||
String dictValue = DictUtils.getDictValue("platform_service_flag", "status");
|
String dictValue = DictUtils.getDictValue("platform_service_flag", "status");
|
||||||
if (StringUtils.equals(dictValue, Constants.ONE)) { // 开启收取平台支持服务费
|
if (StringUtils.equals(dictValue, Constants.ONE)) {
|
||||||
// 根据站点id查询平台支持服务费率
|
// 开启收取平台支持服务费, 更新参与分账的账户列表
|
||||||
PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(Long.parseLong(stationId));
|
updateSplitConfigList(stationId, stationSplitConfigList, orderCode);
|
||||||
// 如果是否对接高德为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)
|
|
||||||
.feeFlag(Constants.ZERO)
|
|
||||||
.build()
|
|
||||||
);
|
|
||||||
logger.info("realTimeOrderSplit-订单:{}, 收取平台支持服务费, 平台分成比例为:{}, stationSplitConfigList:{}",
|
|
||||||
orderCode, serviceRate, JSON.toJSONString(stationSplitConfigList));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算每个参与分账的用户, 应分多少钱
|
// 计算每个参与分账的用户, 应分多少钱
|
||||||
@@ -2106,6 +2082,41 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
|||||||
return paymentConfirmRequest;
|
return paymentConfirmRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开启了收取平台支持服务费, 更新订单分账账户列表
|
||||||
|
* @param stationId
|
||||||
|
* @param stationSplitConfigList
|
||||||
|
* @param orderCode
|
||||||
|
*/
|
||||||
|
private void updateSplitConfigList(String stationId, List<StationSplitConfig> stationSplitConfigList, String orderCode) {
|
||||||
|
// 根据站点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)
|
||||||
|
.feeFlag(Constants.ZERO)
|
||||||
|
.build()
|
||||||
|
);
|
||||||
|
logger.info("realTimeOrderSplit-订单:{}, 收取平台支持服务费, 平台分成比例为:{}, stationSplitConfigList:{}",
|
||||||
|
orderCode, serviceRate, JSON.toJSONString(stationSplitConfigList));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算每个账户需要分账的金额
|
* 计算每个账户需要分账的金额
|
||||||
* @param stationSplitConfigList 参与分账的账户信息
|
* @param stationSplitConfigList 参与分账的账户信息
|
||||||
|
|||||||
Reference in New Issue
Block a user