调试订单临时接口

This commit is contained in:
Guoqs
2025-04-29 11:59:06 +08:00
parent f3adb8a691
commit c06b031862

View File

@@ -3,6 +3,7 @@ package com.jsowell.service;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -1072,18 +1073,16 @@ public class TempService {
return resultMap;
}
String orderCode = dto.getOrderCode();
resultMap.put("orderCode", orderCode);
resultMap.put("reCalculateFlag", dto.getReCalculateFlag());
resultMap.put("reRefundFlag", dto.getReRefundFlag());
resultMap.put("reSplitFlag", dto.getReSplitFlag());
// 根据订单号查询订单信息
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode);
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode);
// 是否重新计算
if (StringUtils.equals(dto.getReCalculateFlag(), "1")) {
String reCalculateFlag = dto.getReCalculateFlag();
String reCalculateFlagResult = orderCode + "本次未重新计算订单";
if (StringUtils.equals(reCalculateFlag, "1")) {
LocalDateTime localDateTime = DateUtils.date2LocalDateTime(orderBasicInfo.getSettlementTime());
// 开始时间为localDateTime减30秒
LocalDateTime startTime = localDateTime.minusSeconds(30);
@@ -1116,25 +1115,25 @@ public class TempService {
// 计算订单折扣
programLogic.calculateOrderDiscountsV2(orderBasicInfo, orderDetail);
String message = MessageFormat.format("debugOrder重新计算订单, orderCode:{0}, 支付金额:{1}, 消费金额:{2}, 折扣金额:{3}, 退款金额:{4}, 结算金额:{5}",
reCalculateFlagResult = MessageFormat.format("debugOrder重新计算订单, orderCode:{0}, 支付金额:{1}, 消费金额:{2}, 折扣金额:{3}, 退款金额:{4}, 结算金额:{5}",
orderBasicInfo.getOrderCode(), orderBasicInfo.getPayAmount(), orderBasicInfo.getOrderAmount(),
orderBasicInfo.getDiscountAmount(), orderBasicInfo.getRefundAmount(), orderBasicInfo.getSettleAmount());
// logger.info("debugOrder重新计算订单, orderCode:{}, 支付金额:{}, 消费金额:{}, 折扣金额:{}, 退款金额:{}, 结算金额:{}",
// orderBasicInfo.getOrderCode(), orderBasicInfo.getPayAmount(), orderBasicInfo.getOrderAmount(),
// orderBasicInfo.getDiscountAmount(), orderBasicInfo.getRefundAmount(), orderBasicInfo.getSettleAmount());
logger.info(message);
logger.info(reCalculateFlagResult);
// 更新数据库
OrderTransactionDTO orderTransactionDTO = new OrderTransactionDTO();
orderTransactionDTO.setOrderBasicInfo(orderBasicInfo);
orderTransactionDTO.setOrderDetail(orderDetail);
transactionService.doUpdateOrder(orderTransactionDTO);
resultMap.put("reCalculateFlagResult", message);
} else {
reCalculateFlagResult = orderCode + "本次未重新计算订单, 原因: 未找到交易记录原始数据";
}
} else {
resultMap.put("reCalculateFlagResult", orderCode + "本次未重新计算订单");
}
resultMap.put("reCalculate", ImmutableMap.of("value", reCalculateFlag, "message", reCalculateFlagResult));
// 组装after参数
AfterSettleOrderDTO afterSettleOrderDTO = AfterSettleOrderDTO.builder()
@@ -1152,33 +1151,33 @@ public class TempService {
.build();
// 是否重新退款
if (StringUtils.equals(dto.getReRefundFlag(), "1")) {
String reRefundFlag = dto.getReRefundFlag();
String reRefundFlagResult = orderCode + "本次未重新退款";
if (StringUtils.equals(reRefundFlag, "1")) {
// 订单退款,汇付退款
try {
orderBasicInfoService.refundMethod(afterSettleOrderDTO);
} catch (Exception e) {
logger.error("debugOrder-订单:{}, 订单退款,汇付退款异常", afterSettleOrderDTO.getOrderCode(), e);
}
// logger.info("debugOrder-订单:{}, 订单退款,汇付退款成功", afterSettleOrderDTO.getOrderCode());
String message = MessageFormat.format("debugOrder-订单:{0}, 订单退款,汇付退款成功", afterSettleOrderDTO.getOrderCode());
resultMap.put("reRefundFlagResult", message);
} else {
resultMap.put("reRefundFlagResult", orderCode + "本次未重新退款");
reRefundFlagResult = MessageFormat.format("debugOrder-订单:{0}, 订单退款,汇付退款成功", afterSettleOrderDTO.getOrderCode());
logger.info(reRefundFlagResult);
}
resultMap.put("reRefund", ImmutableMap.of("value", reRefundFlag, "message", reRefundFlagResult));
// 是否重新分账
if (StringUtils.equals(dto.getReSplitFlag(), "1")) {
String reSplitFlag = dto.getReSplitFlag();
String reSplitFlagResult = orderCode + "本次未重新分账";
if (StringUtils.equals(reSplitFlag, "1")) {
try {
orderBasicInfoService.splittingMethod(afterSettleOrderDTO);
} catch (Exception e) {
logger.error("debugOrder-订单:{}, 订单结算金额,汇付分账异常", afterSettleOrderDTO.getOrderCode(), e);
}
// logger.info("debugOrder-订单:{}, 订单结算金额,汇付分账成功", afterSettleOrderDTO.getOrderCode());
String message = MessageFormat.format("debugOrder-订单:{0}, 订单结算金额,汇付分账成功", afterSettleOrderDTO.getOrderCode());
resultMap.put("reSplitFlag", message);
} else {
resultMap.put("reSplitFlag", orderCode + "本次未重新分账");
reSplitFlagResult = MessageFormat.format("debugOrder-订单:{0}, 订单结算金额,汇付分账成功", afterSettleOrderDTO.getOrderCode());
logger.info(reSplitFlagResult);
}
resultMap.put("reSplit", ImmutableMap.of("value", reSplitFlag, "message", reSplitFlagResult));
return resultMap;
}