Explorar el Código

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.front.git into develop

gagamel hace 5 años
padre
commit
6eb1888b9e
Se han modificado 22 ficheros con 341 adiciones y 562 borrados
  1. 1 1
      src/main/java/com/style24/front/biz/service/TsfGiftcardService.java
  2. 27 6
      src/main/java/com/style24/front/biz/service/TsfOrderService.java
  3. 0 104
      src/main/java/com/style24/front/biz/thirdparty/Yes24Giftcard.java
  4. 1 1
      src/main/java/com/style24/front/biz/web/TsfDisplayController.java
  5. 0 44
      src/main/java/com/style24/persistence/domain/Popup.java
  6. 17 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfGoods.xml
  7. 1 3
      src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml
  8. 4 4
      src/main/resources/config/application-locd.yml
  9. 6 5
      src/main/resources/config/application-style.yml
  10. 5 4
      src/main/resources/config/application-tsit.yml
  11. 1 1
      src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDescFormMob.html
  12. 2 2
      src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html
  13. 54 0
      src/main/webapp/WEB-INF/views/mob/planning/PlanningCouponDetailFormMob.html
  14. 203 367
      src/main/webapp/WEB-INF/views/mob/planning/PlanningDetailFormMob.html
  15. 2 2
      src/main/webapp/WEB-INF/views/web/goods/GoodsDealDescFormWeb.html
  16. 2 2
      src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html
  17. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageReviewCreateFormWeb.html
  18. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageReviewFormWeb.html
  19. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageWishListFormWeb.html
  20. 8 8
      src/main/webapp/WEB-INF/views/web/planning/PlanningDetailFormWeb.html
  21. 2 2
      src/main/webapp/WEB-INF/views/web/planning/PlanningMainFormWeb.html
  22. 1 1
      src/main/webapp/WEB-INF/views/web/social/SocialMainFormWeb.html

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

@@ -2,11 +2,11 @@ package com.style24.front.biz.service;
 
 import java.util.Collection;
 
+import com.style24.core.biz.thirdparty.Yes24Giftcard;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.style24.front.biz.dao.TsfGiftcardDao;
-import com.style24.front.biz.thirdparty.Yes24Giftcard;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.GiftCard;
 import com.style24.persistence.domain.Order;

+ 27 - 6
src/main/java/com/style24/front/biz/service/TsfOrderService.java

