update 检查订单分账记录

This commit is contained in:
bl\GQS02
2025-10-11 20:50:07 +08:00
parent 093f344613
commit f3a200600a
3 changed files with 11 additions and 36 deletions

View File

@@ -5765,7 +5765,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
*/
@Override
public void checkOrUpdateOrderSplitRecord(AfterSettleOrderDTO afterSettleOrderDTO) {
logger.info("处理OrderSplitRecord中值为0的数据, orderCode:{}, 分账金额:{}",
logger.info("校验或更新订单分账信息, orderCode:{}, 分账金额:{}",
afterSettleOrderDTO.getOrderCode(), afterSettleOrderDTO.getOrderSettleAmount());
// 结算金额
@@ -5781,14 +5781,14 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
// 订单是否需要分账, 结算金额必须大于0
if (orderSettleAmount == null || orderSettleAmount.compareTo(BigDecimal.ZERO) <= 0) {
logger.info("realTimeOrderSplit-订单[{}]结算金额[{}]必须大于0", afterSettleOrderDTO.getOrderCode(), orderSettleAmount);
logger.info("校验或更新订单分账信息-订单[{}]结算金额[{}]必须大于0", afterSettleOrderDTO.getOrderCode(), orderSettleAmount);
return;
}
// 获取订单待分账信息
List<PaymentInfo> paymentInfos = getOrderPaymentInfoList(afterSettleOrderDTO);
if (CollectionUtils.isEmpty(paymentInfos)) {
logger.info("realTimeOrderSplit-订单[{}]没有待分账的支付记录", afterSettleOrderDTO.getOrderCode());
logger.info("校验或更新订单分账信息-订单[{}]没有待分账的支付记录", afterSettleOrderDTO.getOrderCode());
return;
}
@@ -5805,11 +5805,11 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
// 计算每个参与分账的用户, 应分多少钱
List<SplitData> splitDataList = calculationSplitDataList(stationSplitConfigList, afterSettleOrderDTO);
List<DivMember> divMemberList = transformDivMemberList(splitDataList);
logger.info("realTimeOrderSplit-订单:{}, 分账信息:{}", orderCode, JSON.toJSONString(splitDataList));
logger.info("校验或更新订单分账信息-订单:{}, 分账信息:{}", orderCode, JSON.toJSONString(splitDataList));
// 执行分账
if (CollectionUtils.isEmpty(divMemberList)) {
logger.info("realTimeOrderSplit-订单[{}]分账信息为空", orderCode);
logger.info("校验或更新订单分账信息-订单[{}]分账信息为空", orderCode);
return;
}
@@ -5845,16 +5845,19 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
OrderInfoDetailVO orderInfoDetailVO = getOrderInfoDetailVO(orderCode);
List<OrderSplitRecord> generatedOrderSplitRecordList = orderSplitRecordService.generatedOrderSplitRecordList(param, paymentConfirmInfo, splitDataList, orderInfoDetailVO);
logger.info("realTimeOrderSplit-订单:{}, 获取计算出来的订单分账记录:{}", orderCode, JSON.toJSONString(generatedOrderSplitRecordList));
logger.info("校验或更新订单分账信息-订单:{}, 获取计算出来的订单分账记录:{}", orderCode, JSON.toJSONString(generatedOrderSplitRecordList));
// 查询数据库中该订单的分账记录
List<OrderSplitRecord> queryOrderSplitRecordList = orderSplitRecordService.queryOrderSplitRecordByOrderCode(orderCode);
logger.info("realTimeOrderSplit-订单:{}, 数据库中的订单分账记录:{}", orderCode, JSON.toJSONString(queryOrderSplitRecordList));
logger.info("校验或更新订单分账信息-订单:{}, 数据库中的订单分账记录:{}", orderCode, JSON.toJSONString(queryOrderSplitRecordList));
// 对比分账记录 判断是否一致 不一致则保存 否则不保存 true-一致 false-不一致
boolean bool = orderSplitRecordService.compareOrderSplitRecord(generatedOrderSplitRecordList, queryOrderSplitRecordList);
if (!bool) {
logger.info("校验或更新订单分账信息-订单:{}, 分账记录不一致, 保存分账记录", orderCode);
// 保存orderSplitRecords到数据库
orderSplitRecordService.batchInsert(generatedOrderSplitRecordList);
} else {
logger.info("校验或更新订单分账信息-订单:{}, 分账记录一致, 不保存分账记录", orderCode);
}
}
}