调试订单临时接口

This commit is contained in:
Guoqs
2025-04-29 11:30:35 +08:00
parent fda771f88e
commit 58c1500c36
2 changed files with 38 additions and 8 deletions

View File

@@ -768,8 +768,8 @@ public class TempController extends BaseController {
RestApiResponse<?> response;
try {
// 调试结算订单逻辑
tempService.debugOrder(dto);
response = new RestApiResponse<>();
Map<String, Object> resultMap = tempService.debugOrder(dto);
response = new RestApiResponse<>(resultMap);
} catch (Exception e) {
logger.error("调试结算订单逻辑V2error,", e);
response = new RestApiResponse<>();

View File

@@ -44,6 +44,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.MessageFormat;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@@ -1063,15 +1064,23 @@ public class TempService {
* 调试订单
* @param dto
*/
public void debugOrder(DebugOrderDTO dto) {
if (dto == null || StringUtils.isBlank(dto.getOrderCode())) {
public Map<String, Object> debugOrder(DebugOrderDTO dto) {
Map<String, Object> resultMap = Maps.newHashMap();
String orderCode = dto.getOrderCode();
if (dto == null || StringUtils.isBlank(orderCode)) {
logger.info("debugOrder, 参数为空直接放回");
return;
return resultMap;
}
resultMap.put("orderCode", orderCode);
resultMap.put("reCalculateFlag", dto.getReCalculateFlag());
resultMap.put("reRefundFlag", dto.getReRefundFlag());
resultMap.put("reSplitFlag", dto.getReSplitFlag());
// 根据订单号查询订单信息
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(dto.getOrderCode());
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode);
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode);
// 是否重新计算
if (StringUtils.equals(dto.getReCalculateFlag(), "1")) {
@@ -1107,16 +1116,24 @@ public class TempService {
// 计算订单折扣
programLogic.calculateOrderDiscountsV2(orderBasicInfo, orderDetail);
logger.info("debugOrder重新计算订单, orderCode:{}, 支付金额:{}, 消费金额:{}, 折扣金额:{}, 退款金额:{}, 结算金额:{}",
String message = 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);
// 更新数据库
OrderTransactionDTO orderTransactionDTO = new OrderTransactionDTO();
orderTransactionDTO.setOrderBasicInfo(orderBasicInfo);
orderTransactionDTO.setOrderDetail(orderDetail);
transactionService.doUpdateOrder(orderTransactionDTO);
resultMap.put("reCalculateFlagResult", message);
}
} else {
resultMap.put("reCalculateFlagResult", orderCode + "本次未重新计算订单");
}
// 组装after参数
@@ -1142,7 +1159,13 @@ public class TempService {
} 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 + "本次未重新退款");
}
// 是否重新分账
if (StringUtils.equals(dto.getReSplitFlag(), "1")) {
try {
@@ -1150,7 +1173,14 @@ public class TempService {
} 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 + "本次未重新分账");
}
return resultMap;
}
}