@@ -1016,9 +1016,7 @@ public class TsfOrderService {
 			// 장바구니 등록된 주문 정보 조회
 			Collection<Order> cartList = coreOrderService.getCartGoodsList(param);
 
-			// 배송비 정보 조회
-			GagaMap delvMap = coreOrderService.getCartDelvGoodsCntList(cartList, param);
-			param.setDelvFeeCdList((Collection<Order>) delvMap.get("delvFeeCdList"));
+			log.info("CHECK DELV_FEE 1 ::::: {}", cartList.stream().iterator().next().getDelvFee());
 
 			// 주문 상세 정보 세팅
 			for(Order item : cartList) {
@@ -1028,12 +1026,23 @@ public class TsfOrderService {
 				item.setShotDelvYn("N");
 				item.setGiftPackYn("N");
 				item.setRegNo(param.getCustNo());
+				item.setOrgDelvFee(item.getDelvFee());
 			}
 			param.setOrderDetailList(cartList);
 
+			log.info("CHECK DELV_FEE 2 ::::: {}", cartList.stream().iterator().next().getDelvFee());
+
+			// 배송비 정보 조회
+			GagaMap delvMap = coreOrderService.getCartDelvGoodsCntList(cartList, param);
+			param.setDelvFeeCdList((Collection<Order>) delvMap.get("delvFeeCdList"));
+
+			log.info("CHECK DELV_FEE 3 ::::: {}", param.getOrderDetailList().stream().iterator().next().getDelvFee());
+
 			// 주문 정보 등록
 			coreOrderService.createPreOrder(param);
 
+			log.info("CHECK DELV_FEE 4 ::::: {}", param.getOrderDetailList().stream().iterator().next().getDelvFee());
+
 			// 네이버페이 기본정보
 			String shopId			= env.getProperty("naverPay.shop.id");				// shopId
 			String certificationKey	= env.getProperty("naverPay.certification.key");	// 네이버페이 인증키
@@ -1061,6 +1070,9 @@ public class TsfOrderService {
 			sb.append("\t</interface>\n");
 
 			for(Order item : param.getOrderDetailList()) {
+
+				log.info("CHECK DELV_FEE 5 ::::: {}", item.getDelvFee());
+
 				//<!-- 상품정보 -->
 				sb.append("\t<product>\n");
 				sb.append("\t\t<id>").append(item.getGoodsCd()).append("</id>\n");								//<!-- 상품코드 -->
@@ -1098,10 +1110,12 @@ public class TsfOrderService {
 				sb.append("\t\t\t</selectedItem>\n");
 				sb.append("\t\t</option>\n");
 
+				log.info("CHECK DELV_FEE 6 ::::: {}", item.getDelvFee());
+
 				// 배송비 판단 후 배송비유형 선택 (추가 기본배송비, 무료배송비 기준 조회후 등록)
 				//<!-- 배송정보 -->
 				String delvFeeCrite = "CHARGE";
-				int delvFee = item.getDelvFee();
+				int delvFee = item.getOrgDelvFee();
 				String feePayType = "PREPAYED";
 				// 배송비 조건
 				if(TscConstants.DelvFeeCrite.NORMAL.value().equals(item.getDelvFeeCrite())) {
@@ -1112,12 +1126,15 @@ public class TsfOrderService {
 					delvFee = 0;
 				}
 
+				log.info("CHECK DELV_FEE 7 ::::: {}", item.getDelvFee());
+
 				sb.append("\t\t<shippingPolicy>\n");
 				sb.append("\t\t\t<groupId>").append(item.getDelvFeeCd()).append("</groupId>\n");		//<!-- 배송비묶음그룹ID -->
 				sb.append("\t\t\t<method>DELIVERY</method>\n");											//<!-- 배송방법 : 택배,소포,등기 -->
 				sb.append("\t\t\t<feeType>").append("CONDITIONAL_FREE").append("</feeType>\n");			//<!-- 배송비유형 : 유료 -->
 				sb.append("\t\t\t<feePayType>").append("PREPAYED").append("</feePayType>\n");			//<!-- 배송비결제방법 : 선불 -->
-				sb.append("\t\t\t<feePrice>").append(item.getDelvFee()).append("</feePrice>\n");		//<!-- 기본배송비 -->
+				//sb.append("\t\t\t<feePrice>").append(item.getDelvFee()).append("</feePrice>\n");		//<!-- 기본배송비 -->
+				 sb.append("\t\t\t<feePrice>").append(delvFee).append("</feePrice>\n");					//<!-- 기본배송비 -->
 
 				// 조건부 무료일경우에만 송부
 				if(TscConstants.DelvFeeCrite.NORMAL.value().equals(item.getDelvFeeCrite())) {
@@ -1138,8 +1155,12 @@ public class TsfOrderService {
 
 			result = sendOrderInfoToNC(sb);
 
+			log.info("CHECK state ::::: {}", result.get("state").toString());
+			log.info("CHECK orderKey ::::: {}",result.get("orderKey").toString());
+			log.info("CHECK resultNo ::::: {}", result.get("resultNo").toString());
+
 			// 네이버 페이 주문번호 저장
-			param.setNpayOrdNo(Integer.parseInt(result.get("orderKey").toString()));
+			param.setNpayOrdNo(Integer.parseInt(result.get("resultNo").toString()));
 
 			log.info("CHECK NAVER PAY ORD NO ::::: {}", param.getNpayOrdNo());
 

+ 0 - 104
src/main/java/com/style24/front/biz/thirdparty/Yes24Giftcard.java

@@ -1,104 +0,0 @@
-package com.style24.front.biz.thirdparty;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.StringReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.soap.MessageFactory;
-import javax.xml.soap.Node;
-import javax.xml.soap.SOAPBody;
-import javax.xml.soap.SOAPConnection;
-import javax.xml.soap.SOAPConnectionFactory;
-
-import javax.xml.soap.SOAPMessage;
-import javax.xml.soap.SOAPPart;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpression;
-import javax.xml.xpath.XPathFactory;
-
-import org.springframework.stereotype.Component;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-
-import lombok.extern.slf4j.Slf4j;
-
-@Component
-@Slf4j
-public class Yes24Giftcard {
-
-	public String soapDataTransfer(String pubNo, String ip, Integer userId) throws Exception {
-		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-		Document doc = null;
-
-		// request SOAP message DOMSource create
-		String message = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
-				+ "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
-				+ "<soap:Body>" + "<Approval xmlns=\"http://tempuri.org/\">" + "<ticPubNo>" + pubNo + "</ticPubNo>"
-				+ "<ipAddress>" + ip + "</ipAddress>" + "<iStyle24UserID>" + userId + "</iStyle24UserID>"
-				+ "</Approval>" + "</soap:Body>" + "</soap:Envelope>";
-
-		OutputStreamWriter wr = null;
-		BufferedReader in = null;
-
-		String strURL = "http://api.yes24.com/Yes24GiftTicketAPI/Yes24GiftTicketService.asmx";
-
-		URL url = new URL(strURL); // 보낼 주소
-		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
-
-		conn.setDoOutput(true);
-		conn.setRequestMethod("POST");
-		conn.addRequestProperty("Content-Type", "text/xml");
-		wr = new OutputStreamWriter(conn.getOutputStream());
-		wr.write(message);
-		wr.flush();
-		int code = conn.getResponseCode();
-
-		String inputLine = null;
-		StringBuffer buffer = new StringBuffer();
-		in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
-		while ((inputLine = in.readLine()) != null) {
-			buffer.append(inputLine);
-		}
-		System.out.println(buffer.toString()); // 결과 값
-
-		// xml 파싱하기
-		InputSource is = new InputSource(new StringReader(buffer.toString()));
-
-		Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(is);
-
-		NodeList nodeList = null;
-		ArrayList<Map<String, String>> xmlList = new ArrayList<Map<String, String>>();
-		String getNodeName = "";
-		String childnodevalue = "";
-		if (document.getFirstChild().getChildNodes().getLength() > 0) {
-			getNodeName = document.getFirstChild().getFirstChild().getNodeName();
-
-			nodeList = document.getElementsByTagName(getNodeName);
-			
-			for (int i = 0; i < nodeList.getLength(); i++) {
-				NodeList childList = nodeList.item(i).getChildNodes();
-
-				for (int j = 0; j < childList.getLength(); j++) {
-					String childnodename = childList.item(j).getNodeName();
-					childnodevalue = childList.item(j).getTextContent();
-				}
-			}
-		} 
-
-		return childnodevalue;
-	}
-
-}

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

@@ -530,7 +530,7 @@ public class TsfDisplayController extends TsfBaseController {
 			popup.setCateNo(Integer.parseInt(paramMap.get("cateNo")));
 		}
 		popup.setBrandCd(paramMap.get("brandCd"));
-		popup.setPlanSq(paramMap.get("planSq"));
+		popup.setPlanSq((StringUtils.isBlank(paramMap.get("planSq").toString())? 0 : Integer.parseInt(paramMap.get("planSq"))));
 		popup.setPreview(paramMap.get("preview"));
 		popup.setViewDt(paramMap.get("viewDt"));
 		return displayService.getPopupList(popup);

+ 0 - 44
src/main/java/com/style24/persistence/domain/Popup.java

@@ -1,44 +0,0 @@
-package com.style24.persistence.domain;
-
-import com.style24.persistence.TscBaseDomain;
-
-import lombok.Data;
-
-/**
- * 팝업 Domain
- *
- * @author eskim
- * @since 2021.03.30
- */
-@SuppressWarnings("serial")
-@Data
-public class Popup extends TscBaseDomain {
-
-	private String popupSq;
-	private String siteCd;
-	private String frontGb;
-	private String popupGb;
-	private String imgUrl1;
-	private String linkUrl1;
-	private String imgUrl2;
-	private String linkUrl2;
-	private String imgUrl3;
-	private String linkUrl3;
-	private String imgUrl4;
-	private String linkUrl4;
-	private String imgUrl15;
-	private String linkUrl15;
-	private String viewPage;
-	private Integer cateNo;
-	private String brandCd;
-	private String planSq;
-	private Integer dispOrd;
-	private String preview = "N";
-	private String viewDt;
-	private Integer topLoc;
-	private Integer leftLoc;
-	private String popupWidth;
-	private String popupHeight;
-	private Integer unexpDays;
-
-}

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

@@ -1161,19 +1161,35 @@
 		          , FG.ALL_YN     -- 모두지급
 		          , FG.SECTION_GB -- G810_10|수량, G810_11|금액
 		          , FG.SECTION_VAL
+		<choose>
+		<when test="maxRownum != null and maxRownum > 0">
 		          , FG.GOODS_NM
 		          , FG.ITEM_QTY
+		</when>
+		<otherwise>
+		          ,  '' AS GOODS_NM
+		          ,  0 AS ITEM_QTY
+		</otherwise>
+		</choose>
 		          , GROUP_CONCAT(CONCAT(FG.GOODS_NM,':',FG.ITEM_QTY)) AS FREE_GOODS
 		          -- , RANK() OVER (PARTITION BY F.FREEGIFT_SQ , F.FREEGIFT_SECTION_SQ ORDER BY  FG.FREEGIFT_VAL_SQ ) AS RNUM
 		    FROM TAB_FREEGOODS FG
 		     WHERE FG.ROWNUM = 1
+		<choose>
+		<when test="maxRownum != null and maxRownum > 0">
 		    GROUP BY  FG.FREEGIFT_SQ , FG.FREEGIFT_SECTION_SQ , FG.ALL_YN , FG.SECTION_GB , FG.SECTION_VAL, FG.GOODS_NM, FG.ITEM_QTY
+		</when>
+		<otherwise>
+		    GROUP BY  FG.FREEGIFT_SQ , FG.FREEGIFT_SECTION_SQ , FG.ALL_YN , FG.SECTION_GB , FG.SECTION_VAL
+		</otherwise>
+		</choose>
+		    
 		    ORDER BY FG.FREEGIFT_SQ, FG.FREEGIFT_SECTION_SQ
 		) Z
 		WHERE 1 = 1
 		<if test="maxRownum != null and maxRownum > 0">
 		LIMIT #{maxRownum}
-		</if>
+		</if>		
 	</select>
 	
 	<!-- 상품의 사은품 목록 -->

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

@@ -661,9 +661,9 @@
 					 ,F.SUPPLY_GOODS_CD
 					 ,F.PNT_PRATE
 					 ,F.PNT_MRATE
-					 ,F.FILE_GB
 				  ,(SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD =F.GOODS_CD AND COLOR_CD = F.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' ) AS SYS_IMG_NM
 				  ,(SELECT MAX(SYS_FILE_NM) FROM TB_REVIEW_ATTACH WHERE REVIEW_SQ =F.REVIEW_SQ ORDER BY FILE_GB , REVIEW_SQ LIMIT 1) AS REVIEW_SYS_IMG
+				  ,(SELECT FILE_GB FROM TB_REVIEW_ATTACH WHERE REVIEW_SQ =F.REVIEW_SQ ORDER BY FILE_GB , REVIEW_SQ LIMIT 1) AS FILE_GB 
 				  , CASE IFNULL((SELECT COUNT(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD = F.GOODS_CD AND COLOR_CD = F.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' ),0) 
 			            WHEN 0 THEN 'N'
 			            ELSE 'Y' END AS GOODS_IMAGE_YN
@@ -727,9 +727,7 @@
 					 ,G.SUPPLY_GOODS_CD
 					 ,G.PNT_PRATE
 					 ,G.PNT_MRATE
-					 ,RA.FILE_GB
 				FROM TB_REVIEW R LEFT JOIN TB_GOODS G ON R.GOODS_CD = G.GOODS_CD 
-								 LEFT JOIN TB_REVIEW_ATTACH RA ON R.REVIEW_SQ = RA.REVIEW_SQ 
 				WHERE 1=1 
 				 AND R.DEL_YN = 'N'
 				 AND R.DISP_YN = 'Y'

+ 4 - 4
src/main/resources/config/application-locd.yml

@@ -83,10 +83,10 @@ naverPay:
     payUrl:
         web : test-pay.naver.com
         mob : test-m.pay.naver.com
-    shop.id : istyle2424
-    button.key : 5DF64042-EF37-45F1-878E-67C7098135E6
-    common.certification.key : s_3799db3bf4af-
-    certification.key: 2BC5E173-2840-4B48-BC7D-FF770005DD76
+    shop.id : istyle24
+    button.key : 3A1578F9-6824-4FCF-AC8D-262318C63227
+    common.certification.key : E3122594-C690-4542-B3A0-E74ABD4E8222
+    certification.key: E3122594-C690-4542-B3A0-E74ABD4E8222
     order.api.url: https://test-api.pay.naver.com/o/customer/api/order/v20/register
     order.url: https://test-order.pay.naver.com/customer/buy
 

+ 6 - 5
src/main/resources/config/application-style.yml

@@ -63,7 +63,7 @@ upload:
         target.path: /files/data/style24/sample
         max.size: 10
         allow.extension: txt|doc|docx|ppt|pptx|xls|xlsx|hwp|pdf
-        view: //image.style24.com/Upload/sample
+        view: //image.istyle24.com/Upload/sample
 
 download.path: /files/data/style24
 
@@ -96,11 +96,12 @@ naverPay:
     payUrl:
         web : test-pay.naver.com
         mob : test-m.pay.naver.com
-    shop.id : istyle2424
-    button.key: 5DF64042-EF37-45F1-878E-67C7098135E6
-    common.certification.key: s_3799db3bf4af-
-    certification.key: 2BC5E173-2840-4B48-BC7D-FF770005DD76
+    shop.id: istyle24
+    button.key: 3A1578F9-6824-4FCF-AC8D-262318C63227
+    common.certification.key: E3122594-C690-4542-B3A0-E74ABD4E8222
+    certification.key: E3122594-C690-4542-B3A0-E74ABD4E8222
     order.api.url: https://test-api.pay.naver.com/o/customer/api/order/v20/register
+    order.url: https://test-order.pay.naver.com/customer/buy
 
 # ERP (한세드림)
 erp:

+ 5 - 4
src/main/resources/config/application-tsit.yml

@@ -84,8 +84,9 @@ naverPay:
     payUrl:
         web : test-pay.naver.com
         mob : test-m.pay.naver.com
-    shop.id: istyle2424
-    button.key: 5DF64042-EF37-45F1-878E-67C7098135E6
-    common.certification.key: s_3799db3bf4af-
-    certification.key: 2BC5E173-2840-4B48-BC7D-FF770005DD76
+    shop.id : istyle24
+    button.key : 3A1578F9-6824-4FCF-AC8D-262318C63227
+    common.certification.key : E3122594-C690-4542-B3A0-E74ABD4E8222
+    certification.key: E3122594-C690-4542-B3A0-E74ABD4E8222
     order.api.url: https://test-api.pay.naver.com/o/customer/api/order/v20/register
+    order.url: https://test-order.pay.naver.com/customer/buy

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/goods/GoodsDealDescFormMob.html

@@ -213,7 +213,7 @@
 					<p class="tit normal" th:text="${goodsSafeNo.certDiv +' '+goodsSafeNo.certTypeNm + ' / ' + goodsSafeNo.certOrganName}">어린이제품 안전인증 / 한국건설생활시험연구원(KCL)</p>
 					</th:block>
 					<th:block th:unless="${goodsSafeNo.certFormGb != 'G084_4' and  goodsSafeNo.certFormGb != 'G084_5' }">
-					<p class="tit normal" th:text="${goodsSafeNo.certFormNm + ' / '+goodsSafeNo.certTypeNm}"></p>
+					<p class="tit normal" th:text="${goodsSafeNo.certFormNm + ' '+goodsSafeNo.certTypeNm}"></p>
 					</th:block>
 					<p class="normal" >
 						<th:block th:if="${goodsSafeNo.certFormGb != 'G084_4' and  goodsSafeNo.certFormGb != 'G084_5' }">

+ 2 - 2
src/main/webapp/WEB-INF/views/mob/goods/GoodsDetailFormMob.html

@@ -429,7 +429,7 @@
 							<p class="tit normal" th:text="${goodsSafeNo.certDiv +' '+goodsSafeNo.certTypeNm + ' / ' + goodsSafeNo.certOrganName}">어린이제품 안전인증 / 한국건설생활시험연구원(KCL)</p>
 							</th:block>
 							<th:block th:unless="${goodsSafeNo.certFormGb != 'G084_4' and  goodsSafeNo.certFormGb != 'G084_5' }">
-							<p class="tit normal" th:text="${goodsSafeNo.certFormNm + ' / '+goodsSafeNo.certTypeNm}"></p>
+							<p class="tit normal" th:text="${goodsSafeNo.certFormNm + ' '+goodsSafeNo.certTypeNm}"></p>
 							</th:block>
 							<p class="normal" >
 								<th:block th:if="${goodsSafeNo.certFormGb != 'G084_4' and  goodsSafeNo.certFormGb != 'G084_5' }">
@@ -477,7 +477,7 @@
 							<p class="tit normal" th:text="${goodsCompose.goodsSafeNo.certDiv +' '+goodsCompose.goodsSafeNo.certTypeNm + ' / ' + goodsCompose.goodsSafeNo.certOrganName}">어린이제품 안전인증 / 한국건설생활시험연구원(KCL)</p>
 							</th:block>
 							<th:block th:unless="${goodsCompose.goodsSafeNo.certFormGb != 'G084_4' and  goodsCompose.goodsSafeNo.certFormGb != 'G084_5' }">
-							<p class="tit normal" th:text="${goodsCompose.goodsSafeNo.certFormNm + ' / '+goodsCompose.goodsSafeNo.certTypeNm}"></p>
+							<p class="tit normal" th:text="${goodsCompose.goodsSafeNo.certFormNm + ' '+goodsCompose.goodsSafeNo.certTypeNm}"></p>
 							</th:block>
 							<p class="normal" >
 								<th:block th:if="${goodsCompose.goodsSafeNo.certFormGb != 'G084_4' and  goodsCompose.goodsSafeNo.certFormGb != 'G084_5' }">

+ 54 - 0
src/main/webapp/WEB-INF/views/mob/planning/PlanningCouponDetailFormMob.html

@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="ko"
+	xmlns:th="http://www.thymeleaf.org"
+	style="overflow-x: hidden !important;"
+>
+<!--
+ *******************************************************************************
+ * @source  : CouponDetailPopMob.html
+ * @desc    : 쿠폰정보 팝업 Page
+ *============================================================================
+ * PastelMall
+ * Copyright(C) 2020 TSIT, All rights reserved.
+ *============================================================================
+ * VER  DATE         AUTHOR      DESCRIPTION
+ * ===  ===========  ==========  =============================================
+ * 1.0  2021.04.15   sowon     최초 작성
+ *******************************************************************************
+ -->
+<!-- 쿠폰 상세보기 팝업 -->
+<div class="modal-header">
+    <h5 class="modal-title" id="couponInfoLabel">
+        사용안내
+    </h5>
+</div>
+<div class="modal-body">
+    <div class="pop_head" >
+        <h6 th:text="${couponDetailInfo.cpnNm}"></h6>
+    </div>
+    <div class="pop_cont">
+        <dl>
+            <div th:if="${couponDetailInfo.useCondition!=null && couponDetailInfo.useCondition!=''}">
+                <dt>사용조건</dt>
+                <dd th:text="${couponDetailInfo.useCondition}">
+                    <!-- <span>9,999,999</span>원 이상 구매 시 최대 <span>9,999,999</span>원 할인 -->
+                </dd>
+            </div>
+            <div>
+                <dt>발급수량</dt>
+                <dd th:if="${couponDetailInfo.issueCondition!=null && couponDetailInfo.issueCondition!=''}"th:text="${couponDetailInfo.issueCondition}"></dd>
+                <dd th:unless="${couponDetailInfo.issueCondition!=null && couponDetailInfo.issueCondition!=''}">제한없음</dd>
+            </div>
+            <div>
+                <dt>유효기간</dt>
+                <dd>
+                    <span th:text="${couponDetailInfo.availStdt}"></span>&nbsp;~&nbsp;<span th:text="${couponDetailInfo.availEddt}"></span>
+                </dd>
+            </div>
+             <div th:if="${couponDetailInfo.tgtCondition!=null}">
+                <dt>대상조건</dt>
+               <dd th:text="${couponDetailInfo.tgtCondition}"> </dd>
+            </div>
+        </dl>
+    </div>
+</div>

+ 203 - 367
src/main/webapp/WEB-INF/views/mob/planning/PlanningDetailFormMob.html

@@ -32,6 +32,8 @@
 				</div>
 				<th:block th:each="a, template : ${templateOrd}">
 					<th:block th:if="${a.tmplType == 'G082_10'}">
+		                <div class="inner bg_gray" th:id="${a.tmplType}">
+						</div>
 					</th:block>
 					<th:block th:if="${a.tmplType == 'G082_20'}">
 		                <div class="inner" th:id="${a.tmplType}">
@@ -48,258 +50,11 @@
 					<th:block th:if="${a.tmplType == 'G082_51'}">
 					</th:block>
 					<th:block th:if="${a.tmplType == 'G082_52'}">
+						<div class="inner" th:id="${a.tmplType + a.planContSq}">
+                    	</div>
 					</th:block>
 				</th:block>
 
-                <div class="inner bg_gray">
-					<div class="dp_review_cont">
-						<div class="dp_review">
-							<h2 class="dp_subtitle">구매하신 분들의 리얼 후기!</h2>
-							<div class="review">
-								<div class="swiper-container review_list">
-									<div class="swiper-wrapper">
-										<div class="swiper-slide">
-											<div>
-												<div class="best_review">
-													<a href="#none">
-														<div class="lap">
-															<div class="pic">
-																<span class="thumb mov" style="background-image:url('/images/mo/thumb/tmp_pdLookbook3.jpg');"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
-															</div>
-															<div class="info">
-																<div>
-																	<div class="star_score">
-																		<span class="star">
-																			<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-																		</span>
-																		<em class="ico ico_besttag"></em>
-																	</div>
-																	<div class="txt_best_review">
-																		<p>
-																			옷이 부들부들 촉감이 너무 좋습니다~ 보는 것 보다 실제 입으니깐 더 멋스러운 것 같아요! 차분한 그레이 라서 지금 가을가을한 계절에 잘 어울리는 같아요. 옷이 부들부들 촉감이 너무 좋습니다~ 보는 것 보다 실제 입으니깐 더 멋스러운 것 같아요! 차분한 그레이 라서 지금 가을가을한 계절에 잘 어울리는 같아요.
-																		</p>
-																	</div>
-																	<div class="writer">
-																		<span class="wr_id">ab2****</span>
-																		<span class="wr_date">2020.07.15</span>
-																	</div>
-																</div>
-															</div>
-														</div>
-													</a>
-												</div>
-												<div class="product_view">
-													<div class="item_prod">
-														<div class="item_state">
-															<a href="#none" class="itemLink">
-																<div class="itemPic">
-																	<img alt="" class="vLHTC pd_img" src="/images/mo/thumb/tmp_cartColor1.jpg">
-																</div>
-																<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-																<p class="itemPrice">
-																	<span class="itemPrice_sale">89,000</span>
-																</p>
-															</a>
-														</div>
-													</div>
-												</div>
-											</div>
-										</div>
-										<div class="swiper-slide">
-											<div>
-												<div class="best_review">
-													<a href="#none">
-														<div class="lap">
-															<div class="pic">
-																<span class="thumb mov" style="background-image:url('/images/mo/thumb/tmp_pdLookbook3.jpg');"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
-															</div>
-															<div class="info">
-																<div>
-																	<div class="star_score">
-																		<span class="star">
-																			<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-																		</span>
-																		<em class="ico ico_besttag"></em>
-																	</div>
-																	<div class="txt_best_review">
-																		<p>
-																			옷이 부들부들 촉감이 너무 좋습니다~ 보는 것 보다 실제 입으니깐 더 멋스러운 것 같아요! 차분한 그레이 라서 지금 가을가을한 계절에 잘 어울리는 같아요. 옷이 부들부들 촉감이 너무 좋습니다~ 보는 것 보다 실제 입으니깐 더 멋스러운 것 같아요! 차분한 그레이 라서 지금 가을가을한 계절에 잘 어울리는 같아요.
-																		</p>
-																	</div>
-																	<div class="writer">
-																		<span class="wr_id">ab2****</span>
-																		<span class="wr_date">2020.07.15</span>
-																	</div>
-																</div>
-															</div>
-														</div>
-													</a>
-												</div>
-												<div class="product_view">
-													<div class="item_prod">
-														<div class="item_state">
-															<a href="#none" class="itemLink">
-																<div class="itemPic">
-																	<img alt="" class="vLHTC pd_img" src="/images/mo/thumb/tmp_cartColor1.jpg">
-																</div>
-																<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-																<p class="itemPrice">
-																	<span class="itemPrice_sale">89,000</span>
-																</p>
-															</a>
-														</div>
-													</div>
-												</div>
-											</div>
-										</div>
-										<div class="swiper-slide">
-											<div>
-												<div class="best_review">
-													<a href="#none">
-														<div class="lap">
-															<div class="pic">
-																<span class="thumb" style="background-image:url('/images/mo/thumb/tmp_pdLookbook3.jpg');"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
-															</div>
-															<div class="info">
-																<div>
-																	<div class="star_score">
-																		<span class="star">
-																			<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-																		</span>
-																		<em class="ico ico_besttag"></em>
-																	</div>
-																	<div class="txt_best_review">
-																		<p>
-																			옷이 부들부들 촉감이 너무 좋습니다~ 보는 것 보다 실제 입으니깐 더 멋스러운 것 같아요! 차분한 그레이 라서 지금 가을가을한 계절에 잘 어울리는 같아요. 옷이 부들부들 촉감이 너무 좋습니다~ 보는 것 보다 실제 입으니깐 더 멋스러운 것 같아요! 차분한 그레이 라서 지금 가을가을한 계절에 잘 어울리는 같아요.
-																		</p>
-																	</div>
-																	<div class="writer">
-																		<span class="wr_id">ab2****</span>
-																		<span class="wr_date">2020.07.15</span>
-																	</div>
-																</div>
-															</div>
-														</div>
-													</a>
-												</div>
-												<div class="product_view">
-													<div class="item_prod">
-														<div class="item_state">
-															<a href="#none" class="itemLink">
-																<div class="itemPic">
-																	<img alt="" class="vLHTC pd_img" src="/images/mo/thumb/tmp_cartColor1.jpg">
-																</div>
-																<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-																<p class="itemPrice">
-																	<span class="itemPrice_sale">89,000</span>
-																</p>
-															</a>
-														</div>
-													</div>
-												</div>
-											</div>
-										</div>
-										<div class="swiper-slide">
-											<div>
-												<div class="best_review">
-													<a href="#none">
-														<div class="lap">
-															<div class="pic">
-																<span class="thumb" style="background-image:url('/images/mo/thumb/tmp_pdLookbook3.jpg');"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
-															</div>
-															<div class="info">
-																<div>
-																	<div class="star_score">
-																		<span class="star">
-																			<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-																		</span>
-																		<em class="ico ico_besttag"></em>
-																	</div>
-																	<div class="txt_best_review">
-																		<p>
-																			옷이 부들부들 촉감이 너무 좋습니다~ 보는 것 보다 실제 입으니깐 더 멋스러운 것 같아요! 차분한 그레이 라서 지금 가을가을한 계절에 잘 어울리는 같아요. 옷이 부들부들 촉감이 너무 좋습니다~ 보는 것 보다 실제 입으니깐 더 멋스러운 것 같아요! 차분한 그레이 라서 지금 가을가을한 계절에 잘 어울리는 같아요.
-																		</p>
-																	</div>
-																	<div class="writer">
-																		<span class="wr_id">ab2****</span>
-																		<span class="wr_date">2020.07.15</span>
-																	</div>
-																</div>
-															</div>
-														</div>
-													</a>
-												</div>
-												<div class="product_view">
-													<div class="item_prod">
-														<div class="item_state">
-															<a href="#none" class="itemLink">
-																<div class="itemPic">
-																	<img alt="" class="vLHTC pd_img" src="/images/mo/thumb/tmp_cartColor1.jpg">
-																</div>
-																<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-																<p class="itemPrice">
-																	<span class="itemPrice_sale">89,000</span>
-																</p>
-															</a>
-														</div>
-													</div>
-												</div>
-											</div>
-										</div>
-										<div class="swiper-slide">
-											<div>
-												<div class="best_review">
-													<a href="#none">
-														<div class="lap">
-															<div class="pic">
-																<span class="thumb" style="background-image:url('/images/mo/thumb/tmp_pdLookbook3.jpg');"></span><!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->
-															</div>
-															<div class="info">
-																<div>
-																	<div class="star_score">
-																		<span class="star">
-																			<em class="progbar" style="width:70%;"></em> <!-- 평점 style로 표기 -->
-																		</span>
-																		<em class="ico ico_besttag"></em>
-																	</div>
-																	<div class="txt_best_review">
-																		<p>
-																			옷이 부들부들 촉감이 너무 좋습니다~ 보는 것 보다 실제 입으니깐 더 멋스러운 것 같아요! 차분한 그레이 라서 지금 가을가을한 계절에 잘 어울리는 같아요. 옷이 부들부들 촉감이 너무 좋습니다~ 보는 것 보다 실제 입으니깐 더 멋스러운 것 같아요! 차분한 그레이 라서 지금 가을가을한 계절에 잘 어울리는 같아요.
-																		</p>
-																	</div>
-																	<div class="writer">
-																		<span class="wr_id">ab2****</span>
-																		<span class="wr_date">2020.07.15</span>
-																	</div>
-																</div>
-															</div>
-														</div>
-													</a>
-												</div>
-												<div class="product_view">
-													<div class="item_prod">
-														<div class="item_state">
-															<a href="#none" class="itemLink">
-																<div class="itemPic">
-																	<img alt="" class="vLHTC pd_img" src="/images/mo/thumb/tmp_cartColor1.jpg">
-																</div>
-																<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-																<p class="itemPrice">
-																	<span class="itemPrice_sale">89,000</span>
-																</p>
-															</a>
-														</div>
-													</div>
-												</div>
-											</div>
-										</div>
-									</div>
-									<div class="swiper-pagination"></div>
-								</div>
-							</div>
-						</div>        
-					</div>
-				</div>
                 <div class="inner wide">
 					<div class="mid_banner">
 						<div class="swiper-container dp_lookbook_case1">
@@ -324,117 +79,6 @@
 						</div>
 					</div>
 				</div>
-				<div class="inner">
-					<div class="dp_listItems_cont type2">
-						<h2 class="dp_subtitle"><a href="#none">겨울 아우터 추천템</a></h2>
-						<div class="swiper-container item02">
-							<div class="swiper-wrapper">
-								<div class="swiper-slide">
-									<div class="item_prod">
-										<div class="item_state">
-											<!-- 210415_위시리스트 삭제 -->
-											<!--<button type="button" class="itemLike">관심상품 추가</button>-->
-											<a href="#none" class="itemLink">
-												<div class="itemPic">
-													<img class="vLHTC pd_img" src="/images/mo/thumb/dp_case1_item.jpg" alt="">
-												</div>
-												<p class="itemBrand">BRAND NAME</p>
-												<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-												<p class="itemPrice">
-													<span class="itemPrice_original">89,000</span>
-													80,100
-													<span class="itemPercent">10%</span>
-												</p>
-												<div class="itemComment">#가을 느낌 물씬!</div>
-											</a>
-										</div>
-									</div>
-								</div>
-								<div class="swiper-slide">
-									<div class="item_prod">
-										<div class="item_state">
-											<!--<button type="button" class="itemLike">관심상품 추가</button>-->
-											<a href="#none" class="itemLink">
-												<div class="itemPic">
-													<img class="vLHTC pd_img" src="/images/mo/thumb/dp_case1_item.jpg" alt="">
-												</div>
-												<p class="itemBrand">BRAND NAME</p>
-												<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-												<p class="itemPrice">
-													<span class="itemPrice_original">89,000</span>
-													80,100
-													<span class="itemPercent">10%</span>
-												</p>
-												<div class="itemComment">#가을 느낌 물씬!</div>
-											</a>
-										</div>
-									</div>
-								</div>
-								<div class="swiper-slide">
-									<div class="item_prod">
-										<div class="item_state">
-											<!--<button type="button" class="itemLike">관심상품 추가</button>-->
-											<a href="#none" class="itemLink">
-												<div class="itemPic">
-													<img class="vLHTC pd_img" src="/images/mo/thumb/dp_case1_item.jpg" alt="">
-												</div>
-												<p class="itemBrand">BRAND NAME</p>
-												<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-												<p class="itemPrice">
-													<span class="itemPrice_original">89,000</span>
-													80,100
-													<span class="itemPercent">10%</span>
-												</p>
-												<div class="itemComment">#가을 느낌 물씬!</div>
-											</a>
-										</div>
-									</div>
-								</div>
-								<div class="swiper-slide">
-									<div class="item_prod">
-										<div class="item_state">
-											<!--<button type="button" class="itemLike">관심상품 추가</button>-->
-											<a href="#none" class="itemLink">
-												<div class="itemPic">
-													<img class="vLHTC pd_img" src="/images/mo/thumb/dp_case1_item.jpg" alt="">
-												</div>
-												<p class="itemBrand">BRAND NAME</p>
-												<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-												<p class="itemPrice">
-													<span class="itemPrice_original">89,000</span>
-													80,100
-													<span class="itemPercent">10%</span>
-												</p>
-												<div class="itemComment">#가을 느낌 물씬!</div>
-											</a>
-										</div>
-									</div>
-								</div>
-								<div class="swiper-slide">
-									<div class="item_prod">
-										<div class="item_state">
-											<!--<button type="button" class="itemLike">관심상품 추가</button>-->
-											<a href="#none" class="itemLink">
-												<div class="itemPic">
-													<img class="vLHTC pd_img" src="/images/mo/thumb/dp_case1_item.jpg" alt="">
-												</div>
-												<p class="itemBrand">BRAND NAME</p>
-												<div class="itemName">남성 로고 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건 자카드 방풍 패딩 스웨터 가디건</div>
-												<p class="itemPrice">
-													<span class="itemPrice_original">89,000</span>
-													80,100
-													<span class="itemPercent">10%</span>
-												</p>
-												<div class="itemComment">#가을 느낌 물씬!</div>
-											</a>
-										</div>
-									</div>
-								</div>
-							</div>
-							<div class="swiper-pagination"></div>
-						</div>
-					</div>
-                </div>
 				<div class="inner">
 					<div class="dp_listItems_wrap">
 						<h2 class="dp_subtitle"><a href="#none">겨울 아우터 추천템</a></h2>
@@ -759,9 +403,9 @@ if(goods1.length>0){
 			html += '	<h2 class="dp_subtitle">\n';
 			if (template[i].linkUrl != null && template[i].linkUrl != '') { /* 링크 변경 예정 */
 				if (template[i].linkOpenGb == 'M') { //본창
-					html += '        <a href="http://'+template[i].linkUrl+'" target="_self">'+template[i].title+'</a>\n';
+					html += '        <a href="'+template[i].linkUrl+'" target="_self">'+template[i].title+'</a>\n';
 				}else{
-					html += '        <a href="http://'+template[i].linkUrl+'" target="_blank">'+template[i].title+'</a>\n';
+					html += '        <a href="'+template[i].linkUrl+'" target="_blank">'+template[i].title+'</a>\n';
 				}
 			}else{
 				html += '        <a href="javascript:void(0)">'+template[i].title+'</a>\n';
@@ -808,11 +452,155 @@ if(goods1.length>0){
 		if($("#G082_50" +template[i].planContSq).length){
 			array.shift();
 		}
-		
 	}
+}
+
+if(goods4.length>0){
+	var array = [];
+	var html = '';
+	for (var j = 0; j < template.length; j++) {
+		if(template[j].tmplType == 'G082_52'){
+			array.push(template[j].planContSq);
+		}
+	}	
 	
+	for (var i = 0; i < template.length; i++) {
+		if(template[i].tmplType == 'G082_52' && array[0] == template[i].planContSq && typeof array[0] != 'undefined'){
+			html += '<div class="dp_listItems_cont type2">';
+			if (template[i].linkUrl != null && template[i].linkUrl != '') { /* 링크 변경 예정 */
+				if (template[i].linkOpenGb == "M") { //본창
+					html += '	<h2 class="dp_subtitle"><a href="'+template[i].linkUrl+'" target="_self">'+template[i].title+' </a></h2>';
+				}else{
+					html += '	<h2 class="dp_subtitle"><a href="'+template[i].linkUrl+'" target="_blank">'+template[i].title+' </a></h2>';
+				}
+			}else{
+				html += '	<h2 class="dp_subtitle"><a href="javascript:void(0)">'+template[i].title+' </a></h2>';
+			}
+			
+			html += '	<div class="swiper-container item02">';
+			html += '		<div class="swiper-wrapper">';
+			$.each(goods4, function(idx, item) {
+				html += '			<div class="swiper-slide">';
+				html += '				<div class="item_prod">';
+				html += '					<div class="item_state">';
+				html += '						<a onclick="cfnGoToGoodsDetail(\'' + item.goodsCd + '\')" class="itemLink">';
+				html += '							<div class="itemPic">';
+				html += '								<img class="vLHTC pd_img" src="'+ goodsView +'/'+item.sysImgNm +'">';
+				html += '							</div>';
+				html += '							<p class="itemBrand">'+item.brandGroupNm+'</p>';
+				html += '							<div class="itemName">'+item.goodsNm+'</div>';
+				html += '							<p class="itemPrice">';
+				if (item.currPrice != item.listPrice) {
+					html += '								<span class="itemPrice_original">'+item.listPrice.addComma()+'</span>';
+				}
+				
+				html += 								item.currPrice.addComma();
+				if (item.currPrice != item.listPrice) {
+					html += '								<span class="itemPercent">'+Math.floor(item.dcRate)+'%</span>';
+				}
+				html += '							</p>';
+				if(item.goodsTnm != null){
+					html += '							<div class="itemComment">'+item.goodsTnm+'</div>';
+				}
+				
+				html += '						</a>';
+				html += '					</div>';
+				html += '				</div>';
+				html += '			</div>';
+			})
+			
+			html += '		</div>';
+			html += '		<div class="swiper-pagination"></div>';
+			html += '	</div>';
+			html += '</div>';
+			$("#G082_52" +array[0]).append(html);
+		}
+		if($("#G082_52" +template[i].planContSq).length){
+			array.shift();
+		}
+	}
+}
 
+if(review.length>0){
+	
+	var html = '';
 	
+	html += '<div class="dp_review_cont">\n';
+	html += '	<div class="dp_review">\n';
+	html += '		<h2 class="dp_subtitle">'+review[0].title+'</h2>\n';
+	html += '		<div class="review">\n';
+	html += '			<div class="swiper-container review_list">\n';
+	html += '				<div class="swiper-wrapper">\n';
+	$.each(review, function(idx, item)  {
+		html += '					<div class="swiper-slide">\n';
+		html += '						<div>\n';
+		html += '							<div class="best_review">\n';
+		if(item.reviewSysImg!= null){
+			html += '								<a href="javascript:void();" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'\', \'Y\',\''+item.reviewSq+'\');">\n';
+		}else{
+			html += '								<a href="javascript:void();">\n';
+		}
+		html += '									<div class="lap">\n';
+		html += '										<div class="pic">\n';
+		if(item.reviewSysImg!= null){
+			if (item.fileGb == 'M') { 
+				html += '											<span class="thumb mov" style="background-image:url('+ imgUrl+item.reviewSysImg +');"></span>\n';
+			}else{
+				html += '											<span class="thumb" style="background-image:url('+ imgUrl +item.reviewSysImg +');"></span>\n';
+			}
+		}else{
+			html += '											<span class="thumb" style="background-image:url('+ goodsView+'/'+item.sysImgNm +');"></span>\n';
+		}
+		html += '										</div>\n';
+		html += '										<div class="info">\n';
+		html += '											<div>\n';
+		html += '												<div class="star_score">\n';
+		html += '													<span class="star">\n';
+		html += '														<em class="progbar" style="width:'+(item.score*20)+'%;"></em>\n';
+		html += '													</span>\n';
+		if(item.bestYn == 'Y'){
+			html += '													<em class="ico ico_besttag"></em>\n';
+		}
+		html += '												</div>\n';
+		html += '												<div class="txt_best_review">\n';
+		html += '													<p>'+item.reviewContent+'</p>';
+		html += '												</div>\n';
+		html += '												<div class="writer">\n';
+		html += '													<span class="wr_id">'+item.maskingCustId+'</span>\n';
+		html += '													<span class="wr_date">'+item.regDt+'</span>\n';
+		html += '												</div>\n';
+		html += '											</div>\n';
+		html += '										</div>\n';
+		html += '									</div>\n';
+		html += '								</a>\n';
+		html += '							</div>\n';
+		html += '							<div class="product_view">\n';
+		html += '								<div class="item_prod">\n';
+		html += '									<div class="item_state">\n';
+		html += '										<a href="javascript:void(0)" onclick="cfnGoToGoodsDetail(\'' + item.goodsCd + '\')" class="itemLink">\n';
+		html += '											<div class="itemPic">\n';
+		html += '												<img alt="" class="vLHTC pd_img" src="'+ goodsView +'/'+item.sysImgNm +'">\n';
+		html += '											</div>\n';
+		html += '											<div class="itemName">'+item.goodsNm+'</div>\n';
+		html += '											<p class="itemPrice">\n';
+		html += '												<span class="itemPrice_sale">'+item.currPrice.addComma()+'</span>\n';
+		html += '											</p>\n';
+		html += '										</a>\n';
+		html += '									</div>\n';
+		html += '								</div>\n';
+		html += '							</div>\n';
+		html += '						</div>\n';
+		html += '					</div>\n';
+	});
+	html += '				</div>\n';
+	html += '				<div class="swiper-pagination"></div>\n';
+	html += '			</div>\n';
+	html += '		</div>\n';
+	html += '	</div>\n';
+	html += '</div>\n';
+
+
+	$("#G082_10").append(html);
 }
 /* 이미지 */
 if(image.length>0){
@@ -825,9 +613,9 @@ if(image.length>0){
 	$.each(image, function(idx, item)  {
 		html += '				<div class="swiper-slide">';
 		if (item.linkOpenGb == 'M') {
-			html += '					<a href="http://'+item.linkUrl+'" target="_self"><img src="'+ imgUrl + item.itemVal +'?RS=1206" ></a>';
+			html += '					<a href="'+item.linkUrl+'" target="_self"><img src="'+ imgUrl + item.itemVal +'?RS=1206" ></a>';
 		}else{
-			html += '					<a href="http://'+item.linkUrl+'" target="_blank"><img src="'+ imgUrl + item.itemVal +'?RS=1206" ></a>';
+			html += '					<a href="'+item.linkUrl+'" target="_blank"><img src="'+ imgUrl + item.itemVal +'?RS=1206" ></a>';
 		}
 		html += '				</div>';
 	});
@@ -858,7 +646,7 @@ if(coupon.length>0){
 		html += '				<div class="cp_top">';
 		html += '					<div class="cp_detail">';
 		html += '						<p class="tit">'+item.cpnNm+'</p>';
-		html += '						<strong class="sale_t won_t"><span>'+item.dcVal+'</span>'+item.dcWay+'</strong>';
+		html += '						<strong class="sale_t won_t"><span>'+item.dcVal.addComma()+'</span>'+item.dcWay+'</strong>';
 		html += '						<p class="cp_cont">'+item.useCondition+'</p>';
 		html += '						<span class="cp_cnt">'+item.issueCondition+'</span>';
 		html += '					</div>';
@@ -872,7 +660,7 @@ if(coupon.length>0){
 		}
 		html += '				</div>';
 		html += '				<div class="cp_info">';
-		html += '					<button type="button" id="modalBasic" class="btn_couponInfo_pop"><span>사용안내</span></button>';
+		html += '					<button type="button" id="modalBasic" class="btn_couponInfo_pop" onclick="usePlanInfoCoupon('+item.cpnId+')"><span>사용안내</span></button>';
 		html += '				</div>';
 		html += '			</li>';
 	});
@@ -904,6 +692,54 @@ var fnCornerClick = function (result1,result2) {
 	
 }
 
+//쿠폰 사용안내 모달
+var usePlanInfoCoupon = function (id) {
+	var data = {cpnId : id
+			    ,planSq : plan.planSq};
+	var jsonData = JSON.stringify(data);
+	
+	 $.ajax( {
+		type		: "POST",
+		url 		: '/planning/coupon/detailpop',
+		data		: jsonData,
+		contentType: 'application/json',
+		dataType 	: 'html',
+		success 	: function(result) {
+			if (result != null) {
+				$("#couponInfoPop").html(result);
+				$("#couponInfoPop").modal("show");
+			}
+		}
+	});
+	
+	return false; 
+}
+
+//쿠폰 다운로드
+var fnPlanCouponDown = function(obj){
+
+	if (!cfCheckLogin()) {
+		cfnGoToPage(_PAGE_LOGIN);
+		return false;
+	}
+	
+	let cpnId = obj;
+	gagajf.ajaxJsonSubmit(_PAGE_PLANNING_CPN_DOWNLOAD, JSON.stringify({cpnId: cpnId}), fnPlanCouponCallBack);
+}
+
+// 쿠폰다운로드 콜백
+var fnPlanCouponCallBack = function(result){
+	console.log(result);
+	$.each(result.couponList, function (idx, item) {
+		if (Number(item.custPubLimitQty) > 0){
+			if (Number(item.custPubLimitQty) <= Number(item.custCouponCnt)){
+				$('#coupon_'+ item.cpnId).html('<span>받기완료</span>');
+				$('#coupon_'+ item.cpnId).attr('disabled', true);
+			}
+		}
+	});
+}
+
 $(document).ready(function(){
 	$("#filter").text(planCornerList[0].cornerNm);
 	//상단 빅배너 슬라이드

+ 2 - 2
src/main/webapp/WEB-INF/views/web/goods/GoodsDealDescFormWeb.html

@@ -212,8 +212,8 @@
 			<th:block th:if="${goodsSafeNo.certFormGb != 'G084_4' and  goodsSafeNo.certFormGb != 'G084_5' }">
 			<p class="tit normal" th:text="${goodsSafeNo.certDiv +' '+goodsSafeNo.certTypeNm + ' / ' + goodsSafeNo.certOrganName}">어린이제품 안전인증 / 한국건설생활시험연구원(KCL)</p>
 			</th:block>
-			<th:block th:unless="${goodsSafeNo.certFormGb != 'G084_4' and  goodsSafeNo.certFormGb != 'G084_5' }">
-			<p class="tit normal" th:text="${goodsSafeNo.certFormNm + ' / '+ goodsSafeNo.certTypeNm}"></p>
+			<th:block th:unless="${goodsSafeNo.certFormGb != 'G084_4' and goodsSafeNo.certFormGb != 'G084_5' }">
+			<p class="tit normal" th:text="${goodsSafeNo.certFormNm + ' '+ goodsSafeNo.certTypeNm}"></p>
 			</th:block>
 			<p class="normal" >
 				<th:block th:if="${goodsSafeNo.certNum}" th:text="${'인증번호: ' + goodsSafeNo.certNum}"></th:block>

+ 2 - 2
src/main/webapp/WEB-INF/views/web/goods/GoodsDetailFormWeb.html

@@ -803,7 +803,7 @@
 						<p class="tit normal" th:text="${goodsSafeNo.certDiv +' '+goodsSafeNo.certTypeNm + ' / ' + goodsSafeNo.certOrganName}">어린이제품 안전인증 / 한국건설생활시험연구원(KCL)</p>
 						</th:block>
 						<th:block th:unless="${goodsSafeNo.certFormGb != 'G084_4' and  goodsSafeNo.certFormGb != 'G084_5' }">
-						<p class="tit normal" th:text="${goodsSafeNo.certFormNm + ' / '+goodsSafeNo.certTypeNm}"></p>
+						<p class="tit normal" th:text="${goodsSafeNo.certFormNm + ' '+goodsSafeNo.certTypeNm}"></p>
 						</th:block>
 						<p class="normal" >
 							<th:block th:if="${goodsSafeNo.certNum}" th:text="${'인증번호: ' + goodsSafeNo.certNum}"></th:block>
@@ -845,7 +845,7 @@
 							<p class="tit normal" th:text="${goodsCompose.goodsSafeNo.certDiv +' '+goodsCompose.goodsSafeNo.certTypeNm + ' / ' + goodsCompose.goodsSafeNo.certOrganName}">어린이제품 안전인증 / 한국건설생활시험연구원(KCL)</p>
 							</th:block>
 							<th:block th:unless="${goodsCompose.goodsSafeNo.certFormGb != 'G084_4' and  goodsCompose.goodsSafeNo.certFormGb != 'G084_5' }">
-							<p class="tit normal" th:text="${goodsCompose.goodsSafeNo.certFormNm + ' / '+ goodsCompose.goodsSafeNo.certTypeNm}"></p>
+							<p class="tit normal" th:text="${goodsCompose.goodsSafeNo.certFormNm + ' '+ goodsCompose.goodsSafeNo.certTypeNm}"></p>
 							</th:block>
 							<p class="normal" >
 								<th:block th:if="${goodsCompose.goodsSafeNo.certNum}" th:text="${'인goodsCompose.증번호: ' + goodsSafeNo.certNum}"></th:block>

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

@@ -60,7 +60,7 @@
 													<div class="gd_item">	
 														<a href="">
 															<span class="thumb">
-																<img th:src="${imageUrl + '/' + reviewInfo.sysImgNm}" width="100%" alt="">
+																<img th:src="${imageUrl + '/' + reviewInfo.sysImgNm +'?RS=550'}" width="100%" alt="">
 															</span>
 															<p>
 																<span class="buy_date"><em th:text="${reviewInfo.payDt}"></em>&nbsp;구매</span>

+ 2 - 2
src/main/webapp/WEB-INF/views/web/mypage/MypageReviewFormWeb.html

@@ -152,7 +152,7 @@
 				html += '					<div class="gd_item">	                                                                              ';
 				html += '						<a href="javascript:void(0)" onclick="cfnGoToGoodsDetail(\'' + item.goodsCd + '\')">                                                                                       ';
 				html += '							<span class="thumb">                                                                          ';
-				html += '								<img src="' + imageUrl + '/' + item.sysImgNm + '"  width="100%" alt="">  ';
+				html += '								<img src="' + imageUrl + '/' + item.sysImgNm + '?RS=550"  width="100%" alt="">  ';
 				html += '							</span>                                                                                       ';
 				html += '							<p>                                                                                           ';
 				html += '								<span class="buy_date"><em>'+item.payDt+'</em>&nbsp;구매</span>             ';
@@ -216,7 +216,7 @@
 				html+='						<div class="gd_item">	';
 				html+='							<a href="javascript:void(0)" onclick="cfnGoToGoodsDetail(\'' + item.goodsCd + '\')" >';
 				html+='								<span class="thumb">';
-				html+='									<img src="' + imageUrl + '/' + item.sysImgNm + '" width="100%" alt="">';
+				html+='									<img src="' + imageUrl + '/' + item.sysImgNm + '?RS=550" width="100%" alt="">';
 				html+='								</span>';
 				html+='								<p>';
 				html+='									<span class="buy_date"><em>'+item.payDt+'</em>&nbsp;구매</span>';

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

@@ -78,7 +78,7 @@ var ajaxWishList = function () {
 							html+='				<button type="button" class="itemLike likeit" goodsCd=\''+item.goodsCd+'\' onclick="wishlistDelete(this)">관심상품 추가</button>';
 							html+='				<a href="javascript:void(0);" class="itemLink" onclick="cfnGoToGoodsDetail(\'' + item.goodsCd + '\')">';
 							html+='					<div class="itemPic">';
-							html+='						<img alt="" class=" vLHTC pd_img" src="' + _uploadGoodsUrl + '/' + item.sysImgNm + '">';
+							html+='						<img alt="" class=" vLHTC pd_img" src="' + _uploadGoodsUrl + '/' + item.sysImgNm + '?RS=550">';
 							html+='					</div>';
 							html+='					<p class=" itemBrand">'+item.brandGroupNm+'</p>';
 							html+='					<div class=" itemName">'+item.goodsNm+'</div>';

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

@@ -448,9 +448,9 @@ if(image.length>0){
 	for (var i = 0; i < image.length; i++) {
 		html += '                	<div class="swiper-slide">';
 		if (image[i].linkOpenGb == 'M') {
-			html += '                    	<a href="http://'+image[i].linkUrl+'" target="_self">><img alt="" src="'+ imgUrl + image[i].itemVal +'"></a>';
+			html += '                    	<a href="'+image[i].linkUrl+'" target="_self">><img alt="" src="'+ imgUrl + image[i].itemVal +'"></a>';
 		}else{
-			html += '                    	<a href="http://'+image[i].linkUrl+'" target="_blank">><img alt="" src="'+ imgUrl + image[i].itemVal +'"></a>';
+			html += '                    	<a href="'+image[i].linkUrl+'" target="_blank">><img alt="" src="'+ imgUrl + image[i].itemVal +'"></a>';
 		}
 		
 		html += '                	</div>';
@@ -485,9 +485,9 @@ if(goods1.length>0){
 			html += '        <h4>';
 			if (template[i].linkUrl != null && template[i].linkUrl != '') { /* 링크 변경 예정 */
 				if (template[i].linkOpenGb == 'M') { //본창
-					html += '        <a href="http://'+template[i].linkUrl+'" target="_self">'+template[i].title+' <i class="ico_arrow"></i></a>';
+					html += '        <a href="'+template[i].linkUrl+'" target="_self">'+template[i].title+' <i class="ico_arrow"></i></a>';
 				}else{
-					html += '        <a href="http://'+template[i].linkUrl+'" target="_blank">'+template[i].title+' <i class="ico_arrow"></i></a>';
+					html += '        <a href="'+template[i].linkUrl+'" target="_blank">'+template[i].title+' <i class="ico_arrow"></i></a>';
 				}
 				
 			}else{
@@ -555,9 +555,9 @@ if(goods2.length>0){
 			html += '        <h4>';
 				if (template[i].linkUrl != null && template[i].linkUrl != '') { /* 링크 변경 예정 */
 					if (template[i].linkOpenGb == 'M') { //본창
-						html += '        <a href="http://'+template[i].linkUrl+'" target="_self">'+template[i].title+' <i class="ico_arrow"></i></a>';
+						html += '        <a href="'+template[i].linkUrl+'" target="_self">'+template[i].title+' <i class="ico_arrow"></i></a>';
 					}else{
-						html += '        <a href="http://'+template[i].linkUrl+'" target="_blank">'+template[i].title+' <i class="ico_arrow"></i></a>';
+						html += '        <a href="'+template[i].linkUrl+'" target="_blank">'+template[i].title+' <i class="ico_arrow"></i></a>';
 					}
 				}else{
 					html+='            <a href="javascript:void(0)">'+template[i].title+'</a>';
@@ -627,9 +627,9 @@ if(goods4.length>0){
 			html += '        <h4>';
 			if (template[i].linkUrl != null && template[i].linkUrl != '') { /* 링크 변경 예정 */
 				if (template[i].linkOpenGb == "M") { //본창
-					html += '        <a href="http://'+template[i].linkUrl+'" target="_self">'+template[i].title+' <i class="ico_arrow"></i></a>';
+					html += '        <a href="'+template[i].linkUrl+'" target="_self">'+template[i].title+' <i class="ico_arrow"></i></a>';
 				}else{
-					html += '        <a href="http://'+template[i].linkUrl+'" target="_blank">'+template[i].title+' <i class="ico_arrow"></i></a>';
+					html += '        <a href="'+template[i].linkUrl+'" target="_blank">'+template[i].title+' <i class="ico_arrow"></i></a>';
 				}
 			}else{
 				html+='            <a href="javascript:void(0)">'+template[i].title+'</a>';

+ 2 - 2
src/main/webapp/WEB-INF/views/web/planning/PlanningMainFormWeb.html

@@ -138,7 +138,7 @@
 						    	tag += '				<div class="shape ranker"><span>NEW</span></div>\n';
 						    }
                             tag += '               <div class="thumb">\n';
-						    tag += '                   <img src="' + _uploadImageUrl + item.mainImg + '" alt="">\n';
+						    tag += '                   <img src="' + _uploadImageUrl + item.mainImg + '?RS=430" alt="">\n';
 						    tag += '               </div>\n';
 						    tag += '               <div class="exhi_detail">\n';
 						    tag += '                   <h3 class="tit">' + item.planNm + '</h3>\n';
@@ -155,7 +155,7 @@
 								    tag += '                       <div class="item_state">\n';
 								    tag += '                           <a  onclick="cfnGoToGoodsDetail(\'' + goods.goodsCd + '\');" class="itemLink">\n';
 								    tag += '                               <div class="itemPic">\n';
-								    tag += '                                   <img alt="" class="vLHTC pd_img" src="' + _uploadGoodsUrl + '/' + goods.sysImgNm + '">\n';
+								    tag += '                                   <img alt="" class="vLHTC pd_img" src="' + _uploadGoodsUrl + '/' + goods.sysImgNm + '?RS=1000">\n';
 								    tag += '                               </div>\n';
 								    tag += '                               <div class="itemName">' + goods.goodsNm + '</div>\n';
 								    tag += '                               <p class="itemPrice"' + goods.currPrice.addComma() + '</p>\n';

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

@@ -122,7 +122,7 @@ let fnGetSocialList = function(result) {
 		
 		html += '        <a href="javascript:void(0);" class="itemLink" onclick="cfnGoToGoodsDetail(\''+item.goodsCd+'\')" >';
 		html += '            <div class="itemPic">';
-		html += '                <img alt="BLUE-a" class=" vLHTC pd_img" src="'+ goodsView +'/'+item.sysImgNm +'">';
+		html += '                <img alt="BLUE-a" class=" vLHTC pd_img" src="'+ goodsView +'/'+item.sysImgNm +'?RS=550">';
 		html += '            </div>';
 		html += '            <div class="itemSpecialPrice"><span>특가</span></div>';
 		html += '            <p class="itemBrand">'+item.brandGroupNm+'</p>';