fix: 退款修改

This commit is contained in:
张松
2024-12-20 10:28:53 +08:00
parent 3f747743b1
commit cf8e3644a3

View File

@@ -2964,6 +2964,8 @@ public class TbShopTableServiceImpl implements TbShopTableService {
BigDecimal saleAmount = BigDecimal.ZERO; BigDecimal saleAmount = BigDecimal.ZERO;
ArrayList<TbOrderDetail> remainOrderDetailList = new ArrayList<>(); ArrayList<TbOrderDetail> remainOrderDetailList = new ArrayList<>();
boolean hasNormalReturn = false; boolean hasNormalReturn = false;
ArrayList<TbOrderDetail> copyDetailList = new ArrayList<>();
for (TbOrderDetail orderDetail : detailList) { for (TbOrderDetail orderDetail : detailList) {
// 原始金额 // 原始金额
BigDecimal originalAmount = orderDetail.getPriceAmount(); BigDecimal originalAmount = orderDetail.getPriceAmount();
@@ -3056,6 +3058,10 @@ public class TbShopTableServiceImpl implements TbShopTableService {
orderDetail.setReturnAmount(returnAmount); orderDetail.setReturnAmount(returnAmount);
// orderDetail.setStatus(isOnline ? "refunding" : "refund"); // orderDetail.setStatus(isOnline ? "refunding" : "refund");
orderDetail.setStatus("refund"); orderDetail.setStatus("refund");
TbOrderDetail returnOrderDetailCopy = BeanUtil.copyProperties(orderDetail, TbOrderDetail.class);
returnOrderDetailCopy.setId(null);
copyDetailList.add(returnOrderDetailCopy);
} }
if (returnAmount.compareTo(BigDecimal.ZERO) < 0) { if (returnAmount.compareTo(BigDecimal.ZERO) < 0) {
@@ -3101,6 +3107,11 @@ public class TbShopTableServiceImpl implements TbShopTableService {
orderInfoMapper.updateById(returnOrder); orderInfoMapper.updateById(returnOrder);
} }
// 保存新的退款detail信息
TbOrderInfo finalReturnOrder = returnOrder;
copyDetailList.forEach(item -> item.setOrderId(finalReturnOrder.getId()));
mpOrderDetailService.saveBatch(copyDetailList);
updateStockAndRecord(detailList); updateStockAndRecord(detailList);
mpOrderDetailService.updateBatchById(detailList); mpOrderDetailService.updateBatchById(detailList);
data.put("returnOrder", returnOrder); data.put("returnOrder", returnOrder);