Преглед на файлове

이태영 - 20210129 장바구니 수정 중

xodud1202 преди 5 години
родител
ревизия
d381ca8c91

+ 50 - 1
src/main/java/com/style24/front/biz/service/TsfCartService.java

@@ -1,5 +1,7 @@
 package com.style24.front.biz.service;
 
+import com.gagaframework.web.parameter.GagaMap;
+import com.style24.core.biz.service.TscOrderService;
 import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.session.TscSession;
 import com.style24.front.biz.dao.TsfCartDao;
@@ -8,12 +10,16 @@ import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Cart;
 import com.style24.persistence.domain.Goods;
 import com.style24.persistence.domain.GoodsStock;
+import com.style24.persistence.domain.Order;
+
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 
 /**
  * 장바구니 Service
@@ -31,13 +37,15 @@ public class TsfCartService {
 	@Autowired
 	private TsfGoodsService goodsService;
 
+	@Autowired
+	private TscOrderService coreOrderService;
+
 	/**
 	 * 장바구니 저장
 	 * 단품 : goodsCd, optCd, optCd1, optCd2
 	 * 세트 : goodsCd,
 	 * @param cart
 	 */
-	@Transactional("shopTxnManager")
 	public String saveCartInfo(Collection<Cart> params) {
 		Cart cart = new Cart();
 		// JSESSION_ID 저장
@@ -208,4 +216,45 @@ public class TsfCartService {
 			cartDao.insertCartDetailHst(param);             // 장바구니 수정 이력 저장
 		}
 	}
+
+	public GagaMap selecCartGoodsList() {
+		GagaMap result = new GagaMap();
+
+		Order order = new Order();
+
+		// TODO 로그인 체크
+		order.setJsessionId("aaec62cc-5f91-47bb-ba65-ebc9a61385cf");
+		//order.setJsessionId(TscSession.getSessionId());
+		order.setCustNo(0);
+		order.setRegNo(0);
+		order.setUpdNo(0);
+
+		// 장바구니 상품 조회
+		Collection<Order> cartGoodsList = coreOrderService.getCartGoodsList(order);
+
+		// 즉시할인쿠폰 적용가 조회
+		List<Integer> cartSqArr2 = new ArrayList<Integer>();
+		for(Order temp : cartGoodsList) {
+			cartSqArr2.add(temp.getCartSq());
+		}
+		order.setCartSqArr(cartSqArr2.stream().mapToInt(Integer::intValue).toArray());
+
+		Collection<Order> cpn1ApplyGoodsList = coreOrderService.getCpn1ApplyGoodsList(order);
+
+		// 즉시 할인가 적용 금액 // pcCurrPrice
+		for(Order goods : cartGoodsList) {
+			for(Order amt : cpn1ApplyGoodsList) {
+				if(goods.getGoodsCd().equals(amt.getGoodsCd())) {
+					goods.setPcCurrPrice(amt.getPcCurrPrice());		// 즉시할인금액
+					// TODO 모바일 금액 추가 필요
+				}
+			}
+		}
+
+
+
+		result.put("cartGoodsList", cartGoodsList);
+
+		return result;
+	}
 }

+ 7 - 2
src/main/java/com/style24/front/biz/web/TsfCartController.java

@@ -3,18 +3,23 @@ package com.style24.front.biz.web;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.gagaframework.web.parameter.GagaMap;
 import com.gagaframework.web.rest.server.GagaResponse;
+import com.style24.core.biz.service.TscOrderService;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.core.support.session.TscSession;
 import com.style24.front.biz.service.TsfCartService;
 import com.style24.front.support.controller.TsfBaseController;
 import com.style24.persistence.domain.Cart;
