From 267c000756bd84c69e6a0edd9ddf7a56dfff1bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Mon, 25 Nov 2024 10:00:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=9A=E6=9D=A1=E9=80=80=E6=AC=BEdeta?= =?UTF-8?q?il=E5=90=88=E5=B9=B6=E4=B8=BA=E5=8D=95=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/service/OrderService.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index 44e8fe3..27d80de 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -219,11 +219,22 @@ public class OrderService { List list = mpOrderDetailMapper.selectList(new LambdaQueryWrapper() .eq(TbOrderDetail::getOrderId, orderInfo.getId()) .ne(TbOrderDetail::getProductId, TableConstant.CART_SEAT_ID)); + HashMap detailHashMap = new HashMap<>(); + list.forEach(item -> { + TbOrderDetail orderDetail = detailHashMap.get(item.getCartId().toString()); + if (orderDetail == null) { + detailHashMap.put(item.getCartId().toString(), item); + }else { + orderDetail.setNum(orderDetail.getNum() + item.getNum()); + orderDetail.setPriceAmount(orderDetail.getPriceAmount().add(item.getPriceAmount())); + orderDetail.setPackAmount(orderDetail.getPackAmount().add(item.getPackAmount())); + } + }); int num = 0; - for (TbOrderDetail orderDetail : list) { + for (TbOrderDetail orderDetail : detailHashMap.values()) { num = num + orderDetail.getNum(); } - orderInfo.setDetailList(list); + orderInfo.setDetailList(new ArrayList<>(detailHashMap.values())); orderInfo.setTotalNumber(num); } //