구독서비스 결제 - 주문 상품 테이블 다중 Insert 적용
This commit is contained in:
@@ -25,6 +25,7 @@ import java.math.BigInteger;
|
|||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -569,7 +570,7 @@ public class BOOrderService {
|
|||||||
/* ***********************************
|
/* ***********************************
|
||||||
4. 주문상품 등록(GC_ORDER_ITEM)
|
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();
|
BOOrderShippingVO shippingEscrowVO = new BOOrderShippingVO();
|
||||||
if ("01".equals(ordrTyCd) || "03".equals(ordrTyCd) || "04".equals(ordrTyCd) || "06".equals(ordrTyCd)) { // 일반주문, 회원 개인결제, 정기배송
|
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 goodsOptnInnb = (int) goods.get("goodsOptnInnb");
|
||||||
int ordrQy = (int) goods.get("qy");
|
int ordrQy = (int) goods.get("qy");
|
||||||
|
|
||||||
BOOrderItemVO orderItemVO = insertedGoodsList.stream().filter(obj-> Objects.equals(ordrInnb, obj.getOrdrInnb()) &&
|
List<BOOrderItemVO> orderItemVOList = insertedGoodsList.stream().filter(obj-> Objects.equals(ordrInnb, obj.getOrdrInnb()) &&
|
||||||
Objects.equals(BigInteger.valueOf(goodsInnb), obj.getGoodsInnb())).findAny().orElse(null);
|
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)
|
6. 주문 상품 옵션 정보 등록(GC_ORDER_ITEM_OPTION)
|
||||||
@@ -1051,7 +1058,14 @@ public class BOOrderService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public List<BOOrderItemVO> insertOrdrGoods(String sopmalCd, String goodsKndCd, BigInteger ordrInnb, List<LinkedHashMap> goodsList) {
|
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주문 여부
|
boolean tmAt = goodsList.stream().anyMatch(map -> map.containsKey("tmAt")); //tm주문 여부
|
||||||
List<BOOrderItemVO> insertedGoodsList = new ArrayList<>(); // 주문상품 목록
|
List<BOOrderItemVO> insertedGoodsList = new ArrayList<>(); // 주문상품 목록
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user