update 新分账方法

This commit is contained in:
Guoqs
2024-12-31 16:27:25 +08:00
parent 1784e0f314
commit b0bbba3085

View File

@@ -1730,29 +1730,22 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
logger.info("订单结算金额必须大于0"); logger.info("订单结算金额必须大于0");
return null; return null;
} }
// 校验分账 // 校验分账
verifyOrderAllAmount(afterSettleOrderDTO); verifyOrderAllAmount(afterSettleOrderDTO);
// 根据站点id查询分账配置 // 根据站点id查询分账配置
List<StationSplitConfig> stationSplitConfigList = stationSplitConfigService.queryByStationId(afterSettleOrderDTO.getStationId()); List<StationSplitConfig> stationSplitConfigList = stationSplitConfigService.queryByStationId(afterSettleOrderDTO.getStationId());
// 计算每个参与分账的用户, 应分多少钱 // 计算每个参与分账的用户, 应分多少钱
List<SplitData> splitDataList = calculationSplitDataList(stationSplitConfigList, afterSettleOrderDTO); List<SplitData> splitDataList = calculationSplitDataList(stationSplitConfigList, afterSettleOrderDTO);
List<DivMember> divMemberList = transformDivMemberList(splitDataList); List<DivMember> divMemberList = transformDivMemberList(splitDataList);
// List<DivMember> divMemberList = calculationOfSplitAmount(stationSplitConfigList, afterSettleOrderDTO); // List<DivMember> divMemberList = calculationOfSplitAmount(stationSplitConfigList, afterSettleOrderDTO);
// 执行分账 // 执行分账
if (CollectionUtils.isEmpty(divMemberList)) { if (CollectionUtils.isEmpty(divMemberList)) {
logger.info("分账信息为空"); logger.info("分账信息为空");
return null; return null;
} }
String orderCode = afterSettleOrderDTO.getOrderCode(); String orderCode = afterSettleOrderDTO.getOrderCode();
// 查询订单支付记录 // 查询订单支付记录
List<OrderPayRecord> orderPayRecordList = orderPayRecordService.getOrderPayRecordList(orderCode); List<OrderPayRecord> orderPayRecordList = orderPayRecordService.getOrderPayRecordList(orderCode);
// 选出需要分账的支付id // 选出需要分账的支付id
List<PaymentInfo> paymentInfos = Lists.newArrayList(); List<PaymentInfo> paymentInfos = Lists.newArrayList();
for (OrderPayRecord orderPayRecord : orderPayRecordList) { for (OrderPayRecord orderPayRecord : orderPayRecordList) {
@@ -1764,16 +1757,10 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
paymentInfos.addAll(orderPayRecordService.parseDeductionRecord(orderPayRecord.getDeductionRecord())); paymentInfos.addAll(orderPayRecordService.parseDeductionRecord(orderPayRecord.getDeductionRecord()));
} }
} }
String paymentId = paymentInfos.get(0).getPaymentId(); // 支付id
// 支付id String merchantId = afterSettleOrderDTO.getMerchantId(); // 运营商id
String paymentId = paymentInfos.get(0).getPaymentId();
// 运营商id
String merchantId = afterSettleOrderDTO.getMerchantId();
// 根据运营商id 查询appId // 根据运营商id 查询appId
String appId = pileMerchantInfoService.queryAppIdByMerchantId(merchantId); String appId = pileMerchantInfoService.queryAppIdByMerchantId(merchantId);
PaymentConfirmParam param = PaymentConfirmParam.builder() PaymentConfirmParam param = PaymentConfirmParam.builder()
.paymentId(paymentId) .paymentId(paymentId)
.divMemberList(divMemberList) .divMemberList(divMemberList)
@@ -1782,10 +1769,8 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
.wechatAppId(appId) .wechatAppId(appId)
.build(); .build();
PaymentConfirmResponse paymentConfirmRequest = adapayService.createPaymentConfirmRequest(param); PaymentConfirmResponse paymentConfirmRequest = adapayService.createPaymentConfirmRequest(param);
// 保存订单分账记录 // 保存订单分账记录
orderSplitRecordService.saveOrderSplitRecord(param, paymentConfirmRequest.getId(), splitDataList); orderSplitRecordService.saveOrderSplitRecord(param, paymentConfirmRequest.getId(), splitDataList);
return paymentConfirmRequest; return paymentConfirmRequest;
} }