Просмотр исходного кода

Merge branch 'develop' into bin2107

bin2107 5 лет назад
Родитель
Сommit
26ab50298f

+ 6 - 1
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -638,6 +638,7 @@ public class TsfOrderController extends TsfBaseController {
 			cartCpnList = coreOrderService.getCartCpnApplyList(tmtbGoodsApplyList, cartCpnList);
 			
 			// 2.7 배송비쿠폰목록 조회
+			order.setCpnId(null); // 2021.0-5.27 null 처리
 			delvCpnList = coreOrderService.getDelvCpnList(order);
 			
 			delvFeeCdList = (Collection<Order>) delvOrderMap.get("delvFeeCdList");
@@ -1055,6 +1056,7 @@ public class TsfOrderController extends TsfBaseController {
 		
 		mav.addObject("isLogin"				, TsfSession.isLogin());				// 로그인여부
 		mav.addObject("delvAddrSq"			, resultMap.get("delvAddrSq"));			// 배송지번호
+		mav.addObject("orderDetailList"		, resultMap.get("orderDetailList"));	// 주문상세목록
 		mav.setViewName(super.getDeviceViewName("order/OrderComplete"));
 		
 		return mav;
@@ -1120,7 +1122,7 @@ public class TsfOrderController extends TsfBaseController {
 	 */
 	@ResponseBody
 	@PostMapping(value = "/getDailyDeliveryCheck")
-	public int getDailyDeliveryCheck(Order order) {
+	public int getDailyDeliveryCheck(@RequestBody Order order) {
 		
 		// 1. 총알배송가능 지역, 총알배송 가능 시간 체크
 		int rtn = coreOrderService.getDailyDeliveryCheck(order);
@@ -1241,6 +1243,7 @@ public class TsfOrderController extends TsfBaseController {
 			GagaMap delvOrderMap = coreOrderService.getCartDelvGoodsCntList(tmtbGoodsApplyList, order);
 			
 			// 2.2 배송비쿠폰목록 조회
+			order.setCpnId(null); // 2021.0-5.27 null 처리
 			delvCpnList = coreOrderService.getDelvCpnList(order);
 			
 			// 2.3 배송정책단위목록
@@ -1360,6 +1363,8 @@ public class TsfOrderController extends TsfBaseController {
 		mav.addObject("chgerNm"					, resultMap.get("chgerNm"));				// 변경신청인
 		mav.addObject("chgerPhnno"				, resultMap.get("chgerPhnno"));				// 변경신청핸드폰번호
 		mav.addObject("goodsNm"					, resultMap.get("goodsNm"));				// 상품명
+		mav.addObject("delvCnt"					, resultMap.get("delvCnt"));				// 업체명카운트
+		mav.addObject("delvFeeCdList"			, resultMap.get("delvFeeCdList"));			// 추가결제시 업체명 목록 조회
 		mav.setViewName(super.getDeviceViewName("order/OrderAddPaymentForm"));
 		
 		return mav;

+ 56 - 44
src/main/java/com/style24/persistence/mybatis/shop/TsfWishlist.xml

@@ -170,10 +170,10 @@
 	
 	<select id="getQuickWishList" parameterType="WishList" resultType="Goods">
 		/* TsfWishlist.getQuickWishList*/
-		SELECT Z.*
+SELECT Z.*
 		FROM
 		(
-		WITH TAB_PLAN_GOODS AS (
+		WITH TAB_GOODS AS (
 		    SELECT W.AF_LINK_CD 
 		          ,W.CONTENTS_LOC 
 		          ,W.CUST_NO 
@@ -207,7 +207,7 @@
 		    AND    G.SELF_MALL_YN = 'Y'   /*몰노출상품*/
 		    AND    B.USE_YN = 'Y'
 		    AND    BG.USE_YN = 'Y'
-		    AND    W.CUST_NO =  #{custNo}
+		    AND    W.CUST_NO =   #{custNo} /**P*/
 		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT
 		    GROUP BY W.AF_LINK_CD 
 		          ,W.CONTENTS_LOC 
@@ -227,62 +227,74 @@
 		         , G.MIN_ORD_QTY                                            /*최소주문수량*/  				
 		)
 		, TAB_GOODS_IMG AS (
-		    SELECT PG.GOODS_CD
+		    SELECT G.GOODS_CD
 		         , MAX(CASE WHEN GI.DEFAULT_IMG_YN = 'Y' THEN GI.SYS_IMG_NM ELSE NULL END)   AS SYS_IMG_NM
-		    FROM   TAB_PLAN_GOODS PG
+		    FROM   TAB_GOODS G
 		         , TB_GOODS_IMG GI
-		    WHERE  PG.GOODS_CD = GI.GOODS_CD
-		    AND    PG.MAIN_COLOR_CD = GI.COLOR_CD
+		    WHERE  G.GOODS_CD = GI.GOODS_CD
+		    AND    G.MAIN_COLOR_CD = GI.COLOR_CD
 		    AND    (GI.DEFAULT_IMG_YN = 'Y' OR GI.MOUSEOVER_IMG_YN = 'Y')
-		    GROUP  BY PG.GOODS_CD
+		    GROUP  BY G.GOODS_CD
 		)
 		, TAB_STOCK AS (
-		   SELECT PG.GOODS_CD
-		         , SUM(case WHEN S.SOLDOUT_YN = 'Y' THEN 0
+		   SELECT G.GOODS_CD
+		         , SUM(CASE WHEN S.SOLDOUT_YN = 'Y' THEN 0
 		                    ELSE S.CURR_STOCK_QTY - S.BASE_STOCK_QTY END ) AS STOCK_QTY_SUM
 		         , MIN(CASE WHEN S.SOLDOUT_YN = 'N' THEN S.OPT_CD ELSE 'XXX' END) AS OPT_CD 
-		    FROM   TAB_PLAN_GOODS PG
+		    FROM   TAB_GOODS G
 		         , VW_STOCK S
-		    WHERE  PG.GOODS_CD = S.GOODS_CD
-		    AND    PG.GOODS_TYPE = 'G056_N'
+		    WHERE  G.GOODS_CD = S.GOODS_CD
+		    AND    G.GOODS_TYPE = 'G056_N'
 		    AND    S.DISP_YN = 'Y' /*노출하는상품만*/
-		    GROUP  BY PG.GOODS_CD
+		    GROUP  BY G.GOODS_CD
 		    UNION ALL 
-		    SELECT PG.GOODS_CD
-		         , SUM(CASE WHEN S.SOLDOUT_YN = 'Y' THEN 0
-		                    ELSE S.CURR_STOCK_QTY - S.BASE_STOCK_QTY END ) AS STOCK_QTY_SUM
-		         , MIN(CASE WHEN S.SOLDOUT_YN = 'N' THEN S.OPT_CD ELSE 'XXX' END) AS OPT_CD 
-		    FROM   TAB_PLAN_GOODS PG
-		         , VW_STOCK_COMPOSE S
-		    WHERE  PG.GOODS_CD = S.GOODS_CD
-		    AND    PG.GOODS_TYPE != 'G056_N'
-		    AND    S.DISP_YN = 'Y' /*노출하는상품만*/
-		    GROUP  BY PG.GOODS_CD		
+		   		    SELECT GOODS_CD
+		         , SUM(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
+		              ELSE CURR_STOCK_QTY END ) AS STOCK_QTY_SUM
+		         , GROUP_CONCAT(DISTINCT OPT_CD) AS OPT_CD
+		    FROM (
+		             SELECT G.GOODS_CD
+		                  , GC.COMPS_GOODS_CD
+		                  , S.OPT_CD
+		                  , S.SOLDOUT_YN
+		                  , S.CURR_STOCK_QTY - S.BASE_STOCK_QTY     AS CURR_STOCK_QTY
+		                  , RANK()
+		                     OVER (PARTITION BY G.GOODS_CD ,GC.COMPS_GOODS_CD ORDER BY S.SOLDOUT_YN, S.CURR_STOCK_QTY DESC , S.OPT_CD) AS NUMB
+		             FROM TAB_GOODS G
+		                , TB_GOODS_COMPOSE GC
+		                , VW_STOCK S
+		             WHERE 1 = 1
+		               AND G.GOODS_CD = GC.GOODS_CD
+		               AND GC.COMPS_GOODS_CD = S.GOODS_CD
+		               AND G.GOODS_TYPE IN ('G056_D','G056_S')
+		               AND S.DISP_YN = 'Y' /*노출하는상품만*/
+		         ) Z
+		    WHERE  NUMB = 1
+		    GROUP BY GOODS_CD
 		  )
 		    SELECT 
-		           PG.BRAND_GROUP_NM
-		         , PG.GOODS_CD
-		         , PG.MIN_ORD_QTY
-		         , PG.GOODS_TYPE
-		         , FN_GET_GOODS_NM(PG.GOODS_NM,PG.GOODS_GB,PG.FOREIGN_BUY_YN,PG.PARALLEL_IMPORT_YN,PG.ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
-		         , PG.GOODS_NM
-		         , PG.GOODS_TNM
-		         , PG.MAIN_COLOR_CD
-		         , PG.LIST_PRICE
-		         , PG.AF_LINK_CD 
-		         , PG.CONTENTS_LOC 
-		         , PG.CUST_NO 
-		         , PG.REG_DT
-		         , FN_GET_BENEFIT_PRICE( 'P' /**P*/,PG.GOODS_CD,PG.CURR_PRICE, 'G100_10' /**P*/)                     AS CURR_PRICE    /*현재판매가*/
+		           G.BRAND_GROUP_NM
+		         , G.GOODS_CD
+		         , G.MIN_ORD_QTY
+		         , G.GOODS_TYPE
+		         , FN_GET_GOODS_NM(G.GOODS_NM,G.GOODS_GB,G.FOREIGN_BUY_YN,G.PARALLEL_IMPORT_YN,G.ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
+		         , G.GOODS_NM
+		         , G.GOODS_TNM
+		         , G.MAIN_COLOR_CD
+		         , G.LIST_PRICE
+		         , G.AF_LINK_CD 
+		         , G.CONTENTS_LOC 
+		         , G.CUST_NO 
+		         , G.REG_DT
+		         , FN_GET_BENEFIT_PRICE( 'P' ,G.GOODS_CD,G.CURR_PRICE, 'G100_10' )                     AS CURR_PRICE    /*현재판매가*/
 		         , GI.SYS_IMG_NM
 		         , S.STOCK_QTY_SUM
 		         , S.OPT_CD 
-		    	FROM   TAB_PLAN_GOODS PG
-		    INNER JOIN TAB_GOODS_IMG GI ON PG.GOODS_CD = GI.GOODS_CD
-		    LEFT OUTER JOIN TAB_STOCK S ON PG.GOODS_CD = S.GOODS_CD
+		         , (SELECT GROUP_CONCAT(COMPS_GOODS_CD)  FROM TB_GOODS_COMPOSE WHERE GOODS_CD = G.GOODS_CD) AS COMPS_GOODS_CD  
+		    	FROM   TAB_GOODS G
+		    INNER JOIN TAB_GOODS_IMG GI ON G.GOODS_CD = GI.GOODS_CD
+		    LEFT OUTER JOIN TAB_STOCK S ON G.GOODS_CD = S.GOODS_CD
 		    )Z
-		ORDER BY Z.STOCK_QTY_SUM ASC,Z.REG_DT DESC
+		    ORDER BY FIELD(Z.STOCK_QTY_SUM, 1, 2 ,3 ,4 ,5) DESC ,Z.REG_DT DESC
 	</select>
-	
-
 </mapper>

+ 14 - 2
src/main/webapp/WEB-INF/views/mob/mypage/MypageReviewCreateFormMob.html

@@ -40,7 +40,7 @@
 							<!-- 굿즈_리뷰 -->
 							<div class="goods_section">
 								<div class="goods_detail">
-									<a href="">
+									<a th:onclick="cfnGoToGoodsDetail([[${ reviewInfo.goodsCd}]])" >
 										<div class="thumb_box">
 											<img th:src="${imageUrl + '/' + reviewInfo.sysImgNm}" alt="tmp_pdClickother1">
 										</div>
@@ -252,7 +252,7 @@
 												</th>
 												<td>
 													<div class="textarea_wrap">
-													<textarea class="doc_review" name="reviewContent" id="reviewContent" cols="30" rows="10"></textarea>
+													<textarea class="doc_review" name="reviewContent" id="reviewContent" cols="30" rows="10" maxlength="500"></textarea>
 													<p class="txt_cnt"><span id="review_cnt" class="c_primary">0</span>/500</p>
 													</div>
 												</td>
@@ -676,6 +676,18 @@ function handleOnInput(el, maxlength) {
 		}
 	}
 </script>
+<script>
+	//210524_ 추가 : textarea focus시 outline 색상 넣는 스크립트
+	$(function() {
+		$('.doc_review').focus(function(){
+			$(this).parent('.textarea_wrap').css('outline', '1px auto rgb(229, 151, 0)');
+		})
+		$('.doc_review').blur(function(){
+			$(this).parent('.textarea_wrap').css('outline', 'none');
+		})
+	});
+</script>
+	
 </th:block>
 
 </body>

+ 61 - 40
src/main/webapp/WEB-INF/views/mob/order/OrderAddPaymentFormMob.html

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html lang="ko" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorator="mob/common/layout/DefaultLayoutMob">
+<html lang="ko" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorator="mob/common/layout/SubLayoutMob">
 <!--
  *******************************************************************************
  * @source  : OrderAddPaymentMob.html
@@ -47,19 +47,13 @@
 									<a href="javascript:void(0)">
 										<div>
 											<div class="fold_tit">
-												<th:block th:if="${chGb} == 'G680_20'">
-													<span pan>취소상품</span>
-												</th:block>
-												<th:block th:if="${chGb} == 'G680_30'">
-													<span pan>반품상품</span>
-												</th:block>
-												<th:block th:if="${chGb} == 'G680_40'">
-													<span pan>교환상품</span>
-												</th:block>
+												<span pan>교환/환불 상품</span>
 											</div>
 										</div>
 									</a>
 								</div>
+								
+								
 								<div class="fold_cont" style="display: none;">
 									<div class="od_item_box">
 										<div class="part_goods">
@@ -163,41 +157,65 @@
 						</div>
 					</div>
 					<div class="area_paymentinfo">
-						<div class="paymentinfo">
-							<div class="payinfo_blk_wrap">
-								<a href="javascript:void(0);">
-									구매조건 확인 및 결제대행 서비스 약관 동의
-									<span>보기</span>
-								</a>
-								<div class="payinfo_blk_parent">
-									<div class="payinfo_blk">
-										<a href="javascript:void(0);">
-											개인정보 제공에 대한 동의
-											<span>보기</span>
-										</a>
-										<div class="infotxt">
-											개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.개인정보제공에 대한 동의 내용입니다.
-										</div>
-									</div>
-									<div class="payinfo_blk">
-										<a href="javascript:void(0);">
-											결제대행 서비스 약관 동의
-											<span>보기</span>
-										</a>
-										<div class="infotxt">
-											결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.결제대행서비스 약관 동의 내용입니다.
+						<!-- @자사만,무통장,실시간있으면 미노출 -->
+						<!-- @입점이있으면  -->
+						<!-- 입점업체가 있을때 노출 -->
+						<th:block th:if="${delvCnt} > 0">
+							<div class="paymentinfo">
+								<div class="payinfo_blk_wrap">
+									<a href="javascript:void(0);">구매조건 확인 및 결제대행 서비스 약관 동의<span>보기</span></a>
+									<div class="payinfo_blk_parent">
+										<div class="payinfo_blk">
+											<a href="javascript:void(0);">개인정보 제공에 대한 동의<span>보기</span></a>
+											<div class="infotxt">
+												STYLE24는 다음과 같이 회원님의 개인정보를 제3자에게 제공합니다.
+													<table class="paymentinfo agree2">
+														<colgroup>
+															<col width="30%">
+															<col width="*">
+														</colgroup>
+														<tbody>
+															<tr>
+																<th>제공받는 자</th>
+																<td>
+																	<th:block th:each="delvFeeCd, i : ${delvFeeCdList}">
+																		<th:block th:unless="${delvFeeCd.delvFeeCd} == 'WMS'">
+																			<th:block th:if="${i.count == #lists.size(delvFeeCdList)}">
+																				<th:block th:text="|${delvFeeCd.supplyCompNm}|"></th:block>
+																			</th:block>
+																			<th:block th:if="${i.count < #lists.size(delvFeeCdList)}">
+																				<th:block th:text="|${delvFeeCd.supplyCompNm},|"></th:block>
+																			</th:block>
+																		</th:block>
+																	</th:block>
+																</td>
+															</tr>
+															<tr>
+																<th>제공하는 항목</th>
+																<td>성명, 주소, 연락처</td>
+															</tr>
+															<tr>
+																<th>제공 목적</th>
+																<td>주문상품의 배송, 고객상담 및 불만처리</td>
+															</tr>
+															<tr>
+																<th>보유 및 이용기간</th>
+																<td>이용목적 달성 시 까지</td>
+															</tr>
+														</tbody>
+													</table>
+											</div>
 										</div>
 									</div>
 								</div>
 							</div>
-							
-						</div>
-						
-						<div class="agree_payment">
-							위 주문내역을 확인 하였으며, 회원 본인은 <br> 결제에 동의합니다.
-						</div>
+						</th:block>
+					</div>
+					
+					<div class="agree_payment">
+						위 주문내역을 확인 하였으며, 회원 본인은 결제에 동의합니다. (전자상거래법 제 8조 제2항)
 					</div>
-				</div> 
+				</div>
 	
 				<!-- //결제 정보 -->
 				<div class="inner wide">
@@ -264,6 +282,9 @@ $("#btn_payment").on("click", function(){
 </script>
 <script type="text/javascript">
 $(document).ready( function() {
+	// 1. 타이틀설정
+	$("#htopTitle").text("추가결제");
+	
 	//TabWrap, TabIndex
 	$(document).on('click', '.tabIndex li a', function() {
 		var $this = $(this),

+ 32 - 0
src/main/webapp/WEB-INF/views/mob/order/OrderCompleteMob.html

@@ -517,6 +517,38 @@ var fnGoToOrderDetail = function(param) {
 }
 
 </script>
+
+<!-- 2021.05.27 주문완료 로그스크립트 삽입 -->
+<script th:inline="javascript">
+var orderDetailList 	= [[${orderDetailList}]]; // 주문상세목록
+
+window._eglqueue = window._eglqueue || [];
+
+/* STAR LOOP: 구매한 모든 상품에 대해 */
+for (i=0 ; i<orderDetailList.length ; i++) {
+	var goodsCd 	= orderDetailList[i].goodsCd;
+	var currPrice 	= orderDetailList[i].currPrice;
+	var ordQty 		= orderDetailList[i].ordQty;
+	_eglqueue.push(['addVar', 'orderItems', {itemId:goodsCd, price:currPrice, quantity:ordQty}]);
+}
+/* END LOOP */
+
+window._eglqueue = window._eglqueue || [];
+
+_eglqueue.push(['setVar'	, 'cuid'		, eglqueueCuid]);
+_eglqueue.push(['setVar'	, 'orderId'		, [[${orderInfo.ordNo}]]]);
+_eglqueue.push(['setVar'	, 'orderPrice'	, [[${realOrdSumAmt}]]]);
+_eglqueue.push(['setVar'	, 'userId'		, [[${orderInfo.custId}]]]); // optional
+_eglqueue.push(['track'		, 'order']);
+
+(function (s, x) {
+s = document.createElement('script'); s.type = 'text/javascript';
+s.async = true; s.defer = true; s.src = (('https:' == document.location.protocol) ? 'https' : 'http') + '://logger.eigene.io/js/logger.min.js';
+x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);
+})();
+</script>
+<!-- //2021.05.27 주문완료 로그스크립트 삽입 -->
+
 </th:block>
 </body>
 </html>

+ 16 - 3
src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html

@@ -226,7 +226,11 @@
 											</div>
 											<div>
 												<dt>할인금액</dt>
-												<dd><div><span class="dcSumAmt"></span>원</div></dd>
+												<dd>
+													<div class="c_primary"> <!-- 210526_ 추가 : [.c_primary] 클래스 추가시 #fd4802 색상 변경. -->
+														<span class="dcSumAmt"></span>원
+													</div>
+												</dd>
 											</div>
 											<div>
 												<dt>배송비</dt>
@@ -683,7 +687,7 @@ var fnGetDailyDeliveryCheck = function (temp) {
 		}
 		
 		// TODO
-		var shotDelvObj 	= {"zipNo" : zipcode};
+		var shotDelvObj 	= {"recipZipcode" : zipcode};
 	
 		gagajf.ajaxJsonSubmit(
 			"/order/getDailyDeliveryCheck"
@@ -2292,6 +2296,7 @@ var custCpnSumAmtCal = function() {
 	
 	// 포인트, 상품권 금액 분배
 	$("#orderAmtForm .cartSq").each(function(){
+		var cartSq			= $(this).text();
 		var pntPrate		= parseInt($(this).parent().find(".pntPrate").text());
 		var pntMrate		= parseInt($(this).parent().find(".pntMrate").text());
 		var ordAmt 			= parseInt($(this).parent().find(".ordAmt").text());
@@ -2319,6 +2324,14 @@ var custCpnSumAmtCal = function() {
 		// 2021.05.11 최종할인금액으로 적립포인트 적용
 		savePntAmt1			= parseInt(realOrdAmt2 * (pntPrate/100));
 		
+		// 2021.05.27 적립포인트 설정
+		$("#orderForm #orderListInfo .orderListSavePntDcAmt").each(function(){
+			var orderListCartSq = $(this).parent().find("input[name=cartSq]").val();
+			if (orderListCartSq == cartSq) {
+				$(this).text(savePntAmt1.addComma());
+			}
+		});
+		
 		// 선포인트사용여부 
 		if (prePntDcAmtYn == "Y") {
 			if (prePntDcAmt1 < 1) {
@@ -2355,7 +2368,7 @@ var custCpnSumAmtCal = function() {
 	$("#orderForm .realOrdAmt").text(realOrdSumAmt.addComma()); 		// 총 결제 예정 금액
 	$("#orderForm .orgGoodsSumAmt").text(orgGoodsSumAmt.addComma());
 	$("#orderForm #btn_payment span").text(realOrdSumAmt.addComma());	// 총 결제 예정 금액
-	$("#orderForm .dcSumAmt").text(totDcSumAmt.addComma());				// 할인금액합계
+	$("#orderForm .dcSumAmt").text(getZeroMinusDelAmt(totDcSumAmt));	// 할인금액합계
 	
 	var tempSavePnt			= savePntSumAmt - prePntDcAmt;
 	

+ 18 - 8
src/main/webapp/WEB-INF/views/mob/order/OrderListInfoMob.html

@@ -55,12 +55,12 @@
 									</th:block>
 								</th:block>
 								<!-- 주문 접수 -->
-								<th:block th:each="goods, i : ${delvAllCart}">
+								<th:block th:each="goods, i : ${delvAllCart}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
 									<div class="goods_section">
 										<div class="goods_detail">
 											<a href="">
 												<div class="thumb_box">
-													<img src="/images/mo/thumb/tmp_pdClickother1.jpg" alt="tmp_pdClickother1">
+													<img th:src="${imageUrl + '/' + goods.sysImgNm}" src="/" width="100%" alt="">
 												</div>
 												<div class="info_box">
 													<div class="od_name">
@@ -69,12 +69,22 @@
 													</div>
 													<div class="od_opt" >
 														<div class="option" th:each="colorNm, index : ${goods.colorNmArr}">
-															<em th:text="${colorNm}"></em>
-															<em th:text="${goods.optCd2Arr[index.index]}"></em>
+															<th:block th:if="${goods.goodsType} == 'G056_S'">
+																<em th:text="${goods.itemNmArr[index.index]}"></em>
+																<em th:text="${colorNm}"></em>
+																<em th:text="${goods.optCd2Arr[index.index]}"></em>
+															</th:block>
+															<th:block th:unless="${goods.goodsType} == 'G056_S'">
+																<em th:text="${colorNm}"></em>
+																<em th:text="${goods.optCd2Arr[index.index]}"></em>
+															</th:block>
 														</div>
 													</div>
 													<div class="od_point">
-														<p class="point"><span th:text="${#numbers.formatInteger(goods.savePntAmt, 1, 'COMMA')}"></span>P 적립예정</p>
+														<p class="point">
+															<input type="hidden" name="cartSq" th:value="${goods.cartSq}">
+															<span class="orderListSavePntDcAmt" th:text="${#numbers.formatInteger(goods.savePntAmt, 1, 'COMMA')}"></span>P 적립예정
+														</p>
 													</div>
 												</div>
 											</a>
@@ -94,9 +104,9 @@
 											</p>
 										</div>
 										<th:block th:if="${goods.delvResDt}">
-											<p class="info_reserv">
-												<i class="ico ico_calender"></i><span th:text="${goods.delvResDt}"></span> 배송예정상품
-											</p>
+											<div class="goods_txt reserv">
+												<span th:text="${goods.delvResDt}"></span> 배송예정
+											</div>
 										</th:block>
 									</div>
 								</th:block>

+ 44 - 1
src/main/webapp/WEB-INF/views/web/common/fragments/FooterWeb.html

@@ -1198,7 +1198,14 @@
 								tag += '			</a>';	
 								tag += '			<div class="hover_con">';
 								if (item.stockQtySum>0) {
-									tag += '			<button type="button" class="btn btn_sm cart_btn on" afLinkCd="'+item.afLinkCd+'" goodsCd="'+item.goodsCd+'" optCd="'+item.optCd+'" minOrdQty="'+item.minOrdQty+'" goodsType="'+item.goodsType+'" contentsLoc="'+item.contentLoc+'" onclick="wishCardAdd(this)"><span>쇼핑백 담기</span></button>';
+									if (item.goodsType == 'G056_N') {
+										tag += '			<button type="button" class="btn btn_sm cart_btn on" afLinkCd="'+item.afLinkCd+'" goodsCd="'+item.goodsCd+'" optCd="'+item.optCd+'" minOrdQty="'+item.minOrdQty+'" goodsType="'+item.goodsType+'" contentsLoc="'+item.contentLoc+'" onclick="wishCardAdd(this)"><span>쇼핑백 담기</span></button>';
+									}else if(item.goodsType == 'G056_D'){ // 딜상품
+										tag += '			<button type="button" class="btn btn_sm cart_btn on" onclick="wishDealGoods()"><span>쇼핑백 담기</span></button>';
+									}else{
+										tag += '			<button type="button" class="btn btn_sm cart_btn on" afLinkCd="'+item.afLinkCd+'" compsGoodsCd=\''+item.compsGoodsCd+'\' goodsCd="'+item.goodsCd+'" optCd="'+item.optCd+'" minOrdQty="'+item.minOrdQty+'" goodsType="'+item.goodsType+'" contentsLoc="'+item.contentLoc+'" onclick="wishCardSetAdd(this)"><span>쇼핑백 담기</span></button>';
+									}
+									
 								}
 								tag += '			</div>';	    
 								tag += '		</div>';	    
@@ -1221,6 +1228,12 @@
 			});
 	}
 	
+	// 딜상품일 경우 alert
+	var wishDealGoods = function() {
+		mcxDialog.alert("해당 상품은 옵션 선택 후 쇼핑백 담기가 가능합니다.");
+		return;
+	}
+	
 	// 위시리스트 해제
 	let fnWishDelete = function(obj) {
 		cfnPutWishList(obj);
@@ -1250,6 +1263,36 @@
 		}
 	}
 	
+	var wishCardSetAdd = function (obj) {
+		let cartGoodsList = [];
+		var optCdArr = $(obj).attr("optCd").split(",");
+		var compsGoodsCdArr = $(obj).attr("compsGoodsCd").split(",");
+
+		let compsList = [];
+		let goodsList = {
+		cartCompsList : new Array()
+		}
+
+		for(let j = 0 ; j <  optCdArr.length ; j++) { 
+			let temp = new Object;
+			temp.goodsCd = $(obj).attr("goodsCd");
+			temp.optCd = optCdArr[j];
+			temp.goodsQty = $(obj).attr("minOrdQty");
+			temp.goodsType = "G056_S";
+			temp.itemCd =  compsGoodsCdArr[j];
+			temp.cartGb = "C";
+			temp.afLinkCd = $(obj).attr("afLinkCd");
+			temp.ithrCd = "";
+			temp.contentsLoc = "";
+			temp.planDtlSq = "";
+			compsList.push(temp);
+		}  
+
+		goodsList.cartCompsList = compsList;
+		cartGoodsList.push(goodsList);
+		cfnAddCart(cartGoodsList);
+	}
+	
 	// 쿠폰리스트
 	let issueCouponBtn = function() {
 		if (!cfCheckLogin()) {

+ 1 - 1
src/main/webapp/WEB-INF/views/web/mypage/MypageReviewCreateFormWeb.html

@@ -58,7 +58,7 @@
 											<div class="order_desc">
 												<div class="goods_box">
 													<div class="gd_item">	
-														<a href="">
+														<a th:onclick="cfnGoToGoodsDetail([[${ reviewInfo.goodsCd}]])" >
 															<span class="thumb">
 																<img th:src="${imageUrl + '/' + reviewInfo.sysImgNm +'?RS=550'}" width="100%" alt="">
 															</span>

+ 56 - 60
src/main/webapp/WEB-INF/views/web/order/OrderAddPaymentFormWeb.html

@@ -67,69 +67,65 @@
 										</div>
 									</div>
 								</div>
+								
 								<div class="area_paymentinfo">
-									<div class="paymentinfo">
-										<!-- 210421_수정 : 테이블 추가. -->
-										<div class="payinfo_blk">
-											<a href="javascript:void(0)">
-												개인정보 제공에 대한 동의
-												<span>보기</span>
-											</a>
-											<div class="infotxt">
-												STYLE24는 다음과 같이 회원님의 개인정보를 제3자에게 제공합니다.
-												<table>
-													<colgroup>
-														<col width="25%">
-														<col width="*">
-														<col width="25%">
-														<col width="25%">
-													</colgroup>
-													<thead>
-														<tr>
-															<th>제공받는 자</th>
-															<th>제공하는 항목</th>
-															<th>제공 목적</th>
-															<th>보유 및 이용기간</th>
-														</tr>
-													</thead> 
-													<tbody>
-														<tr>
-															<td>
-																서울보증보험㈜, ㈜유세이프
-															</td>
-															<td>
-																구매자명, 구매자 생년월일,
-																구매자 성별, 구매자 연락처
-																(일반전화 및 핸드폰), 구매자
-																이메일, 주문번호,
-																배송지 정보, 주문 금액
-															</td>
-															<td>
-																쇼핑몰보증보험 가입 및 보험가입 제반 사항
-															</td>
-															<td>
-																개별서비스 제공기간
-															</td>
-														</tr>
-														<tr>
-															<td>
-																더비오유컴퍼니 주식회사
-															</td>
-															<td>
-																성명, 주소, 연락처
-															</td>
-															<td>
-																주문상품의 배송, 고객상담 및 불만처리
-															</td>
-															<td>
-																이용목적 달성 시 까지
-															</td>
-														</tr>
-													</tbody>
-												</table>
+									<!-- 입점업체가 있을때 노출 -->
+									<th:block th:if="${delvCnt} > 0">
+										<div class="paymentinfo">
+											<!-- 210421_수정 : 테이블 추가. -->
+											<div class="payinfo_blk">
+												<a href="javascript:void(0)">
+													개인정보 제공에 대한 동의
+													<span>보기</span>
+												</a>
+												<div class="infotxt">
+													STYLE24는 다음과 같이 회원님의 개인정보를 제3자에게 제공합니다.
+													<table>
+														<colgroup>
+															<col width="25%">
+															<col width="*">
+															<col width="25%">
+															<col width="25%">
+														</colgroup>
+														<thead>
+															<tr>
+																<th>제공받는 자</th>
+																<th>제공하는 항목</th>
+																<th>제공 목적</th>
+																<th>보유 및 이용기간</th>
+															</tr>
+														</thead> 
+														<tbody>
+															<tr>
+																<td>
+																	<th:block th:each="delvFeeCd, i : ${delvFeeCdList}">
+																		<th:block th:unless="${delvFeeCd.delvFeeCd} == 'WMS'">
+																			<th:block th:if="${i.count == #lists.size(delvFeeCdList)}">
+																				<th:block th:text="|${delvFeeCd.supplyCompNm}|"></th:block>
+																			</th:block>
+																			<th:block th:if="${i.count < #lists.size(delvFeeCdList)}">
+																				<th:block th:text="|${delvFeeCd.supplyCompNm},|"></th:block>
+																			</th:block>
+																		</th:block>
+																	</th:block>
+																</td>
+																<td>
+																	성명, 주소, 연락처
+																</td>
+																<td>
+																	주문상품의 배송, 고객상담 및 불만처리
+																</td>
+																<td>
+																	이용목적 달성 시 까지
+																</td>
+															</tr>
+														</tbody>
+													</table>
+												</div>
 											</div>
 										</div>
-									</div>
+									</th:block>
+									<!-- //입점업체가 있을때 노출 -->
 									<div class="agree_payment">
 										위 주문내역을 확인 하였으며, 회원 본인은 결제에 동의합니다. (전자상거래법 제 8조 제2항) <!-- 210421_수정 : 텍스트 수정. -->
 									</div>

+ 30 - 1
src/main/webapp/WEB-INF/views/web/order/OrderCompleteWeb.html

@@ -416,14 +416,43 @@ var delvMemoSet = function(delvMemoObj) {
 	$("#delvMemo").text(delvMemo);
 }
 
-//주문상세보기 버튼 클릭 이벤트 처리
+// 주문상세보기 버튼 클릭 이벤트 처리
 var fnGoToOrderDetail = function(param) {
 	let ordNo = $(param).attr('ordNo');
 	cfnGoToPage(_PAGE_MYPAGE_ORDER_DETAIL + ordNo);
 }
+</script>
+
+<!-- 2021.05.27 주문완료 로그스크립트 삽입 -->
+<script th:inline="javascript">
+var orderDetailList 	= [[${orderDetailList}]]; // 주문상세목록
+
+window._eglqueue = window._eglqueue || [];
+
+/* STAR LOOP: 구매한 모든 상품에 대해 */
+for (i=0 ; i<orderDetailList.length ; i++) {
+	var goodsCd 	= orderDetailList[i].goodsCd;
+	var currPrice 	= orderDetailList[i].currPrice;
+	var ordQty 		= orderDetailList[i].ordQty;
+	_eglqueue.push(['addVar', 'orderItems', {itemId:goodsCd, price:currPrice, quantity:ordQty}]);
+}
+/* END LOOP */
+
+window._eglqueue = window._eglqueue || [];
 
+_eglqueue.push(['setVar'	, 'cuid'		, eglqueueCuid]);
+_eglqueue.push(['setVar'	, 'orderId'		, [[${orderInfo.ordNo}]]]);
+_eglqueue.push(['setVar'	, 'orderPrice'	, [[${realOrdSumAmt}]]]);
+_eglqueue.push(['setVar'	, 'userId'		, [[${orderInfo.custId}]]]); // optional
+_eglqueue.push(['track'		, 'order']);
 
+(function (s, x) {
+s = document.createElement('script'); s.type = 'text/javascript';
+s.async = true; s.defer = true; s.src = (('https:' == document.location.protocol) ? 'https' : 'http') + '://logger.eigene.io/js/logger.min.js';
+x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);
+})();
 </script>
+<!-- //2021.05.27 주문완료 로그스크립트 삽입 -->
 
 
 

+ 2 - 3
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -693,9 +693,8 @@ var fnGetDailyDeliveryCheck = function (temp) {
 			//alert("배송지정보가 없습니다. 기본 총알배송 가능지역으로 설정 합니다.");
 			zipcode = "04320"; // 기본 서울역 우편번호로 설정
 		}
-		
-		// TODO
-		var shotDelvObj 	= {"zipNo" : zipcode};
+
+		var shotDelvObj 	= {"recipZipcode" : zipcode};
 	
 		gagajf.ajaxJsonSubmit(
 			"/order/getDailyDeliveryCheck"

+ 6 - 1
src/main/webapp/WEB-INF/views/web/order/OrderListInfoWeb.html

@@ -53,7 +53,12 @@
 									<div class="brand" th:text="${goods.brandGroupNm}"></div>
 									<div class="name" th:text="${goods.goodsNm}"></div>									
 									<div class="option" th:each="colorNm, index : ${goods.colorNmArr}">
-										<span th:text="${colorNm}+'/'+${goods.optCd2Arr[index.index]}"></span> 
+										<th:block th:if="${goods.goodsType} == 'G056_S'">
+											<span th:text="${goods.itemNmArr[index.index]}+'/'+${colorNm}+'/'+${goods.optCd2Arr[index.index]}"></span>
+										</th:block>
+										<th:block th:unless="${goods.goodsType} == 'G056_S'">
+											<span th:text="${colorNm}+'/'+${goods.optCd2Arr[index.index]}"></span>
+										</th:block>  
 									</div>
 									<div class="option">
 										<span>수량:<em th:text="${goods.goodsQty}"></em>개</span>