+import com.style24.persistence.domain.Order;
+
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 
 /**
  * 장바구니 Controller
@@ -79,10 +84,10 @@ public class TsfCartController extends TsfBaseController {
 
 	@ResponseBody
 	@PostMapping("/goods/list")
-	public GagaMap freeGoodsPromotionSave(@RequestBody Collection<Cart> params) {
+	public GagaMap selecCartGoodsList() {
 		GagaMap result = new GagaMap();
 
-
+		result.putAll(cartService.selecCartGoodsList());
 
 		return result;
 	}

+ 73 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfCart.xml

@@ -246,4 +246,77 @@
 		FROM   TB_CART_DETAIL CD
 		WHERE  CD.CART_DTL_SQ = #{cartDtlSq}
 	</insert>
+
+	<select id="selectMoreBetterCartList" parameterType="Cart" resultType="Cart">
+
+		SELECT C.CART_SQ
+			 , C.GOODS_CD
+			 , MAX(T1.QTY_TMTB_SQ) AS BASE_QTY_TMTB_SQ
+			 , MAX(T1.QTY_TMTB_NM) AS BASE_QTY_TMTB_NM
+			 , MAX(T1.AMT_TMTB_SQ) AS BASE_AMT_TMTB_SQ
+			 , MAX(T1.AMT_TMTB_NM) AS BASE_AMT_TMTB_NM
+			 , MAX(T2.QTY_TMTB_SQ) AS APPLY_QTY_TMTB_SQ
+			 , MAX(T2.QTY_TMTB_NM) AS APPLY_QTY_TMTB_NM
+			 , MAX(T2.AMT_TMTB_SQ) AS APPLY_AMT_TMTB_SQ
+			 , MAX(T2.AMT_TMTB_NM) AS APPLY_AMT_TMTB_NM
+		  FROM TB_CART C
+		  LEFT OUTER JOIN (SELECT C.CART_SQ
+								, C.GOODS_CD
+								, T.TMTB_SQ
+								, T.APPLY_GB
+								, T.TMTB_NM
+								, TAG.GOODS_GB
+								, CASE WHEN T.APPLY_GB = 'G810_10' THEN T.TMTB_SQ
+									   ELSE NULL END AS QTY_TMTB_SQ
+								, CASE WHEN T.APPLY_GB = 'G810_11' THEN T.TMTB_SQ
+									   ELSE NULL END AS AMT_TMTB_SQ
+								, CASE WHEN T.APPLY_GB = 'G810_10' THEN T.TMTB_NM
+									   ELSE NULL END AS QTY_TMTB_NM
+								, CASE WHEN T.APPLY_GB = 'G810_11' THEN T.TMTB_NM
+									   ELSE NULL END AS AMT_TMTB_NM
+							 FROM TB_CART C
+							INNER JOIN TB_TMTB_APPLY_GOODS TAG
+							   ON C.GOODS_CD = TAG.GOODS_CD
+							  AND TAG.GOODS_GB = 'G800_10'
+							INNER JOIN TB_TMTB T
+							   ON T.TMTB_SQ = TAG.TMTB_SQ
+							  AND T.TMTB_STAT = 'G232_11' /*진행*/
+							WHERE 1 = 1
+							  AND TAG.DEL_YN = 'N'
+							  AND TAG.GOODS_GB = 'G800_10'
+							  AND T.TMTB_ST_DT <![CDATA[<=]]> NOW()
+							  AND T.TMTB_ED_DT >= NOW()) T1
+		    ON C.CART_SQ = T1.CART_SQ
+		  LEFT OUTER JOIN (SELECT C.CART_SQ
+								, C.GOODS_CD
+								, T.TMTB_SQ
+								, T.APPLY_GB
+								, T.TMTB_NM
+								, CASE WHEN T.APPLY_GB = 'G810_10' THEN T.TMTB_SQ
+									   ELSE NULL END AS QTY_TMTB_SQ
+								, CASE WHEN T.APPLY_GB = 'G810_11' THEN T.TMTB_SQ
+									   ELSE NULL END AS AMT_TMTB_SQ
+								, CASE WHEN T.APPLY_GB = 'G810_10' THEN T.TMTB_NM
+									   ELSE NULL END AS QTY_TMTB_NM
+								, CASE WHEN T.APPLY_GB = 'G810_11' THEN T.TMTB_NM
+									   ELSE NULL END AS AMT_TMTB_NM
+							 FROM TB_CART C
+							INNER JOIN TB_TMTB_APPLY_GOODS TAG
+							   ON C.GOODS_CD = TAG.GOODS_CD
+							INNER JOIN TB_TMTB T
+							   ON T.TMTB_SQ = TAG.TMTB_SQ
+							  AND T.TMTB_STAT = 'G232_11'
+							WHERE 1 = 1
+							  AND TAG.DEL_YN = 'N'
+							  AND TAG.GOODS_GB = 'G800_20'
+							  AND C.JSESSION_ID = 'aaec62cc-5f91-47bb-ba65-ebc9a61385cf'
+							  AND T.TMTB_ST_DT <![CDATA[<=]]> NOW()
+							  AND T.TMTB_ED_DT >= NOW()) T2
+		    ON C.CART_SQ = T2.CART_SQ
+		 WHERE 1 = 1
+		   AND C.JSESSION_ID = 'aaec62cc-5f91-47bb-ba65-ebc9a61385cf'
+		   AND C.CART_GB = 'G026_BC'
+		 GROUP BY C.CART_SQ
+				, C.GOODS_CD
+	</select>
 </mapper>

+ 3 - 3
src/main/webapp/WEB-INF/views/web/cart/cartListFormWeb.html

@@ -1205,16 +1205,16 @@
 
         $(document).ready(function() {
             // 장바구니 상품 정보 select
-
+            getCartList();
         });
 
-        function selectCartList() {
+        function getCartList() {
             $.ajax( {
                 type: "POST",
                 url : '/cart/goods/list',
                 dataType : 'json',
                 success : function(result) {
-                    alert(1);
+
                 }
             });
         }