订单支付发生mq数据

This commit is contained in:
Tankaikai
2025-03-10 11:39:46 +08:00
parent a0c3d4842c
commit d7ba3068f4

View File

@@ -1,6 +1,7 @@
package com.czg.service.order.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.exceptions.ValidateException;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson2.JSONObject;
@@ -52,9 +53,6 @@ import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
/**
* @author ww
@@ -489,7 +487,7 @@ public class PayServiceImpl implements PayService {
@Transactional
public CzgResult<Object> refundOrderBefore(OrderInfoRefundDTO param) {
OrderInfo orderInfo = orderInfoService.getById(param.getOrderId());
Map<Long, BigDecimal> returnProMap = new HashMap<>();
Map<String, BigDecimal> returnProMap = new HashMap<>();
boolean isPay = true;
String refPayOrderNo = "REFO" + IdUtil.getSnowflakeNextId();
if (orderInfo.getStatus().equals(OrderStatusEnums.UNPAID.getCode())) {
@@ -527,7 +525,7 @@ public class PayServiceImpl implements PayService {
orderDetail.setRefundRemark(orderDetail.getRefundRemark() + param.getRefundReason());
orderDetail.setReturnAmount(refundDetail.getReturnAmount());
orderDetailService.updateById(orderDetail);
returnProMap.put(orderDetail.getProductId(), refundDetail.getNum());
returnProMap.put(Convert.toStr(orderDetail.getProductId()), refundDetail.getNum());
}
long count = orderDetailService.queryChain()
.eq(OrderDetail::getOrderId, orderInfo.getId())
@@ -545,11 +543,11 @@ public class PayServiceImpl implements PayService {
.list();
for (OrderDetail orderDetail : orderDetails) {
if (isPay) {
returnProMap.put(orderDetail.getProductId(), orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum()));
returnProMap.put(Convert.toStr(orderDetail.getProductId()), orderDetail.getNum().subtract(orderDetail.getReturnNum()).subtract(orderDetail.getRefundNum()));
orderDetail.setRefundNum(orderDetail.getNum().subtract(orderDetail.getReturnNum()));
orderDetail.setStatus(OrderStatusEnums.REFUND.getCode());
} else {
returnProMap.put(orderDetail.getProductId(), orderDetail.getNum().subtract(orderDetail.getReturnNum()));
returnProMap.put(Convert.toStr(orderDetail.getProductId()), orderDetail.getNum().subtract(orderDetail.getReturnNum()));
orderDetail.setReturnNum(orderDetail.getNum());
orderDetail.setStatus(OrderStatusEnums.CANCELLED.getCode());
}