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