fix: 多条退款detail合并为单条

This commit is contained in:
张松
2024-11-25 14:22:19 +08:00
parent 267c000756
commit 8d125fddd3

View File

@@ -219,6 +219,9 @@ public class OrderService {
List<TbOrderDetail> list = mpOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>() List<TbOrderDetail> list = mpOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getOrderId, orderInfo.getId()) .eq(TbOrderDetail::getOrderId, orderInfo.getId())
.ne(TbOrderDetail::getProductId, TableConstant.CART_SEAT_ID)); .ne(TbOrderDetail::getProductId, TableConstant.CART_SEAT_ID));
int num = 0;
if (!"unpaid".equals(orderInfo.getStatus())) {
HashMap<String, TbOrderDetail> detailHashMap = new HashMap<>(); HashMap<String, TbOrderDetail> detailHashMap = new HashMap<>();
list.forEach(item -> { list.forEach(item -> {
TbOrderDetail orderDetail = detailHashMap.get(item.getCartId().toString()); TbOrderDetail orderDetail = detailHashMap.get(item.getCartId().toString());
@@ -230,11 +233,16 @@ public class OrderService {
orderDetail.setPackAmount(orderDetail.getPackAmount().add(item.getPackAmount())); orderDetail.setPackAmount(orderDetail.getPackAmount().add(item.getPackAmount()));
} }
}); });
int num = 0;
for (TbOrderDetail orderDetail : detailHashMap.values()) { for (TbOrderDetail orderDetail : detailHashMap.values()) {
num = num + orderDetail.getNum(); num = num + orderDetail.getNum();
} }
orderInfo.setDetailList(new ArrayList<>(detailHashMap.values())); orderInfo.setDetailList(new ArrayList<>(detailHashMap.values()));
}else {
orderInfo.setDetailList(list);
}
orderInfo.setTotalNumber(num); orderInfo.setTotalNumber(num);
} }
// //