From 089210a16ee15892ab6850f5490720f0dbc1cbcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EB=8C=80=ED=99=98?= Date: Thu, 9 Apr 2026 11:27:53 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B5=AC=EB=8F=85=EC=84=9C=EB=B9=84=EC=8A=A4?= =?UTF-8?q?=20=EA=B2=B0=EC=A0=9C=20-=20=EC=A3=BC=EB=AC=B8=20=EC=83=81?= =?UTF-8?q?=ED=92=88=20=ED=85=8C=EC=9D=B4=EB=B8=94=20=EB=8B=A4=EC=A4=91=20?= =?UTF-8?q?Insert=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../goods/purchs/service/BOOrderService.java | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/service/BOOrderService.java b/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/service/BOOrderService.java index d6351345..f7238165 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/service/BOOrderService.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/goods/purchs/service/BOOrderService.java @@ -25,6 +25,7 @@ import java.math.BigInteger; import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; @Service @Slf4j @@ -569,7 +570,7 @@ public class BOOrderService { /* *********************************** 4. 주문상품 등록(GC_ORDER_ITEM) *********************************** */ - List insertedGoodsList = insertOrdrGoods(sopmalCd, "01", ordrInnb, goodsList); + List insertedGoodsList = insertOrdrGoods(sopmalCd, "01", ordrInnb, goodsList, subsvcAt); BOOrderShippingVO shippingEscrowVO = new BOOrderShippingVO(); if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "04".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원 개인결제, 정기배송 @@ -869,8 +870,14 @@ public class BOOrderService { int goodsOptnInnb = (int) goods.get("goodsOptnInnb"); int ordrQy = (int) goods.get("qy"); - BOOrderItemVO orderItemVO = insertedGoodsList.stream().filter(obj-> Objects.equals(ordrInnb, obj.getOrdrInnb()) && - Objects.equals(BigInteger.valueOf(goodsInnb), obj.getGoodsInnb())).findAny().orElse(null); + List orderItemVOList = insertedGoodsList.stream().filter(obj-> Objects.equals(ordrInnb, obj.getOrdrInnb()) && + Objects.equals(BigInteger.valueOf(goodsInnb), obj.getGoodsInnb())).toList(); + BOOrderItemVO orderItemVO = new BOOrderItemVO(); + if(subsvcAt) { + orderItemVO = orderItemVOList.size() > allGoodsCount ? orderItemVOList.get(allGoodsCount) : null; + } else { + orderItemVO = orderItemVOList.stream().findAny().orElse(null); + } /* *********************************************** 6. 주문 상품 옵션 정보 등록(GC_ORDER_ITEM_OPTION) @@ -1051,7 +1058,14 @@ public class BOOrderService { * @return */ public List insertOrdrGoods(String sopmalCd, String goodsKndCd, BigInteger ordrInnb, List goodsList) { - List goodsInnbList = (goodsList.stream().map(obj-> (int) obj.get("goodsInnb")).toList()).stream().distinct().toList(); // 상품번호 목록(중복제거) + return insertOrdrGoods(sopmalCd, goodsKndCd, ordrInnb, goodsList, false); + } + public List insertOrdrGoods(String sopmalCd, String goodsKndCd, BigInteger ordrInnb, List goodsList, Boolean subsvcAt) { + Stream goodsInnbstream = goodsList.stream().map(obj -> (int) obj.get("goodsInnb")); + if(!subsvcAt) // 상품번호 목록(중복제거) + goodsInnbstream = goodsInnbstream.distinct(); + List goodsInnbList = goodsInnbstream.toList(); + boolean tmAt = goodsList.stream().anyMatch(map -> map.containsKey("tmAt")); //tm주문 여부 List insertedGoodsList = new ArrayList<>(); // 주문상품 목록