From c01dc329c9a8f072ccd96f348fbfd4f3c3ac7e92 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 09:46:38 +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 | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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 f2a0e9e..579adaa 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -271,6 +271,18 @@ public class OrderService { } }); + 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())); + } + }); + // 根据placeNum进行分组 Map> groupedByPlaceNum = list.stream() .collect(Collectors.groupingBy(TbOrderDetail::getPlaceNum)); @@ -296,7 +308,7 @@ public class OrderService { orderVo.setStatus(orderInfo.getStatus()); //TODO 增加商家二维码 orderVo.setShopQrcode(shopInfo.getShopQrcode()); - orderVo.setDetails(list); + orderVo.setDetails((List) detailHashMap.values()); orderVo.setOrderNo(orderInfo.getOrderNo()); orderVo.setTime(orderInfo.getCreatedAt()); if (orderInfo.getStatus().equals("paying") || orderInfo.getStatus().equals("unpaid")) {