新的结算方法

This commit is contained in:
Guoqs
2024-12-02 10:32:11 +08:00
parent 3acce89125
commit f27855593d
2 changed files with 17 additions and 3 deletions

View File

@@ -204,6 +204,8 @@ public interface OrderBasicInfoService{
OrderSplitResult realTimeOrderSplit(AfterSettleOrderDTO afterSettleOrderDTO) throws BaseAdaPayException;
List<DivMember> calculationOfSplitAmount(List<StationSplitConfig> stationSplitConfigList, AfterSettleOrderDTO afterSettleOrderDTO);
List<DivMember> calculationOfSplitAmount(List<StationSplitConfig> stationSplitConfigList, AfterSettleOrderDTO afterSettleOrderDTO, List<PaymentInfo> paymentInfos);
/**

View File

@@ -1700,18 +1700,30 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
* @param afterSettleOrderDTO
*/
private void splittingMethod(AfterSettleOrderDTO afterSettleOrderDTO) {
BigDecimal orderSettleAmount = afterSettleOrderDTO.getOrderSettleAmount(); // 结算金额
// 订单是否需要分账
if (orderSettleAmount.compareTo(BigDecimal.ZERO) > 0) {
// 结算金额
BigDecimal orderSettleAmount = afterSettleOrderDTO.getOrderSettleAmount() == null ? BigDecimal.ZERO : afterSettleOrderDTO.getOrderSettleAmount();
// 订单是否需要分账, 结算金额必须大于0
if (orderSettleAmount.compareTo(BigDecimal.ZERO) <= 0) {
logger.info("订单结算金额必须大于0");
return;
}
// 校验分账
verifyOrderAllAmount(afterSettleOrderDTO);
// 根据站点id查询分账配置
List<StationSplitConfig> stationSplitConfigList = stationSplitConfigService.queryByStationId(afterSettleOrderDTO.getStationId());
// 订单分账
calculationOfSplitAmount(stationSplitConfigList, afterSettleOrderDTO);
}
@Override
public List<DivMember> calculationOfSplitAmount(List<StationSplitConfig> stationSplitConfigList, AfterSettleOrderDTO afterSettleOrderDTO) {
return calculationOfSplitAmount(stationSplitConfigList, afterSettleOrderDTO, null);
}
/**
* 计算每个账户需要分账的金额
* @param stationSplitConfigList 参与分账的账户信息