diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java index ee80fc2cb..3a56f0220 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java @@ -989,7 +989,7 @@ public class TempController extends BaseController { try { List orderCodeList = dto.getOrderCodeList(); for (String orderCode : orderCodeList) { - tempService.handleOrderSplitRecord(orderCode); + tempService.checkOrderSplitRecord(orderCode); } response = new RestApiResponse<>(); } catch (Exception e) { diff --git a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java index 24c3afdae..ca7f44cd3 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java @@ -1397,34 +1397,6 @@ public class TempService { } - /** - * 处理OrderSplitRecord中值为0的数据 - * @throws BaseAdaPayException - */ - public void handleOrderSplitRecord(String orderCode) { - // 根据订单号查询订单信息 - OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode); - OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode); - - // 组装after参数 - AfterSettleOrderDTO afterSettleOrderDTO = AfterSettleOrderDTO.builder() - .orderCode(orderBasicInfo.getOrderCode()) - .merchantId(orderBasicInfo.getMerchantId()) - .stationId(orderBasicInfo.getStationId()) - .orderPayAmount(orderBasicInfo.getPayAmount()) // 支付金额 - .orderConsumeAmount(orderBasicInfo.getOrderAmount()) // 消费金额 - .orderSettleAmount(orderBasicInfo.getSettleAmount()) // 结算金额 - .orderElectricityAmount(orderDetail.getTotalElectricityAmount()) // 电费金额 - .orderElectricityDiscountAmount(orderDetail.getDiscountElectricityAmount()) // 电费折扣金额 - .orderServiceAmount(orderDetail.getTotalServiceAmount()) // 服务费金额 - .orderServiceDiscountAmount(orderDetail.getDiscountServiceAmount()) // 服务费折扣金额 - .orderRefundAmount(orderBasicInfo.getRefundAmount()) // 退款金额 - .orderBasicInfo(orderBasicInfo) - .build(); - - orderBasicInfoService.checkOrUpdateOrderSplitRecord(afterSettleOrderDTO); - } - /** * 检查订单分账记录 * @param orderCode diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 8bf4ec366..027333db1 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -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 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 splitDataList = calculationSplitDataList(stationSplitConfigList, afterSettleOrderDTO); List 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 generatedOrderSplitRecordList = orderSplitRecordService.generatedOrderSplitRecordList(param, paymentConfirmInfo, splitDataList, orderInfoDetailVO); - logger.info("realTimeOrderSplit-订单:{}, 获取计算出来的订单分账记录:{}", orderCode, JSON.toJSONString(generatedOrderSplitRecordList)); + logger.info("校验或更新订单分账信息-订单:{}, 获取计算出来的订单分账记录:{}", orderCode, JSON.toJSONString(generatedOrderSplitRecordList)); // 查询数据库中该订单的分账记录 List 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); } } }