mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
update 保险金额分账
This commit is contained in:
@@ -1947,8 +1947,13 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
OrderBasicInfo orderBasicInfo = this.getOrderInfoByOrderCode(afterSettleOrderDTO.getOrderCode());
|
||||
String payMode = orderBasicInfo.getPayMode();
|
||||
|
||||
|
||||
// 校验订单支付金额,消费金额,退款金额
|
||||
BigDecimal orderPayAmount = afterSettleOrderDTO.getOrderPayAmount(); // 支付金额
|
||||
if (orderBasicInfo.getInsuranceAmount() != null) {
|
||||
// 如果该笔订单保险金额不为空,则将支付金额 - 保险金额作为新的支付金额
|
||||
orderPayAmount = orderPayAmount.subtract(orderBasicInfo.getInsuranceAmount());
|
||||
}
|
||||
BigDecimal orderConsumeAmount = afterSettleOrderDTO.getOrderConsumeAmount(); // 消费金额
|
||||
BigDecimal orderSettleAmount = afterSettleOrderDTO.getOrderSettleAmount();
|
||||
BigDecimal orderRefundAmount = afterSettleOrderDTO.getOrderRefundAmount(); // 退款金额
|
||||
@@ -2008,6 +2013,8 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
*/
|
||||
private List<PaymentInfo> getOrderPaymentInfoList(AfterSettleOrderDTO afterSettleOrderDTO) {
|
||||
String orderCode = afterSettleOrderDTO.getOrderCode();
|
||||
OrderBasicInfo orderBasicInfo = afterSettleOrderDTO.getOrderBasicInfo();
|
||||
|
||||
// 查询订单支付记录
|
||||
List<OrderPayRecord> orderPayRecordList = orderPayRecordService.getOrderPayRecordList(orderCode);
|
||||
// 选出需要分账的支付id
|
||||
@@ -2052,6 +2059,9 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
// 订单编号
|
||||
String orderCode = afterSettleOrderDTO.getOrderCode();
|
||||
|
||||
// 订单信息
|
||||
OrderBasicInfo orderBasicInfo = afterSettleOrderDTO.getOrderBasicInfo();
|
||||
|
||||
// 订单是否需要分账, 结算金额必须大于0
|
||||
if (orderSettleAmount == null || orderSettleAmount.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
logger.info("realTimeOrderSplit-订单[{}]结算金额[{}]必须大于0", afterSettleOrderDTO.getOrderCode(), orderSettleAmount);
|
||||
@@ -2175,6 +2185,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
@Override
|
||||
public List<SplitData> calculationSplitDataList(List<StationSplitConfig> stationSplitConfigList, AfterSettleOrderDTO afterSettleOrderDTO) {
|
||||
List<SplitData> resultList = Lists.newArrayList();
|
||||
OrderBasicInfo orderBasicInfo = afterSettleOrderDTO.getOrderBasicInfo();
|
||||
|
||||
// totalElecSplitRatio和totalServiceSplitRatio 都等于100%, 才进行后续操作
|
||||
boolean verifySplitConfig = stationSplitConfigService.verifySplitConfig(stationSplitConfigList);
|
||||
@@ -2237,6 +2248,16 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
return resultList;
|
||||
}
|
||||
|
||||
// 如果保险金额不为空,新增一条分账信息
|
||||
if (orderBasicInfo.getInsuranceAmount() != null) {
|
||||
SplitData insuranceSplit = new SplitData();
|
||||
insuranceSplit.setMemberId(Constants.ZERO);
|
||||
insuranceSplit.setAmount(String.valueOf(orderBasicInfo.getInsuranceAmount()));
|
||||
insuranceSplit.setFeeFlag(Constants.ZERO);
|
||||
|
||||
resultList.add(insuranceSplit);
|
||||
}
|
||||
|
||||
return resultList;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user