구독서비스 결제 - 주문 상품 테이블 다중 Insert 적용
This commit is contained in:
@@ -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<BOOrderItemVO> insertedGoodsList = insertOrdrGoods(sopmalCd, "01", ordrInnb, goodsList);
|
||||
List<BOOrderItemVO> 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<BOOrderItemVO> 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<BOOrderItemVO> insertOrdrGoods(String sopmalCd, String goodsKndCd, BigInteger ordrInnb, List<LinkedHashMap> goodsList) {
|
||||
List<Integer> goodsInnbList = (goodsList.stream().map(obj-> (int) obj.get("goodsInnb")).toList()).stream().distinct().toList(); // 상품번호 목록(중복제거)
|
||||
return insertOrdrGoods(sopmalCd, goodsKndCd, ordrInnb, goodsList, false);
|
||||
}
|
||||
public List<BOOrderItemVO> insertOrdrGoods(String sopmalCd, String goodsKndCd, BigInteger ordrInnb, List<LinkedHashMap> goodsList, Boolean subsvcAt) {
|
||||
Stream<Integer> goodsInnbstream = goodsList.stream().map(obj -> (int) obj.get("goodsInnb"));
|
||||
if(!subsvcAt) // 상품번호 목록(중복제거)
|
||||
goodsInnbstream = goodsInnbstream.distinct();
|
||||
List<Integer> goodsInnbList = goodsInnbstream.toList();
|
||||
|
||||
boolean tmAt = goodsList.stream().anyMatch(map -> map.containsKey("tmAt")); //tm주문 여부
|
||||
List<BOOrderItemVO> insertedGoodsList = new ArrayList<>(); // 주문상품 목록
|
||||
|
||||
|
||||
Reference in New Issue
Block a user