sowon4187 5 سال پیش
والد
کامیت
802ea4ecd4

+ 12 - 48
src/main/java/com/style24/front/biz/web/TsfPlanningController.java

@@ -203,11 +203,9 @@ public class TsfPlanningController extends TsfBaseController {
 		
 		// 코너 목록
 		mav.addObject("planCornerList", planningService.getPlanCornerList(plan));
-		mav.addObject("planCornerListLength", planningService.getPlanCornerList(plan).size());
-		
 		// 코너 상품
 		mav.addObject("planCornerGoodsList", planningService.getPlanningCornerGoodsList(plan));
-
+		//mav.addObject("planCornerListLength", planningService.getPlanCornerList(plan).size());
 
 		// Popup Parameter
 		mav.addObject("preview", plan.getPreview());
@@ -463,47 +461,7 @@ public class TsfPlanningController extends TsfBaseController {
 		mav.setViewName(super.getDeviceViewName("planning/PlanningEventPollForm"));
 		return mav;
 	}
-	
-//	/**
-//	 * 이벤트 설문조사 접근확인
-//	 * @param 
-//	 * @return
-//	 * @author sowon
-//	 * @since 2021. 4. 3
-//	 */
-//	@PostMapping("/event/poll/access")
-//	@ResponseBody
-//	public GagaMap planningEventPollAccess(@RequestBody Plan plan) {
-//		
-//		GagaMap result = new GagaMap();
-//		Poll poll = new Poll();
-//		plan.setSiteCd(TscConstants.Site.STYLE24.value());
-//		plan.setFrontGb(TsfSession.getFrontGb());
-//		plan.setCustNo(TsfSession.getInfo().getCustNo());
-//		
-//		poll = planningService.getPollQuestionInfo(plan);
-//		String partYn = poll.getDupPartiYn(); 
-//		String comYn = poll.getFstComYn();
-//		int partiCnt = poll.getPartiCnt();
-//		// 중복참여가 아닌경우
-//		if(partYn.equals("N")) {
-//			int count = planningService.getCustAnswerCount(plan);
-//			if (count>0) {
-//				result.set("msg","이미 응모하셨습니다.");
-//				result.set("status","1");
-//			}
-//		}
-//		else if (comYn.equals("Y")) {
-//			int count = planningService.getCustAnswerPartiCount(poll);
-//			if (count>=partiCnt) {
-//				result.set("msg","선착순 응모가 마감되었습니다.");
-//				result.set("status","2");
-//			}
-//			
-//		}
-//		return result;
-//	}
-	
+
 
 	
 	/**
@@ -530,7 +488,7 @@ public class TsfPlanningController extends TsfBaseController {
 	 * @since 2021. 3. 30
 	 */
 	@GetMapping("/shot/delivery/guide/form")
-	public ModelAndView planningShotDeliveryForm(Plan plan) throws Exception {
+	public ModelAndView planningShotDeliveryForm(@RequestParam(value="planSq")Integer planSq ,Plan plan) throws Exception {
 		ModelAndView mav = new ModelAndView();
 		CustDeliveryAddr addr = new CustDeliveryAddr();
 		Integer custNo = null;
@@ -544,11 +502,17 @@ public class TsfPlanningController extends TsfBaseController {
 			customer = coreCustomerService.getCustomerInfo(customer);
 			mav.addObject("customerInfo", customer);
 		}
-		
+		plan.setFrontGb(TsfSession.getFrontGb());
+		plan.setSiteCd(TscConstants.Site.STYLE24.value());
+		plan.setCustGb(TsfSession.getCustGb());
+		// 코너 목록
+		mav.addObject("planCornerList", planningService.getPlanCornerList(plan));
+		// 코너 상품
+		mav.addObject("planCornerGoodsList", planningService.getPlanningCornerGoodsList(plan));
 
 		addr.setCustNo(custNo);
-		plan.setSiteCd(TscConstants.Site.STYLE24.value());
-		plan.setFrontGb(TsfSession.getFrontGb());
+		
+		
 		mav.addObject("custAddr", planningService.getCustAddrInfo(addr));
 		mav.addObject("shotHtml", planningService.getShotDeliveryHtml(plan));
 		mav.setViewName(super.getDeviceViewName("planning/PlanningShotGuideForm"));

+ 2 - 0
src/main/java/com/style24/persistence/domain/Plan.java

@@ -109,6 +109,8 @@ public class Plan extends TscBaseDomain {
 	private String cateNm;			// 카테고리명
 	private Integer cateNo;			// 카테고리번호
 	private String brandGroupNm;	// 브랜드 그룹 이름
+	private String colorChips;
+	private String icon;
 
 	// 고객등급
 	private String custGradeName;	// 접근가능고객 등급 네임

+ 2 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml

@@ -818,7 +818,7 @@
 	<select id="getPlanGoodsDisplayList" parameterType="Plan" resultType="Plan">
 		/* TsfPlanning.getPlanGoodsDisplayList */
 		SELECT Z.*
-		      ,100 - ROUND((Z.CURR_PRICE / Z.LIST_PRICE) * 100 ,0) AS DC_RATE 
+		      ,(CASE WHEN Z.LIST_PRICE > 0 THEN 100 - ROUND((Z.CURR_PRICE / Z.LIST_PRICE) * 100 ,0) ELSE 0 END ) AS DC_RATE
 		FROM
 		(
 		WITH TAB_PLAN_GOODS AS (
@@ -933,7 +933,7 @@
 	<select id="getPlanningCornerGoodsList" parameterType="Plan" resultType="Plan">
 		/* TsfPlanning.getPlanningCornerGoodsList */
 		SELECT Z.*
-		     , 100 - ROUND((Z.CURR_PRICE / Z.LIST_PRICE) * 100 ,0) AS DC_RATE
+		     ,(CASE WHEN Z.LIST_PRICE > 0 THEN 100 - ROUND((Z.CURR_PRICE / Z.LIST_PRICE) * 100 ,0) ELSE 0 END ) AS DC_RATE
 		FROM   (
 		        WITH TAB_PLAN_GOODS AS (
 		            SELECT P.PLAN_SQ                                                /*기획전번호*/

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

@@ -29,7 +29,7 @@
 	<select id="getWishListGoodsList" parameterType="WishList" resultType="Goods">
 		/* TsfWishlist.getWishListGoodsList*/
 		SELECT Z.*
-			      ,100 - ROUND((Z.CURR_PRICE / Z.LIST_PRICE) * 100 ,0) AS DC_RATE 
+			      ,(CASE WHEN Z.LIST_PRICE > 0 THEN 100 - ROUND((Z.CURR_PRICE / Z.LIST_PRICE) * 100 ,0) ELSE 0 END ) AS DC_RATE
 			      ,DATE_FORMAT(Z.REG_DT,'%Y.%m') AS REG_DT_MONTH 
 			FROM
 			(

+ 102 - 53
src/main/webapp/WEB-INF/views/web/planning/PlanningDetailFormWeb.html

@@ -146,58 +146,8 @@
 			</th:block>            
             
             <!-- 관련상품 리스트 -->
-			<div class="content sticky_nav_list" th:if="${planCornerListLength>0}">
-				<div class="cont_head">
-                    <div class="sticky_nav">
-                        <ul>    
-                        	<th:block th:each="cornerData, CornerStat : ${planCornerList}">
-                            <li><a th:href="${'#brand' +CornerStat.index}" th:text="${cornerData.cornerNm}"></a></li> <!-- 섹션이동 -->
-                            </th:block>
-                        </ul>
-                    </div>
-				</div>
-				<div class="cont_body">
-                    <div class="list_content">
-                    	<th:block th:each="cornerData, CornerStat : ${planCornerList}">
-                        <div th:id="${'brand' +CornerStat.index}">
-                            <div class="item_header"> <!-- 섹션이동 -->
-                                <h4 th:text="${cornerData.cornerNm}"></h4>
-                            </div>
-                            <div class="itemsGrp"> <!-- itemsGrp rank hot deal -->
-                            	<th:block th:each="cornerGoodsData, CornerGoodsStat : ${planCornerGoodsList}" th:if="${cornerGoodsData.cornerNm == cornerData.cornerNm}">
-                       
-                                <div class="item_prod">
-                                    <div class="item_state">
-                                        <button type="button" th:class="${cornerGoodsData.likeIt == 'likeit'}? 'itemLike likeit' : 'itemLike'" onclick="cfnPutWishList(this);" th:attr="goodsCd=${cornerGoodsData.goodsCd}, ithrCd='', contentsLoc='', planDtlSq=''">관심상품 추가</button>
-                                        <a href="javascript:void(0);" th:onclick="cfnGoToGoodsDetail([[${cornerGoodsData.goodsCd}]])" class="itemLink">
-                                            <!-- <div class="rank ranker"><span>1</span></div> -->
-                                            <div class="itemPic">
-                                                <img alt="BLUE-a" class=" vLHTC pd_img" th:src="${goodsView + '/' +cornerGoodsData.sysImgNm}">
-                                            </div>
-                                            <p class="itemBrand" th:text="${cornerGoodsData.brandGroupNm}"></p>
-                                            <div class="itemName" th:text="${cornerGoodsData.goodsNm}"></div>
-                                            <p class="itemPrice">[[${#numbers.formatInteger(cornerGoodsData.currPrice,0,'COMMA')}]]
-                                                <span class="itemPrice_original" th:if="${cornerGoodsData.currPrice != cornerGoodsData.listPrice}" th:text="${#numbers.formatInteger(cornerGoodsData.listPrice,0,'COMMA')}"></span>
-                                                <span class=" itemPercent" th:if="${cornerGoodsData.dcRate != '0'}" th:text="|${#numbers.formatDecimal(cornerGoodsData.dcRate,0,0)}%|"></span>
-                                            </p>
-                                            <div class="itemcolorchip">
-                                                <span class="chip_color35" value="ABM">BEIGE</span>
-                                                <span class="chip_color54" value="BDS">BLACK</span>
-                                                <span class="chip_color40" value="YBR">WHITE</span>
-                                            </div>
-                                            <p class="itemBadge">
-                                                <span class="badge13">베스트 </span>
-                                            </p>
-                                            <div class="itemComment" th:if="${cornerGoodsData.goodsTnm != null}" th:text="${cornerGoodsData.goodsTnm}"></div>
-                                        </a>
-                                    </div>
-                                </div>  
-                                </th:block>          
-                          	</div>
-                          </div>
-                      </th:block>
-                  </div>         
-              </div>
+			<div class="content sticky_nav_list" id="cornerList">
+
           </div>
 		  
             <!-- //관련상품 리스트 -->  
@@ -289,9 +239,109 @@ let template =[[${templateOrd}]];
 let replyList = [[${replyList}]];
 let replyCount = [[${replyCount}]];
 let replyAttachList = [[${replyAttachList}]];
+let planCornerGoodsList = [[${planCornerGoodsList}]];
+let planCornerList = [[${planCornerList}]];
 let _mall = [[${@environment.getProperty('domain.front')}]];
 let goodsView =[[${@environment.getProperty('upload.goods.view')}]]
 let imgUrl=[[${@environment.getProperty('upload.image.view')}]];
+console.log(planCornerList);
+console.log(planCornerGoodsList);
+if(planCornerList.length>0){
+	var html = '';
+	
+	html += '<div class="cont_head">';
+	html += '     <div class="sticky_nav">';
+	html += '         <ul>    ';
+	$.each(planCornerList, function(idx, item)  {
+		html += '             <li><a href="#brand'+idx+'">'+item.cornerNm+'</a></li>';
+	})
+	
+	html += '         </ul>';
+	html += '     </div>';
+	html += '</div>';
+	html += '<div class="cont_body">';
+	html += '     <div class="list_content">';
+	$.each(planCornerList, function(idx, item)  {
+		html += '         <div id="brand'+idx+'">';
+		html += '             <div class="item_header">';
+		html += '                 <h4>'+item.cornerNm+'</h4>';
+		html += '             </div>';
+		html += '             <div class="itemsGrp">';
+		$.each(planCornerGoodsList, function(idx2, item2)  {
+			html += '                 <div class="item_prod">';
+			html += '                     <div class="item_state">';
+			html += '		<button type="button" class="itemLike';
+			if(item.likeIt == 'likeit'){
+				html += ' likeit';
+			}
+			html += ' "';
+			html += ' onClick="cfnPutWishList(this);" goodsCd=\''+item2.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
+			
+			html += '                         <a href="javascript:void(0);" onclick="cfnGoToGoodsDetail(\'' + item2.goodsCd + '\')" class="itemLink">';
+			html += '                             <div class="itemPic">';
+			html += '                                 <img alt="BLUE-a" class=" vLHTC pd_img" src="'+ goodsView +'/'+item2.sysImgNm +'">';
+			html += '                             </div>';
+			html += '                             <p class="itemBrand">'+item2.brandGroupNm+'</p>';
+			html += '                             <div class="itemName">'+item2.goodsNm+'</div>';
+			html += '                             <p class="itemPrice">'+item2.currPrice.addComma();
+			if (item2.currPrice != item2.listPrice) {
+				html += '                                 <span class="itemPrice_original">'+item2.listPrice.addComma()+'</span>';
+			}
+			if (item2.dcRate != 0) {
+				html += '                                 <span class=" itemPercent">'+item2.dcRate.addComma()+'%</span>';
+			}
+			
+			
+			html += '                             </p>';
+			html += '                             <div class="itemcolorchip">';
+			if(!gagajf.isNull(item2.colorChips)){
+				var colorArr = item2.colorChips.split(",");
+				var colorCd = '';
+				var rgbColor = '';
+				for(let i=0; i<colorArr.length; i++){
+					var colorInfo = colorArr[i].split(":");
+					colorCd = colorInfo[0];
+					rgbColor = colorInfo[1];
+					if(rgbColor=='#FFFFFF'){
+						html += '	<span class="chip_color" style="background-color: '+rgbColor+';border:1px solid #aaa;" value="'+colorCd+'">'+colorCd+'</span>';
+					}else{
+						html += '	<span class="chip_color" style="background-color: '+rgbColor+'" value="'+colorCd+'">'+colorCd+'</span>';
+					}
+				}
+			}
+			html += '                             </div>';
+			if(!gagajf.isNull(item2.icon)){
+				var iconArr = item2.icon.split(",");
+				var iconGb = '';
+				var iconNm = '';
+				html += '	<p class="itemBadge">';
+				for(let i=0; i<iconArr.length; i++){
+					var iconInfo = iconArr[i].split(":");
+					iconGb = iconInfo[0];
+					iconNm = iconInfo[1];
+					html += '	<span class="badge13" value="'+iconGb+'">'+iconNm+' </span>';
+				}
+				html += '	</p>';
+			}
+			if(item2.goodsTnm != null){
+				html += '			<div class="itemComment">'+item2.goodsTnm+'</div>';
+			}
+			html += '                         </a>';
+			html += '                     </div>';
+			html += '                 </div>';
+		})
+
+		html += '             </div>';
+		html += '         </div>';
+	})
+	
+	html += '     </div>';
+	html += ' </div>';
+	
+	
+	$("#cornerList").append(html);
+	
+}
 
 if(review.length>0){
 	
@@ -409,7 +459,6 @@ if(goods1.length>0){
 			html += '	<div>';
 			html += '        <h4>';
 			if (template[i].linkUrl != null && template[i].linkUrl != '') { /* 링크 변경 예정 */
-				console.log("template[i].linkOpenGb"+ template[i].linkOpenGb);
 				if (template[i].linkOpenGb == 'M') { //본창
 					html += '        <a href="http://'+template[i].linkUrl+'" target="_self">'+template[i].title+' <i class="ico_arrow"></i></a>';
 				}else{

+ 106 - 7
src/main/webapp/WEB-INF/views/web/planning/PlanningShotGuideFormWeb.html

@@ -57,21 +57,21 @@
                 </div>
 		    </div>
             <!-- 총알배송 가능 상품 리스트 -->
-			<div class="content sticky_nav_list">
-				<div class="cont_head">
+			<div class="content sticky_nav_list" id="cornerList">
+<!-- 				<div class="cont_head">
                     <div class="sticky_nav">
                         <ul>    
-                            <li><a href="#brand01">모이몰른</a></li> <!-- 섹션이동 -->
+                            <li><a href="#brand01">모이몰른</a></li> 섹션이동
                         </ul>
                     </div>
 				</div>
 				<div class="cont_body">
                     <div class="list_content">
                         <div id="brand01">
-                            <div class="item_header"> <!-- 섹션이동 -->
+                            <div class="item_header"> 섹션이동
                                 <h4>모이몰른</h4>
                             </div>
-                            <div class="itemsGrp"> <!-- itemsGrp rank hot deal -->
+                            <div class="itemsGrp"> itemsGrp rank hot deal
                                 <div class="item_prod">
                                     <div class="item_state">
                                         <button type="button" class="itemLike">관심상품 추가</button>
@@ -101,7 +101,7 @@
                             </div>
                         </div>
                      </div>
-                </div>
+                </div> -->
 		    </div>
             <!-- //총알배송 가능 상품 리스트 -->  
         </div>
@@ -141,8 +141,107 @@
 /*<![CDATA[*/
 let custAddr = [[${custAddr}]];
 let customerInfo = [[${customerInfo}]];
-
+let goodsView =[[${@environment.getProperty('upload.goods.view')}]]
+let planCornerList = [[${planCornerList}]];
+let planCornerGoodsList = [[${planCornerGoodsList}]];
 // 로그인 확인
+if(planCornerList.length>0){
+	var html = '';
+	
+	html += '<div class="cont_head">';
+	html += '     <div class="sticky_nav">';
+	html += '         <ul>    ';
+	$.each(planCornerList, function(idx, item)  {
+		html += '             <li><a href="#brand'+idx+'">'+item.cornerNm+'</a></li>';
+	})
+	
+	html += '         </ul>';
+	html += '     </div>';
+	html += '</div>';
+	html += '<div class="cont_body">';
+	html += '     <div class="list_content">';
+	$.each(planCornerList, function(idx, item)  {
+		html += '         <div id="brand'+idx+'">';
+		html += '             <div class="item_header">';
+		html += '                 <h4>'+item.cornerNm+'</h4>';
+		html += '             </div>';
+		html += '             <div class="itemsGrp">';
+		$.each(planCornerGoodsList, function(idx2, item2)  {
+			html += '                 <div class="item_prod">';
+			html += '                     <div class="item_state">';
+			html += '		<button type="button" class="itemLike';
+			if(item.likeIt == 'likeit'){
+				html += ' likeit';
+			}
+			html += ' "';
+			html += ' onClick="cfnPutWishList(this);" goodsCd=\''+item2.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
+			
+			html += '                         <a href="javascript:void(0);" onclick="cfnGoToGoodsDetail(\'' + item2.goodsCd + '\')" class="itemLink">';
+			html += '                             <div class="itemPic">';
+			html += '                                 <img alt="BLUE-a" class=" vLHTC pd_img" src="'+ goodsView +'/'+item2.sysImgNm +'">';
+			html += '                             </div>';
+			html += '                             <p class="itemBrand">'+item2.brandGroupNm+'</p>';
+			html += '                             <div class="itemName">'+item2.goodsNm+'</div>';
+			html += '                             <p class="itemPrice">'+item2.currPrice.addComma();
+			if (item2.currPrice != item2.listPrice) {
+				html += '                                 <span class="itemPrice_original">'+item2.listPrice.addComma()+'</span>';
+			}
+			if (item2.dcRate != 0) {
+				html += '                                 <span class=" itemPercent">'+item2.dcRate.addComma()+'%</span>';
+			}
+			
+			
+			html += '                             </p>';
+			html += '                             <div class="itemcolorchip">';
+			if(!gagajf.isNull(item2.colorChips)){
+				var colorArr = item2.colorChips.split(",");
+				var colorCd = '';
+				var rgbColor = '';
+				for(let i=0; i<colorArr.length; i++){
+					var colorInfo = colorArr[i].split(":");
+					colorCd = colorInfo[0];
+					rgbColor = colorInfo[1];
+					if(rgbColor=='#FFFFFF'){
+						html += '	<span class="chip_color" style="background-color: '+rgbColor+';border:1px solid #aaa;" value="'+colorCd+'">'+colorCd+'</span>';
+					}else{
+						html += '	<span class="chip_color" style="background-color: '+rgbColor+'" value="'+colorCd+'">'+colorCd+'</span>';
+					}
+				}
+			}
+			html += '                             </div>';
+			if(!gagajf.isNull(item2.icon)){
+				var iconArr = item2.icon.split(",");
+				var iconGb = '';
+				var iconNm = '';
+				html += '	<p class="itemBadge">';
+				for(let i=0; i<iconArr.length; i++){
+					var iconInfo = iconArr[i].split(":");
+					iconGb = iconInfo[0];
+					iconNm = iconInfo[1];
+					html += '	<span class="badge13" value="'+iconGb+'">'+iconNm+' </span>';
+				}
+				html += '	</p>';
+			}
+			if(item2.goodsTnm != null){
+				html += '			<div class="itemComment">'+item2.goodsTnm+'</div>';
+			}
+			html += '                         </a>';
+			html += '                     </div>';
+			html += '                 </div>';
+		})
+
+		html += '             </div>';
+		html += '         </div>';
+	})
+	
+	html += '     </div>';
+	html += ' </div>';
+	
+	
+	$("#cornerList").append(html);
+	
+}
+
 var shotBody = function () {
 	if (!cfCheckLogin() || (custAddr == null && custAddr == '')) {
 		html = '';

+ 0 - 1
src/main/webapp/WEB-INF/views/web/social/SocialMainFormWeb.html

@@ -87,7 +87,6 @@
     </div>   
 <script th:inline="javascript">
 var socialInfo = [[${socialInfo}]];
-console.log(socialInfo);
 var socialAddCart = function (obj) {
 	let btnType = "C";
 	let params = [];