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")) {