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

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

gagamel 5 лет назад
Родитель
Сommit
e64e523e8c
52 измененных файлов с 713 добавлено и 726 удалено
  1. 3 2
      src/main/java/com/style24/front/biz/dao/TsfCustomerDao.java
  2. 4 3
      src/main/java/com/style24/front/biz/service/TsfCustomerService.java
  3. 47 16
      src/main/java/com/style24/front/biz/web/TsfMypageController.java
  4. 2 1
      src/main/java/com/style24/front/support/interceptor/TsfLoginCheckInterceptor.java
  5. 2 3
      src/main/java/com/style24/front/support/security/session/TsfSession.java
  6. 3 3
      src/main/java/com/style24/persistence/mybatis/shop/TsfCustomer.xml
  7. 144 231
      src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml
  8. 1 2
      src/main/java/com/style24/persistence/mybatis/shop/TsfWishlist.xml
  9. 4 4
      src/main/webapp/WEB-INF/views/mob/customer/JoinFormMob.html
  10. 2 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCancelFormMob.html
  11. 2 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreCancelDetailFormMob.html
  12. 2 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreExchangeDetailFormMob.html
  13. 2 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageCreListInfoMob.html
  14. 2 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageDeliveryInfoFormMob.html
  15. 2 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageExchangeFormMob.html
  16. 2 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderDetailFormMob.html
  17. 2 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageOrderListInfoMob.html
  18. 2 2
      src/main/webapp/WEB-INF/views/mob/mypage/MypageReturnFormMob.html
  19. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCancelFormMob.html
  20. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreCancelDetailFormMob.html
  21. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreExchangeDetailFormMob.html
  22. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreListInfoMob.html
  23. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreReturnDetailFormMob.html
  24. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberDeliveryInfoFormMob.html
  25. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberExchangeFormMob.html
  26. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderDetailFormMob.html
  27. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderListInfoMob.html
  28. 1 1
      src/main/webapp/WEB-INF/views/mob/mypage/NoMemberReturnFormMob.html
  29. 250 228
      src/main/webapp/WEB-INF/views/mob/planning/PlanningDetailFormMob.html
  30. 4 4
      src/main/webapp/WEB-INF/views/web/customer/JoinFormWeb.html
  31. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageCancelFormWeb.html
  32. 2 7
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreCancelDetailFormWeb.html
  33. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreExchangeDetailFormWeb.html
  34. 6 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreListFormWeb.html
  35. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageCreReturnDetailFormWeb.html
  36. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageDeliveryInfoFormWeb.html
  37. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageExchangeFormWeb.html
  38. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageOrderDetailFormWeb.html
  39. 5 1
      src/main/webapp/WEB-INF/views/web/mypage/MypageOrderListFormWeb.html
  40. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/MypageReturnFormWeb.html
  41. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCancelFormWeb.html
  42. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreCancelDetailFormWeb.html
  43. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreExchangeDetailFormWeb.html
  44. 5 1
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreListFormWeb.html
  45. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberCreReturnDetailFormWeb.html
  46. 1 1
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberDeliveryInfoFormWeb.html
  47. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberExchangeFormWeb.html
  48. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderDetailFormWeb.html
  49. 6 2
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderListFormWeb.html
  50. 2 2
      src/main/webapp/WEB-INF/views/web/mypage/NoMemberReturnFormWeb.html
  51. 157 156
      src/main/webapp/WEB-INF/views/web/planning/PlanningDetailFormWeb.html
  52. 11 3
      src/main/webapp/biz/mypage.js

+ 3 - 2
src/main/java/com/style24/front/biz/dao/TsfCustomerDao.java

@@ -5,6 +5,7 @@ import java.util.Collection;
 import org.springframework.stereotype.Repository;
 
 import com.style24.core.support.annotation.ShopDs;
+import com.style24.persistence.domain.CustContactHst;
 import com.style24.persistence.domain.CustGrade;
 import com.style24.persistence.domain.CustSnsInfo;
 import com.style24.persistence.domain.Customer;
@@ -230,10 +231,10 @@ public interface TsfCustomerDao {
 	/**
 	 * 선물하기 알림톡 발송 정보 조회
 	 * 
-	 * @param Customer
+	 * @param CustContactHst
 	 * @return int
 	 * @author card007
 	 * @since 2021. 06. 04
 	 */
-	int getGiftKakaoSendInfo(Customer customer);
+	int getGiftKakaoSendInfo(CustContactHst custContactHst);
 }

+ 4 - 3
src/main/java/com/style24/front/biz/service/TsfCustomerService.java

@@ -27,6 +27,7 @@ import com.style24.front.support.security.TsfLoginDetails;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Coupon;
 import com.style24.persistence.domain.CustAccount;
+import com.style24.persistence.domain.CustContactHst;
 import com.style24.persistence.domain.CustDeliveryAddr;
 import com.style24.persistence.domain.CustGrade;
 import com.style24.persistence.domain.CustSnsInfo;
@@ -1231,13 +1232,13 @@ public class TsfCustomerService {
 	/**
 	 * 선물하기 알림톡 발송 정보 조회
 	 *
-	 * @param Customer
+	 * @param CustContactHst
 	 * @return int
 	 * @author card007
 	 * @since 2021. 06. 04
 	 */
-	public int getGiftKakaoSendInfo(Customer customer) {
-		return customerDao.getGiftKakaoSendInfo(customer);
+	public int getGiftKakaoSendInfo(CustContactHst custContactHst) {
+		return customerDao.getGiftKakaoSendInfo(custContactHst);
 	}
 
 }

+ 47 - 16
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -5,7 +5,12 @@ import java.util.Collection;
 import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
+import com.gagaframework.web.util.GagaCookieUtil;
+import com.style24.core.biz.service.TscMailService;
+import com.style24.front.biz.service.TsfLoginService;
+import com.style24.front.support.env.TsfConstants;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
@@ -54,6 +59,7 @@ import com.style24.persistence.TscPageRequest;
 import com.style24.persistence.domain.Cart;
 import com.style24.persistence.domain.Coupon;
 import com.style24.persistence.domain.CustAccount;
+import com.style24.persistence.domain.CustContactHst;
 import com.style24.persistence.domain.CustDeliveryAddr;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.GiftCard;
@@ -154,6 +160,12 @@ public class TsfMypageController extends TsfBaseController {
 	@Autowired
 	private TscKakaotalkService coreKakaotalkService;
 
+	@Autowired
+	private TscMailService mailService;
+
+	@Autowired
+	private TsfLoginService loginService;
+
 	/**
 	 * 마이페이지 메인 화면
 	 *
@@ -2158,7 +2170,7 @@ public class TsfMypageController extends TsfBaseController {
 	 * @since 2021. 03. 16
 	 */
 	@PostMapping("/customer/secede/complete/form")
-	public ModelAndView getCustomerSecedeCompleteForm() {
+	public ModelAndView getCustomerSecedeCompleteForm(HttpServletRequest request, HttpServletResponse response) {
 		ModelAndView mav = new ModelAndView();
 		Integer custNo = TsfSession.getInfo().getCustNo();
 
@@ -2183,6 +2195,8 @@ public class TsfMypageController extends TsfBaseController {
 		mav.addObject("custNm", TsfSession.getInfo().getCustNm());
 
 		Customer customer = new Customer();
+		customer.setCustId(TsfSession.getInfo().getCustId());
+		customer.setCustNm(TsfSession.getInfo().getCustNm());
 		customer.setCustNo(custNo);
 		customer.setRegNo(custNo);
 		customer.setUpdNo(custNo);
@@ -2191,18 +2205,33 @@ public class TsfMypageController extends TsfBaseController {
 		GagaMap result = customerService.saveCustomerSecede(customer);
 
 		boolean isSuccess = result.getBoolean("isSuccess");
-		if (isSuccess) {
-			try {
-				// TODO:회원탈퇴 메일 발송 2020-03-24
-			} catch (Exception e) {
-
-			}
-			TsfSession.invalidate(TsfSession.getHttpServletRequest());
-		} else {
+		if (!isSuccess) {
 			mav.setViewName("redirect:/mypage/customer/secede/form");
 			return mav;
 		}
 
+		try {
+			customer.setRejoinRejectDay(result.getInt("rejoinRejectDay"));
+			customer.setSecedeDt(result.getString("secedeDt"));
+			customer.setSnsType(result.getString("snsType"));
+			mailService.sendSecedComplete(customer, TsfSession.getInfo().getCustNo());
+		} catch (Exception e) {
+			log.error(e.getMessage());
+		}
+
+		TsfSession.invalidate(request);
+
+		// RememberMe 쿠키가 있으면
+		String ckRememberMe = GagaCookieUtil.getCookie(request, TsfConstants.CK_PREFIX + "_remember-me");
+
+		if (StringUtils.isNotBlank(ckRememberMe)) {
+			// 로그인유지토큰 삭제
+			loginService.deletePersistentToken(ckRememberMe);
+
+			// RememberMe 쿠키 삭제
+			GagaCookieUtil.deleteCookie(response, TsfConstants.CK_PREFIX + "_remember-me");
+		}
+
 		mav.setViewName(super.getDeviceViewName("mypage/MypageCustSecedeCompleteForm"));
 
 		return mav;
@@ -2558,15 +2587,17 @@ public class TsfMypageController extends TsfBaseController {
 	@PostMapping("/gift/kakao/resend")
 	public GagaResponse resendGiftKakao(@RequestBody Order order) {
 		// 선물하기 알림톡 이전 발송이력 조회
-		Customer customer = new Customer();
-		// TODO
-		// 조건 설정
-		int count = customerService.getGiftKakaoSendInfo(customer);
+		CustContactHst custContactHst = new CustContactHst();
+		custContactHst.setContactType(TscConstants.ContactType.GIFT.value());
+		custContactHst.setContactMethod(TscConstants.ContactMethod.KAKAOTALK.value());
+		custContactHst.setContactMemo(String.valueOf(order.getOrdNo()));
+
+		int count = customerService.getGiftKakaoSendInfo(custContactHst);
 		
 		if (count > 0) {
-			return super.error("메세지를 보낸지 10분이 안됐습니다.");
+			return super.error("선물하기 SMS를 조금 전 다시 발송하였습니다. 잠시 후 다시 시도해주세요.");
 		}
-		
+
 		// 선물하기 알림톡 전송 관련 정보 조회
 		GagaMap resultMap = coreOrderService.getOrderCompleteInfo(order);
 		Order orderInfo = (Order) resultMap.get("orderInfo");
@@ -2580,6 +2611,6 @@ public class TsfMypageController extends TsfBaseController {
 			return super.error(e.getMessage());
 		}
 		
-		return super.ok();
+		return super.ok(env.getProperty("SUCC_0005"));
 	}
 }

+ 2 - 1
src/main/java/com/style24/front/support/interceptor/TsfLoginCheckInterceptor.java

@@ -40,7 +40,8 @@ public class TsfLoginCheckInterceptor extends HandlerInterceptorAdapter {
 				boolean isSslServer = Boolean.parseBoolean(hasSsl);
 				log.info("isSslServer: [{}]", isSslServer);
 
-				String loginUrl = isSslServer ? "https://" + request.getServerName() + "/signin" : "/signin";
+//				String loginUrl = isSslServer ? "https://" + request.getServerName() + "/signin" : "/signin";
+				String loginUrl = "/signin";
 				log.info("loginUrl: [{}]", loginUrl);
 
 				response.sendRedirect(loginUrl);

+ 2 - 3
src/main/java/com/style24/front/support/security/session/TsfSession.java

@@ -9,13 +9,12 @@ import org.springframework.web.context.request.RequestAttributes;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
+import com.gagaframework.web.security.GagaSession;
 import com.style24.front.support.security.TsfLoginDetails;
 import com.style24.persistence.domain.Login;
 
 import lombok.extern.slf4j.Slf4j;
 
-import com.gagaframework.web.security.GagaSession;
-
 /**
  * Session
  * 
@@ -69,7 +68,7 @@ public class TsfSession extends GagaSession {
 		log.info("device.isNormal: {}", device.isNormal());
 		log.info("device.isTablet: {}", device.isTablet());
 
-		if ("Y".equals(TsfSession.getAttribute("isApp"))) {
+		if ("true".equals(TsfSession.getAttribute("isApp"))) {
 			return "A";
 		}
 

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

@@ -726,9 +726,9 @@
 	</update>
 
 	<!-- 선물하기 알림톡 발송 정보 조회 -->
-	<select id="getGiftKakaoSendInfo" parameterType="Customer" resultType="int">
+	<select id="getGiftKakaoSendInfo" parameterType="CustContactHst" resultType="int">
 		/* TsfCustomer.getGiftKakaoSendInfo */
-		SELECT COUNT(Z.*) AS CNT
+		SELECT COUNT(*) AS CNT
 		  FROM (SELECT CONTACT_HST_SQ
 		             , CONTACT_TYPE
 		             , CONTACT_METHOD
@@ -741,7 +741,7 @@
 		             , REG_NO
 		             , REG_DT
 		          FROM TB_CUST_CONTACT_HST
-		            WHERE CONTACT_TYPE = #{contactType}
+		         WHERE CONTACT_TYPE = #{contactType}
 		           AND CONTACT_METHOD = #{contactMethod}
 		           AND CONTACT_MEMO = #{contactMemo}) Z
 		 WHERE RESEND_CAN_YN = 'Y'

+ 144 - 231
src/main/java/com/style24/persistence/mybatis/shop/TsfReview.xml

@@ -366,96 +366,49 @@
 	<select id="getCompleteReviewList" parameterType="Review" resultType="Review">
 		/* TsfReivew.getCompleteReviewList */
 		<include refid="selectForPagingHeader"/>
-		SELECT GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!') AS ITEM_NM
+		SELECT  GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!') AS ITEM_NM
 		     -- , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS COLOR_NM
-		     , GROUP_CONCAT(' ',CONCAT(OPT_CD1_NM,' / ', OPT_CD2) ORDER BY Z.ORD_DTL_ITEM_SQ) AS COLOR_NM
-		     , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1
-		     , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD2
-		     , GROUP_CONCAT(Z.OPT_CD1_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1_NM
-		     , Z.ORD_NO
-		     , Z.ORD_DT
-		     , Z.PAY_DT
-		     , Z.DELV_EDDT
-		     , Z.ORD_DTL_NO
-		     , Z.ORD_EXCH_GB
-		     , Z.GOODS_CD
-		     , Z.GOODS_NM
-		     , Z.LIST_PRICE
-		     , Z.GOODS_TYPE
-		     , Z.SYS_IMG_NM
-		     , Z.ORD_DTL_STAT
-		     , Z.ORD_QTY
-		     , Z.CNCL_RTN_QTY
-		     , Z.ORD_AMT
-		     , Z.REAL_ORD_AMT
-		     , Z.SAVE_PNT_AMT
-		     , Z.CNCL_RTN_AMT
-		     , Z.PNT_DC_AMT
-		     , Z.GFCD_USE_AMT
-		     , Z.INVOICE_NO
-		     , Z.SUPPLY_COMP_CD
-		     , Z.DELV_FEE_CD
-		     , Z.SHOT_DELV_YN
-		     , Z.CHANGEABLE_YN
-		     , Z.RETURNABLE_YN
-		     , Z.SELF_GOODS_YN
-		     , Z.BRAND_NM
-		     , Z.BRAND_ENM
-		     , Z.ORD_DTL_STAT_NM
-		     , Z.ORD_REQ_CHG_QTY
-		     , Z.ORD_CAN_CHG_QTY
-		     , Z.ITEMKIND_NM 
-		   	 , Z.ITEMKIND_CD 
-             , Z.SIZE_GB 
-             , Z.REMAIN_DT
-             , ROW_NUMBER() OVER(ORDER BY Z.REG_DT DESC) AS RNUM
-		  FROM (SELECT O.ORD_NO
+		        , GROUP_CONCAT(' ',CONCAT(OPT_CD1_NM,' / ', OPT_CD2) ORDER BY Z.ORD_DTL_ITEM_SQ) AS COLOR_NM
+		        , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1
+		        , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD2
+		        , GROUP_CONCAT(Z.OPT_CD1_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1_NM
+		        , Z.ORD_NO
+		        , Z.ORD_DT
+		        , Z.PAY_DT
+		        , Z.ORD_DTL_NO
+		        , Z.GOODS_CD
+		        , Z.GOODS_NM
+		        , Z.LIST_PRICE
+		        , Z.GOODS_TYPE
+		        , Z.SYS_IMG_NM
+		        , Z.BRAND_NM
+		        , Z.BRAND_ENM
+		        , Z.REMAIN_DT
+		        , ROW_NUMBER() OVER(ORDER BY Z.REG_DT DESC) AS RNUM
+		  FROM (
+		        SELECT O.ORD_NO
 		             , O.REG_DT 
-					 , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d') AS ORD_DT
-					 , DATE_FORMAT(O.PAY_DT, '%Y.%m.%d') AS PAY_DT 
-					 , DATE_FORMAT(OD.DELV_EDDT, '%m/%d')								AS DELV_EDDT
-					 , OD.ORD_DTL_NO
-					 , OD.ORD_EXCH_GB
-					 , OD.GOODS_CD
-		             , OD.GIFT_ADDR_INP_YN
-					 , G.GOODS_NM
-					 , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y'), ODI.OPT_CD1) AS COLOR_NM
-					 , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = ODI.ITEM_CD)		AS ITEM_NM
+		             , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d') AS ORD_DT
+		             , DATE_FORMAT(O.PAY_DT, '%Y.%m.%d') AS PAY_DT 
+		             , DATE_FORMAT(OD.DELV_EDDT, '%m/%d')								AS DELV_EDDT
+		             , OD.ORD_DTL_NO
+		             , OD.GOODS_CD
+		             , G.GOODS_NM
+		             , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y'), ODI.OPT_CD1) AS COLOR_NM
+		             , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = ODI.ITEM_CD)		AS ITEM_NM
 		             , ODI.ORD_DTL_ITEM_SQ
-					 , ODI.OPT_CD1
-					 , ODI.OPT_CD2
-					 , IFNULL(C.COLOR_KNM, ODI.OPT_CD1) AS OPT_CD1_NM
-					 , G.LIST_PRICE
+		             , ODI.OPT_CD1
+		             , ODI.OPT_CD2
+		             , IFNULL(C.COLOR_KNM, ODI.OPT_CD1) AS OPT_CD1_NM
+		             , G.LIST_PRICE
 		             , G.GOODS_TYPE
 		             , CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = ODI.OPT_CD1 AND DEFAULT_IMG_YN = 'Y')
 		                    ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') END AS SYS_IMG_NM
-					 , OD.ORD_DTL_STAT
-					 , OD.ORD_QTY
-					 , OD.CNCL_RTN_QTY
-					 , OD.ORD_AMT
-					 , OD.REAL_ORD_AMT
-					 , OD.SAVE_PNT_AMT
-					 , OD.CNCL_RTN_AMT
-					 , OD.PNT_DC_AMT
-					 , OD.GFCD_USE_AMT
-					 , OD.INVOICE_NO
-					 , OD.SUPPLY_COMP_CD
-					 , OD.DELV_FEE_CD
-					 , OD.SHOT_DELV_YN
-					 , OD.CHANGEABLE_YN
-					 , OD.RETURNABLE_YN
-					 , G.SELF_GOODS_YN
-			         , CASE BG.DISP_NM_LANG WHEN 'EN' THEN BG.BRAND_GROUP_ENM
+		             , CASE BG.DISP_NM_LANG WHEN 'EN' THEN BG.BRAND_GROUP_ENM
 		                       ELSE BG.BRAND_GROUP_KNM
 		               END                                                             AS BRAND_NM
-			         , B.BRAND_ENM
-					 , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT)							AS ORD_DTL_STAT_NM
-					 , IFNULL(OCD.ORD_REQ_CHG_QTY, 0) AS ORD_REQ_CHG_QTY
-					 , OD.ORD_QTY - OD.CNCL_RTN_QTY - IFNULL(OCD.ORD_REQ_CHG_QTY, 0)    AS ORD_CAN_CHG_QTY
-					 , I.ITEMKIND_NM 
-		   	         , I.ITEMKIND_CD 
-			         , I.SIZE_GB 
-			         ,DATEDIFF(DATE_ADD(O.ORD_DT,INTERVAL #{reviewExpireDay} DAY),NOW()) AS REMAIN_DT -- 남은시간
+		             , B.BRAND_ENM
+		             ,DATEDIFF(DATE_ADD(O.ORD_DT,INTERVAL  90 /**P*/ DAY),NOW()) AS REMAIN_DT -- 남은시간
 				  FROM TB_ORDER O
 				 INNER JOIN TB_ORDER_DETAIL OD
 				    ON O.ORD_NO = OD.ORD_NO
@@ -469,17 +422,6 @@
 				    ON B.BRAND_CD = G.BRAND_CD
 				 INNER JOIN TB_BRAND_GROUP BG
 		            ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
-				 LEFT JOIN TB_ITEMKIND I 
-				    ON G.ITEMKIND_CD = I.ITEMKIND_CD 
-				  LEFT OUTER JOIN (SELECT OD.ORD_DTL_NO
-										, SUM(OCD.CHG_QTY) AS ORD_REQ_CHG_QTY
-									 FROM TB_ORDER_CHANGE_DETAIL OCD
-									INNER JOIN TB_ORDER_DETAIL OD
-									   ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
-									WHERE OCD.DEL_YN = 'N'
-									GROUP BY OCD.ORD_DTL_NO
-								  ) OCD
-				    ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
 				LEFT OUTER JOIN TB_COLOR C ON ODI.OPT_CD1 = C.COLOR_CD
 		                                   AND C.USE_YN = 'Y'
 				  WHERE 1=1
@@ -490,12 +432,19 @@
 			 	AND O.SITE_CD = #{siteCd}
 				) Z		 
 		 WHERE Z.REMAIN_DT > 0
-		 GROUP BY Z.ORD_NO, Z.ORD_DT, Z.DELV_EDDT, Z.ORD_DTL_NO, Z.ORD_EXCH_GB
-				, Z.GOODS_CD, Z.GOODS_NM, Z.LIST_PRICE, Z.SYS_IMG_NM, Z.ORD_DTL_STAT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.ORD_AMT, Z.REAL_ORD_AMT
-				, Z.SAVE_PNT_AMT, Z.CNCL_RTN_AMT, Z.PNT_DC_AMT, Z.GFCD_USE_AMT, Z.INVOICE_NO
-				, Z.SUPPLY_COMP_CD, Z.DELV_FEE_CD, Z.SHOT_DELV_YN, Z.CHANGEABLE_YN, Z.SELF_GOODS_YN, Z.BRAND_NM, Z.BRAND_ENM, Z.ORD_DTL_STAT_NM
-				, Z.ORD_REQ_CHG_QTY, Z.ORD_CAN_CHG_QTY
-		ORDER BY Z.ORD_NO DESC, Z.ORD_DTL_STAT, Z.SELF_GOODS_YN DESC, Z.SHOT_DELV_YN DESC, Z.SUPPLY_COMP_CD
+		 GROUP BY   Z.ORD_NO
+		          , Z.ORD_DT
+		          , Z.PAY_DT
+		          , Z.ORD_DTL_NO
+		          , Z.GOODS_CD
+		          , Z.GOODS_NM
+		          , Z.LIST_PRICE
+		          , Z.GOODS_TYPE
+		          , Z.SYS_IMG_NM
+		          , Z.BRAND_NM
+		          , Z.BRAND_ENM
+                  , Z.REMAIN_DT
+		ORDER BY Z.ORD_NO DESC
 		<include refid="selectForPagingFooter"/>
 	</select>
 	
@@ -946,89 +895,58 @@
 	<select id="getAlreadyReviewList" parameterType="Review" resultType="Review">
 		/* TsfReivew.getAlreadyReviewList */
 		<include refid="selectForPagingHeader"/>
-		        SELECT GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!') AS ITEM_NM
-		          -- , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS COLOR_NM
-		             , GROUP_CONCAT(' ',CONCAT(OPT_CD1_NM,' / ', OPT_CD2) ORDER BY Z.ORD_DTL_ITEM_SQ) AS COLOR_NM
-		             , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1
-		             , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD2
-		             , GROUP_CONCAT(Z.OPT_CD1_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1_NM
-		             , Z.ORD_NO
-		             , Z.ORD_DT
-		             , Z.PAY_DT
-		             , Z.DELV_EDDT
-		             , Z.ORD_DTL_NO
-		             , Z.ORD_EXCH_GB
-		             , Z.GOODS_CD
-		             , Z.GOODS_NM
-		             , Z.LIST_PRICE
-		             , Z.GOODS_TYPE
-		             , Z.SYS_IMG_NM
-		             , Z.ORD_DTL_STAT
-		             , Z.ORD_QTY
-		             , Z.CNCL_RTN_QTY
-		             , Z.ORD_AMT
-		             , Z.REAL_ORD_AMT
-		             , Z.SAVE_PNT_AMT
-		             , Z.CNCL_RTN_AMT
-		             , Z.PNT_DC_AMT
-		             , Z.GFCD_USE_AMT
-		             , Z.INVOICE_NO
-		             , Z.SUPPLY_COMP_CD
-		             , Z.DELV_FEE_CD
-		             , Z.SHOT_DELV_YN
-		             , Z.CHANGEABLE_YN
-		             , Z.RETURNABLE_YN
-		             , Z.SELF_GOODS_YN
-		             , Z.BRAND_NM
-		             , Z.BRAND_ENM
-		             , Z.ORD_DTL_STAT_NM
-		             , Z.ORD_REQ_CHG_QTY
-		             , Z.ORD_CAN_CHG_QTY
-		             , Z.ITEMKIND_NM 
-		             , Z.ITEMKIND_CD 
-		             , Z.SIZE_GB 
-		             , Z.REMAIN_DT
-		             , Z.REVIEW_SQ
-		             , Z.REVIEW_GB
-		             , Z.REVIEW_CONTENT
-		             , Z.SCORE
-		             , Z.HEIGHT
-		             , Z.WEIGHT
-		             , Z.SCORE_SIZE
-		             , Z.SCORE_COLOR
-		             , Z.SCORE_FIT
-		             , Z.SCORE_THICK
-		             , Z.SCORE_WEIGHT
-		             , Z.SCORE_BALL
-		             , Z.GIVE_DUE_PNT
-		             , Z.PNT_GIVE_STAT
-		             , Z.BEST_YN
-		             , Z.GIVE_DUE_BPNT
-		             , Z.BPNT_GIVE_YN
-		             , Z.DISP_YN
-		             , Z.DEL_YN
-		             , Z.CONFIRM_YN
-		             , Z.CONFIRM_UNO
-		             , Z.CONFIRM_DT
-		             , Z.REG_NO
-		             , Z.REG_DT
-		             , Z.UPD_NO
-		             , Z.UPD_DT
-		             , Z.ADM_RPL
-		             , Z.ADM_RPL_REG_NO
-		             , Z.ADM_RPL_DT
-		             , ROW_NUMBER() OVER(ORDER BY Z.ORD_DT DESC) AS RNUM
-		       FROM (SELECT O.ORD_NO
+		SELECT GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!') AS ITEM_NM
+		     , GROUP_CONCAT(' ',CONCAT(OPT_CD1_NM,' / ', OPT_CD2) ORDER BY Z.ORD_DTL_ITEM_SQ) AS COLOR_NM
+		     , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1
+		     , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD2
+		     , GROUP_CONCAT(Z.OPT_CD1_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1_NM
+		     , Z.ORD_NO
+		     , Z.ORD_DT
+		     , Z.PAY_DT
+		     , Z.ORD_DTL_NO
+		     , Z.GOODS_CD
+		     , Z.GOODS_NM
+		     , Z.LIST_PRICE
+		     , Z.GOODS_TYPE
+		     , Z.SYS_IMG_NM
+		     , Z.BRAND_NM
+		     , Z.BRAND_ENM
+		     , Z.REMAIN_DT
+		     , Z.REVIEW_SQ
+		     , Z.REVIEW_GB
+		     , Z.REVIEW_CONTENT
+		     , Z.SCORE
+		     , Z.HEIGHT
+		     , Z.WEIGHT
+		     , Z.SCORE_SIZE
+		     , Z.SCORE_COLOR
+		     , Z.SCORE_FIT
+		     , Z.SCORE_THICK
+		     , Z.SCORE_WEIGHT
+		     , Z.SCORE_BALL
+		     , Z.BEST_YN
+		     , Z.DISP_YN
+		     , Z.DEL_YN
+		     , Z.CONFIRM_YN
+		     , Z.CONFIRM_UNO
+		     , Z.CONFIRM_DT
+		     , Z.REG_NO
+		     , Z.REG_DT
+		     , Z.UPD_NO
+		     , Z.UPD_DT
+		     , Z.ADM_RPL
+		     , Z.ADM_RPL_REG_NO
+		     , Z.ADM_RPL_DT
+		     , ROW_NUMBER() OVER(ORDER BY Z.ORD_DT DESC) AS RNUM
+		       FROM (    
+		             SELECT O.ORD_NO
 		                  , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d') AS ORD_DT
-		                  , DATE_FORMAT(O.PAY_DT, '%Y.%m.%d') AS PAY_DT 
-		                  , DATE_FORMAT(OD.DELV_EDDT, '%m/%d')								AS DELV_EDDT
+		                  , DATE_FORMAT(O.PAY_DT, '%Y.%m.%d') AS PAY_DT
+		                  , DATE_FORMAT(OD.DELV_EDDT, '%m/%d')                                                          AS DELV_EDDT
 		                  , OD.ORD_DTL_NO
-		                  , OD.ORD_EXCH_GB
 		                  , OD.GOODS_CD
-		                  , OD.GIFT_ADDR_INP_YN
 		                  , G.GOODS_NM
-		                  , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y'), ODI.OPT_CD1) AS COLOR_NM
-		                  , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = ODI.ITEM_CD)		AS ITEM_NM
+		                  , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = ODI.ITEM_CD)                AS ITEM_NM
 		                  , ODI.ORD_DTL_ITEM_SQ
 		                  , ODI.OPT_CD1
 		                  , ODI.OPT_CD2
@@ -1037,67 +955,41 @@
 		                  , G.GOODS_TYPE
 		                  , CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = ODI.OPT_CD1 AND DEFAULT_IMG_YN = 'Y')
 		                         ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') END AS SYS_IMG_NM
-		                  , OD.ORD_DTL_STAT
-		                  , OD.ORD_QTY
-		                  , OD.CNCL_RTN_QTY
-		                  , OD.ORD_AMT
-		                  , OD.REAL_ORD_AMT
-		                  , OD.SAVE_PNT_AMT
-		                  , OD.CNCL_RTN_AMT
-		                  , OD.PNT_DC_AMT
-		                  , OD.GFCD_USE_AMT
-		                  , OD.INVOICE_NO
-		                  , OD.SUPPLY_COMP_CD
-		                  , OD.DELV_FEE_CD
-		                  , OD.SHOT_DELV_YN
-		                  , OD.CHANGEABLE_YN
-		                  , OD.RETURNABLE_YN
-		                  , G.SELF_GOODS_YN
 		                  , CASE BG.DISP_NM_LANG WHEN 'EN' THEN BG.BRAND_GROUP_ENM
 		                       ELSE BG.BRAND_GROUP_KNM
 		                        END                                                             AS BRAND_NM
 		                  , B.BRAND_ENM
-		                  , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT)							AS ORD_DTL_STAT_NM
-		                  , IFNULL(OCD.ORD_REQ_CHG_QTY, 0) AS ORD_REQ_CHG_QTY
-		                  , OD.ORD_QTY - OD.CNCL_RTN_QTY - IFNULL(OCD.ORD_REQ_CHG_QTY, 0)    AS ORD_CAN_CHG_QTY
-		                  , I.ITEMKIND_NM 
-		                  , I.ITEMKIND_CD 
-		                  , I.SIZE_GB 
 		                  , R.REVIEW_SQ
 		                  , R.REVIEW_GB
 		                  , R.REVIEW_CONTENT
 		                  , R.SCORE
 		                  , R.HEIGHT
 		                  , R.WEIGHT
-		                  , (CASE R.SCORE_SIZE   WHEN 1 THEN '작음' 
+		                  , (CASE R.SCORE_SIZE   WHEN 1 THEN '작음'
 		                                          WHEN 2 THEN '딱맞음'
 		                                         WHEN 3 THEN '큼'
 		                                                            END) AS SCORE_SIZE
-		                  , (CASE R.SCORE_COLOR  WHEN 1 THEN '밝음' 
+		                  , (CASE R.SCORE_COLOR  WHEN 1 THEN '밝음'
 		                                         WHEN 2 THEN '똑같음'
-		                                         WHEN 3 THEN '어두움'   
+		                                         WHEN 3 THEN '어두움'
 		                                                            END) AS SCORE_COLOR
-		                  , (CASE R.SCORE_FIT    WHEN 1 THEN '슬림' 
-		                                         WHEN 2 THEN '레귤러' 
-		                                         WHEN 3 THEN '오버' 
+		                  , (CASE R.SCORE_FIT    WHEN 1 THEN '슬림'
+		                                         WHEN 2 THEN '레귤러'
+		                                         WHEN 3 THEN '오버'
 		                                                            END) AS SCORE_FIT
-		                  , (CASE R.SCORE_THICK  WHEN 1 THEN '얇음' 
-		                                         WHEN 2 THEN '적당함' 
+		                  , (CASE R.SCORE_THICK  WHEN 1 THEN '얇음'
+		                                         WHEN 2 THEN '적당함'
 		                                         WHEN 3 THEN '도톰함'
 		                                                            END) AS SCORE_THICK
-		                   , (CASE R.SCORE_WEIGHT WHEN 1 THEN '가벼움' 
+		                   , (CASE R.SCORE_WEIGHT WHEN 1 THEN '가벼움'
 		                                         WHEN 2 THEN '적당함'
 		                                         WHEN 3 THEN '무거움'
 		                                                            END) AS SCORE_WEIGHT
 		                   , (CASE R.SCORE_BALL   WHEN 1 THEN '작음'
 		                                          WHEN 2 THEN '딱맞음'
-		                                          WHEN 3 THEN '큼' 
+		                                          WHEN 3 THEN '큼'
 		                                                            END) AS SCORE_BALL
-		                   , R.GIVE_DUE_PNT
-		                   , R.PNT_GIVE_STAT
 		                   , R.BEST_YN
-		                   , R.GIVE_DUE_BPNT
-		                   , R.BPNT_GIVE_YN
 		                   , R.DISP_YN
 		                   , R.DEL_YN
 		                   , R.CONFIRM_YN
@@ -1110,7 +1002,7 @@
 		                   , R.ADM_RPL
 		                   , R.ADM_RPL_REG_NO
 		                   , DATE_FORMAT(R.ADM_RPL_DT , '%Y.%m.%d') AS ADM_RPL_DT
-		                   , DATEDIFF( DATE_ADD(O.PAY_DT,INTERVAL  #{reviewExpireDay} DAY),NOW()) AS REMAIN_DT -- 남은시간
+		                   , DATEDIFF( DATE_ADD(O.PAY_DT,INTERVAL   365 /**P*/ DAY),NOW()) AS REMAIN_DT -- 남은시간
 		    FROM TB_ORDER O
 		   INNER JOIN TB_ORDER_DETAIL OD
 		      ON O.ORD_NO = OD.ORD_NO
@@ -1129,17 +1021,6 @@
 		  	AND R.ORD_DTL_NO = OD.ORD_DTL_NO 
 		  	AND R.DEL_YN = 'N'
 		  	AND R.DISP_YN = 'Y'
-		   LEFT JOIN TB_ITEMKIND I 
-		      ON G.ITEMKIND_CD = I.ITEMKIND_CD 
-		    LEFT OUTER JOIN (SELECT OD.ORD_DTL_NO
-		                      	, SUM(OCD.CHG_QTY) AS ORD_REQ_CHG_QTY
-		                       FROM TB_ORDER_CHANGE_DETAIL OCD
-		                      INNER JOIN TB_ORDER_DETAIL OD
-		                         ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
-		                      WHERE OCD.DEL_YN = 'N'
-		                      GROUP BY OCD.ORD_DTL_NO
-		            ) OCD
-		      ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
 		  LEFT OUTER JOIN TB_COLOR C ON ODI.OPT_CD1 = C.COLOR_CD
 		                               AND C.USE_YN = 'Y'
 		     WHERE 1=1
@@ -1149,11 +1030,43 @@
 		   AND OD.ORD_DTL_NO IN (SELECT R.ORD_DTL_NO FROM TB_REVIEW R WHERE R.DEL_YN = 'N' AND DISP_YN = 'Y' AND R.ORD_NO = O.ORD_NO AND R.ORD_DTL_NO = OD.ORD_DTL_NO AND R.CUST_NO = #{custNo})
 		   AND O.SITE_CD =  #{siteCd}
 		   	) Z
-		 GROUP BY Z.ORD_NO, Z.ORD_DT, Z.DELV_EDDT, Z.ORD_DTL_NO, Z.ORD_EXCH_GB
-		        , Z.GOODS_CD, Z.GOODS_NM, Z.LIST_PRICE, Z.SYS_IMG_NM, Z.ORD_DTL_STAT, Z.ORD_QTY, Z.CNCL_RTN_QTY, Z.ORD_AMT, Z.REAL_ORD_AMT
-		        , Z.SAVE_PNT_AMT, Z.CNCL_RTN_AMT, Z.PNT_DC_AMT, Z.GFCD_USE_AMT, Z.INVOICE_NO
-		        , Z.SUPPLY_COMP_CD, Z.DELV_FEE_CD, Z.SHOT_DELV_YN, Z.CHANGEABLE_YN, Z.SELF_GOODS_YN, Z.BRAND_NM, Z.BRAND_ENM, Z.ORD_DTL_STAT_NM
-		        , Z.ORD_REQ_CHG_QTY, Z.ORD_CAN_CHG_QTY, Z.REVIEW_SQ 
+		 GROUP BY     Z.ORD_NO
+		            , Z.ORD_DT
+		            , Z.PAY_DT
+		            , Z.ORD_DTL_NO
+		            , Z.GOODS_CD
+		            , Z.GOODS_NM
+		            , Z.LIST_PRICE
+		            , Z.GOODS_TYPE
+		            , Z.SYS_IMG_NM
+		            , Z.BRAND_NM
+		            , Z.BRAND_ENM
+		            , Z.REMAIN_DT
+		            , Z.REVIEW_SQ
+		            , Z.REVIEW_GB
+		            , Z.REVIEW_CONTENT
+		            , Z.SCORE
+		            , Z.HEIGHT
+		            , Z.WEIGHT
+		            , Z.SCORE_SIZE
+		            , Z.SCORE_COLOR
+		            , Z.SCORE_FIT
+		            , Z.SCORE_THICK
+		            , Z.SCORE_WEIGHT
+		            , Z.SCORE_BALL
+		            , Z.BEST_YN
+		            , Z.DISP_YN
+		            , Z.DEL_YN
+		            , Z.CONFIRM_YN
+		            , Z.CONFIRM_UNO
+		            , Z.CONFIRM_DT
+		            , Z.REG_NO
+		            , Z.REG_DT
+		            , Z.UPD_NO
+		            , Z.UPD_DT
+		            , Z.ADM_RPL
+		            , Z.ADM_RPL_REG_NO
+		            , Z.ADM_RPL_DT
 		ORDER BY Z.ORD_NO DESC
 		<include refid="selectForPagingFooter"/>
 		</select>

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

@@ -170,7 +170,7 @@
 	
 	<select id="getQuickWishList" parameterType="WishList" resultType="Goods">
 		/* TsfWishlist.getQuickWishList*/
-SELECT Z.*
+		SELECT Z.*
 		FROM
 		(
 		WITH TAB_GOODS AS (
@@ -197,7 +197,6 @@ SELECT Z.*
 		         , G.MIN_ORD_QTY                                            /*최소주문수량*/  				
 		    FROM   TB_WISHlIST W
 		         , TB_GOODS G 
-		         , TB_GOODS_STOCK GS
 		         , TB_BRAND B
 		         , TB_BRAND_GROUP BG
 		    WHERE  W.GOODS_CD = G.GOODS_CD 

+ 4 - 4
src/main/webapp/WEB-INF/views/mob/customer/JoinFormMob.html

@@ -41,7 +41,7 @@
 				<div class="form_field">
 					<label class="input_label sr-only">아이디</label>
 					<div class="input_wrap form_full">
-						<input type="text" id="custId" name="custId" placeholder="아이디" class="form_control" required="required" data-valid-type="alphaNumeric" data-valid-name="아이디" minlength="4" maxlength="12"/>
+						<input type="text" id="custId" name="custId" placeholder="아이디" class="form_control" required="required" data-valid-type="alphaNumeric" data-valid-name="아이디" minlength="4" maxlength="12" autocomplete="off"/>
 						<span class="usable" style="display:block;"></span>
 					</div>
 					<div id="dupCustIdDiv" class="help_block hide">
@@ -53,7 +53,7 @@
 				<div class="form_field">
 					<label class="input_label sr-only">비밀번호</label>
 					<div class="input_wrap form_full">
-						<input type="password" id="passwd" name="passwd" placeholder="비밀번호 (8~20자 영문, 숫자, 특수문자 중 2가지 이상 조합)" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="비밀번호"/><!-- 잘못기입된 경우 class "err" 추가 -->
+						<input type="password" id="passwd" name="passwd" placeholder="비밀번호 (8~20자 영문, 숫자, 특수문자 중 2가지 이상 조합)" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="비밀번호" autocomplete="off"/><!-- 잘못기입된 경우 class "err" 추가 -->
 						<!-- case (사용불가 비밀번호일경우,사용가능한 비밀번호일경우) -->
 						<div class="help_block">
 							<!-- 사용불가 비밀번호일경우 -->
@@ -84,7 +84,7 @@
 				<div class="form_field">
 					<label class="input_label sr-only">비밀번호 확인</label>
 					<div class="input_wrap form_full">
-						<input type="password" id="confirmPassword" name="confirmPassword" placeholder="비밀번호 확인" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="비밀번호"/><!-- 잘못기입된 경우 class "err" 추가 -->
+						<input type="password" id="confirmPassword" name="confirmPassword" placeholder="비밀번호 확인" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="비밀번호" autocomplete="off"/><!-- 잘못기입된 경우 class "err" 추가 -->
 						<!-- case (비밀번호확인 틀렸을경우,비밀번호 일치할경우) -->
 						<div class="help_block">
 							<!-- 비밀번호확인 틀렸을경우 -->
@@ -106,7 +106,7 @@
 				<div class="form_field">
 					<label class="input_label sr-only">이메일</label>
 					<div class="input_wrap form_full">
-						<input type="text" id="email" name="email" placeholder="이메일" class="form_control" required="required" data-valid-name="이메일" maxlength="30"/><!-- 잘못기입된 경우 class "err" 추가 -->
+						<input type="text" id="email" name="email" placeholder="이메일" class="form_control" required="required" data-valid-name="이메일" maxlength="30" autocomplete="off"/><!-- 잘못기입된 경우 class "err" 추가 -->
 						<!-- case (이메일 형식이 바르지않을경우,이미 가입되어있는 이메일인경우) -->
 						<div class="help_block">
 							<!-- 이메일 형식이 바르지않을경우 -->

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

@@ -43,9 +43,9 @@
 					<th:block th:if="${cancelList.cancelList}" th:each="cancel, status : ${cancelList.cancelList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
 						<div class="goods_section">
 							<div class="goods_detail">
-								<a href="javascript:void(0)" th:attr="goodsCd=${cancel.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+								<a href="javascript:void(0)" th:attr="goodsCd=${cancel.goodsCd}, optCd1=${cancel.goodsType == 'G056_N' ? cancel.optCd1 : ''}, ithrCd='IN21_03'" onclick="fnGoToGoodsDetail(this)">
 									<div class="thumb_box">
-										<img th:src="${imageUrl + '/' + cancel.sysImgNm}" width="100%" alt="">
+										<img th:src="${imageUrl + '/' + cancel.sysImgNm + '?RS=90'}" width="100%" alt="">
 									</div>
 									<div class="info_box">
 										<div class="od_name">

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

@@ -44,9 +44,9 @@
 							<p class="dlvr_desc" 	th:text="|${cancelDtl.chgDate} ${cancelDtl.chgTime}|"></p>
 						</div>
 						<div class="goods_detail">
-							<a href="javascript:void(0)" th:attr="goodsCd=${cancelDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+							<a href="javascript:void(0)" th:attr="goodsCd=${cancelDtl.goodsCd}, optCd1=${cancelDtl.goodsType == 'G056_N' ? cancelDtl.optCd1 : ''}, ithrCd='IN21_02'" onclick="fnGoToGoodsDetail(this)">
 								<div class="thumb_box">
-									<img th:src="${imageUrl + '/' + cancelDtl.sysImgNm}" width="100%" alt="">
+									<img th:src="${imageUrl + '/' + cancelDtl.sysImgNm + '?RS=90'}" width="100%" alt="">
 								</div>
 								<div class="info_box">
 									<div class="od_name">

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

@@ -51,9 +51,9 @@
 							<p class="dlvr_desc" th:text="|${exchangeDtl.chgDate} ${exchangeDtl.chgTime}|"></p>
 						</div>
 						<div class="goods_detail">
-							<a href="javascript:void(0)" th:attr="goodsCd=${exchangeDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+							<a href="javascript:void(0)" th:attr="goodsCd=${exchangeDtl.goodsCd}, optCd1=${exchangeDtl.goodsType == 'G056_N' ? exchangeDtl.optCd1 : ''}, ithrCd='IN21_02'" onclick="fnGoToGoodsDetail(this)">
 								<div class="thumb_box">
-									<img th:src="${imageUrl + '/' + exchangeDtl.sysImgNm}" width="100%" alt="">
+									<img th:src="${imageUrl + '/' + exchangeDtl.sysImgNm + '?RS=90'}" width="100%" alt="">
 								</div>
 								<div class="info_box">
 									<div class="od_name">

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

@@ -36,9 +36,9 @@
 							<!-- //상태값 변경 일시 -->
 						</div>
 						<div class="goods_detail">
-							<a href="javascript:void(0)" th:attr="goodsCd=${cre.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+							<a href="javascript:void(0)" th:attr="goodsCd=${cre.goodsCd}, optCd1=${cre.goodsType == 'G056_N' ? cre.optCd1 : ''}, ithrCd='IN21_01'" onclick="fnGoToGoodsDetail(this)">
 								<div class="thumb_box">
-									<img th:src="${imageUrl + '/' + cre.sysImgNm}" src="/" width="100%" alt="">
+									<img th:src="${imageUrl + '/' + cre.sysImgNm + '?RS=90'}" src="/" width="100%" alt="">
 								</div>
 								<div class="info_box">
 									<div class="od_name">

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

@@ -60,9 +60,9 @@
 								<input type="hidden" name="ordDtlNoArr" th:value="${ordDtl.ordDtlNo}"/>
 								<input type="hidden" name="cnclRtnReqQtyArr" th:value="${ordDtl.ordQty - ordDtl.cnclRtnQty}"/>
 														
-								<a href="javascript:void(0);" th:attr="goodsCd=${ordDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+								<a href="javascript:void(0);" th:attr="goodsCd=${ordDtl.goodsCd}, optCd1=${ordDtl.goodsType == 'G056_N' ? ordDtl.optCd1 : ''}, ithrCd='IN20_03'" onclick="fnGoToGoodsDetail(this)">
 									<div class="thumb_box">
-										<img th:src="${imageUrl + '/' + ordDtl.sysImgNm}" width="100%" alt="">
+										<img th:src="${imageUrl + '/' + ordDtl.sysImgNm + '?RS=90'}" width="100%" alt="">
 									</div>
 									<div class="info_box">
 										<div class="od_name">

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

@@ -40,9 +40,9 @@
 					<th:block th:if="${exchangeList.returnList}" th:each="exchange, status : ${exchangeList.returnList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
 						<div class="goods_section">
 							<div class="goods_detail">
-								<a href="javascript:void(0)" th:attr="goodsCd=${exchange.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+								<a href="javascript:void(0)" th:attr="goodsCd=${exchange.goodsCd}, optCd1=${exchange.goodsType == 'G056_N' ? exchange.optCd1 : ''}, ithrCd='IN21_03'" onclick="fnGoToGoodsDetail(this)">
 									<div class="thumb_box">
-										<img th:src="${imageUrl + '/' + exchange.sysImgNm}" width="100%" alt="">
+										<img th:src="${imageUrl + '/' + exchange.sysImgNm + '?RS=90'}" width="100%" alt="">
 									</div>
 									<div class="info_box">
 										<div class="od_name">

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

@@ -67,9 +67,9 @@
 								<input type="hidden" name="ordDtlNoArr" th:value="${ordDtl.ordDtlNo}"/>
 								<input type="hidden" name="cnclRtnReqQtyArr" th:value="${ordDtl.ordQty - ordDtl.cnclRtnQty}"/>
 														
-								<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+								<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}, optCd1=${ordDtl.goodsType == 'G056_N' ? ordDtl.optCd1 : ''}, ithrCd='IN20_02'" onclick="fnGoToGoodsDetail(this)">
 									<div class="thumb_box">
-										<img th:src="${imageUrl + '/' + ordDtl.sysImgNm}" width="100%" alt="">
+										<img th:src="${imageUrl + '/' + ordDtl.sysImgNm + '?RS=90'}" width="100%" alt="">
 									</div>
 									<div class="info_box">
 										<div class="od_name">

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

@@ -51,9 +51,9 @@
 							<!-- //일반배송일때 -->
 						</div>
 						<div class="goods_detail">
-							<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+							<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}, optCd1=${ordDtl.goodsType == 'G056_N' ? ordDtl.optCd1 : ''}, ithrCd='IN20_01'" onclick="fnGoToGoodsDetail(this)">
 								<div class="thumb_box">
-									<img th:src="${imageUrl + '/' + ordDtl.sysImgNm}" src="/" width="100%" alt="">
+									<img th:src="${imageUrl + '/' + ordDtl.sysImgNm + '?RS=90'}" src="/" width="100%" alt="">
 								</div>
 								<div class="info_box">
 									<div class="od_name">

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

@@ -44,9 +44,9 @@
 					<th:block th:if="${returnList.returnList}" th:each="return, status : ${returnList.returnList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
 						<div class="goods_section">
 							<div class="goods_detail">
-								<a href="javascript:void(0)" th:attr="goodsCd=${return.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+								<a href="javascript:void(0)" th:attr="goodsCd=${return.goodsCd}, optCd1=${return.goodsType == 'G056_N' ? return.optCd1 : ''}, ithrCd='IN21_03'" onclick="fnGoToGoodsDetail(this)">
 									<div class="thumb_box">
-										<img th:src="${imageUrl + '/' + return.sysImgNm}" width="100%" alt="">
+										<img th:src="${imageUrl + '/' + return.sysImgNm + '?RS=90'}" width="100%" alt="">
 									</div>
 									<div class="info_box">
 										<div class="od_name">

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCancelFormMob.html

@@ -42,7 +42,7 @@
 					<th:block th:if="${cancelList.cancelList}" th:each="cancel, status : ${cancelList.cancelList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
 						<div class="goods_section">
 							<div class="goods_detail">
-								<a href="javascript:void(0)" th:attr="goodsCd=${cancel.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+								<a href="javascript:void(0)" th:attr="goodsCd=${cancel.goodsCd}, optCd1=${cancel.goodsType == 'G056_N' ? cancel.optCd1 : ''}, ithrCd='IN21_03'" onclick="fnGoToGoodsDetail(this)">
 									<div class="thumb_box">
 										<img th:src="${imageUrl + '/' + cancel.sysImgNm + '?RS=90'}" width="100%" alt="">
 									</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreCancelDetailFormMob.html

@@ -39,7 +39,7 @@
 							<p class="dlvr_desc" 	th:text="|${cancelDtl.chgDate} ${cancelDtl.chgTime}|"></p>
 						</div>
 						<div class="goods_detail">
-							<a href="javascript:void(0)" th:attr="goodsCd=${cancelDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+							<a href="javascript:void(0)" th:attr="goodsCd=${cancelDtl.goodsCd}, optCd1=${cancelDtl.goodsType == 'G056_N' ? cancelDtl.optCd1 : ''}, ithrCd='IN21_02'" onclick="fnGoToGoodsDetail(this)">
 								<div class="thumb_box">
 									<img th:src="${imageUrl + '/' + cancelDtl.sysImgNm + '?RS=90'}" width="100%" alt="">
 								</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreExchangeDetailFormMob.html

@@ -46,7 +46,7 @@
 							<p class="dlvr_desc" th:text="|${exchangeDtl.chgDate} ${exchangeDtl.chgTime}|"></p>
 						</div>
 						<div class="goods_detail">
-							<a href="javascript:void(0)" th:attr="goodsCd=${exchangeDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+							<a href="javascript:void(0)" th:attr="goodsCd=${exchangeDtl.goodsCd}, optCd1=${exchangeDtl.goodsType == 'G056_N' ? exchangeDtl.optCd1 : ''}, ithrCd='IN21_02'" onclick="fnGoToGoodsDetail(this)">
 								<div class="thumb_box">
 									<img th:src="${imageUrl + '/' + exchangeDtl.sysImgNm + '?RS=90'}" width="100%" alt="">
 								</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreListInfoMob.html

@@ -29,7 +29,7 @@
 							<!-- //상태값 변경 일시 -->
 						</div>
 						<div class="goods_detail">
-							<a href="javascript:void(0)" th:attr="goodsCd=${cre.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+							<a href="javascript:void(0)" th:attr="goodsCd=${cre.goodsCd}, optCd1=${cre.goodsType == 'G056_N' ? cre.optCd1 : ''}, ithrCd='IN21_01'" onclick="fnGoToGoodsDetail(this)">
 								<div class="thumb_box">
 									<img th:src="${imageUrl + '/' + cre.sysImgNm + '?RS=90'}" width="100%" alt="">
 								</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberCreReturnDetailFormMob.html

@@ -44,7 +44,7 @@
 						</div>
 						
 						<div class="goods_detail">
-							<a href="javascript:void(0)" th:attr="goodsCd=${returnDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+							<a href="javascript:void(0)" th:attr="goodsCd=${returnDtl.goodsCd}, optCd1=${returnDtl.goodsType == 'G056_N' ? returnDtl.optCd1 : ''}, ithrCd='IN21_02'" onclick="fnGoToGoodsDetail(this)">
 								<div class="thumb_box">
 									<img th:src="${imageUrl + '/' + returnDtl.sysImgNm + '?RS=90'}" width="100%" alt="">
 								</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberDeliveryInfoFormMob.html

@@ -44,7 +44,7 @@
 								<input type="hidden" name="ordDtlNoArr" th:value="${ordDtl.ordDtlNo}"/>
 								<input type="hidden" name="cnclRtnReqQtyArr" th:value="${ordDtl.ordQty - ordDtl.cnclRtnQty}"/>
 														
-								<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+								<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}, optCd1=${ordDtl.goodsType == 'G056_N' ? ordDtl.optCd1 : ''}, ithrCd='IN20_03'" onclick="fnGoToGoodsDetail(this)">
 									<div class="thumb_box">
 										<img th:src="${imageUrl + '/' + ordDtl.sysImgNm + '?RS=90'}" width="100%" alt="">
 									</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberExchangeFormMob.html

@@ -39,7 +39,7 @@
 					<th:block th:if="${exchangeList.returnList}" th:each="exchange, status : ${exchangeList.returnList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
 						<div class="goods_section">
 							<div class="goods_detail">
-								<a href="javascript:void(0)" th:attr="goodsCd=${exchange.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+								<a href="javascript:void(0)" th:attr="goodsCd=${exchange.goodsCd}, optCd1=${exchange.goodsType == 'G056_N' ? exchange.optCd1 : ''}, ithrCd='IN21_03'" onclick="fnGoToGoodsDetail(this)">
 									<div class="thumb_box">
 										<img th:src="${imageUrl + '/' + exchange.sysImgNm + '?RS=90'}" width="100%" alt="">
 									</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderDetailFormMob.html

@@ -53,7 +53,7 @@
 								<input type="hidden" name="ordDtlNoArr" th:value="${ordDtl.ordDtlNo}"/>
 								<input type="hidden" name="cnclRtnReqQtyArr" th:value="${ordDtl.ordQty - ordDtl.cnclRtnQty}"/>
 														
-								<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+								<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}, optCd1=${ordDtl.goodsType == 'G056_N' ? ordDtl.optCd1 : ''}, ithrCd='IN20_02'" onclick="fnGoToGoodsDetail(this)">
 									<div class="thumb_box">
 										<img th:src="${imageUrl + '/' + ordDtl.sysImgNm + '?RS=90'}" width="100%" alt="">
 									</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberOrderListInfoMob.html

@@ -21,7 +21,7 @@
 							<!-- //일반배송일때 -->
 						</div>
 						<div class="goods_detail">
-							<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+							<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}, optCd1=${ordDtl.goodsType == 'G056_N' ? ordDtl.optCd1 : ''}, ithrCd='IN20_01'" onclick="fnGoToGoodsDetail(this)">
 								<div class="thumb_box">
 									<img th:src="${imageUrl + '/' + ordDtl.sysImgNm + '?RS=90'}" width="100%" alt="">
 								</div>

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/NoMemberReturnFormMob.html

@@ -43,7 +43,7 @@
 					<th:block th:if="${returnList.returnList}" th:each="return, status : ${returnList.returnList}" th:with="imageUrl=${@environment.getProperty('upload.goods.view')}">
 						<div class="goods_section">
 							<div class="goods_detail">
-								<a href="javascript:void(0)" th:attr="goodsCd=${return.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+								<a href="javascript:void(0)" th:attr="goodsCd=${return.goodsCd}, optCd1=${return.goodsType == 'G056_N' ? return.optCd1 : ''}, ithrCd='IN21_03'" onclick="fnGoToGoodsDetail(this)">
 									<div class="thumb_box">
 										<img th:src="${imageUrl + '/' + return.sysImgNm + '?RS=90'}" width="100%" alt="">
 									</div>

+ 250 - 228
src/main/webapp/WEB-INF/views/mob/planning/PlanningDetailFormMob.html

@@ -36,23 +36,23 @@
 				</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 class="inner bg_gray" th:id="${a.tmplType}" style="display: none">
 						</div>
 					</th:block>
 					<th:block th:if="${a.tmplType == 'G082_20'}">
-		                <div class="inner" th:id="${a.tmplType}">
+		                <div class="inner" th:id="${a.tmplType}" style="display: none">
 						</div>
 					</th:block>
 					<th:block th:if="${a.tmplType == 'G082_30'}"><!-- 이미지 -->
-						 <div class="inner wide" th:id="${a.tmplType}"> 
+						 <div class="inner wide" th:id="${a.tmplType}" style="display: none"> 
 						</div>
 					</th:block>
 					<th:block th:if="${a.tmplType == 'G082_50'}">
-						<div class="inner wide" th:id="${a.tmplType + a.planContSq}">
+						<div class="inner wide" th:id="${a.tmplType + a.planContSq}" style="display: none">
                 		</div>
 					</th:block>
 					<th:block th:if="${a.tmplType == 'G082_51'}">
-						<div class="inner" th:id="${a.tmplType + a.planContSq}">
+						<div class="inner" th:id="${a.tmplType + a.planContSq}" style="display: none">
 							<div class="dp_listItems_wrap">
 								<h2 class="dp_subtitle">
 									<a th:if="${a.linkUrl!=null && a.linkUrl!=''}" th:href="${a.linkUrl}" th:text="${a.title}"></a>
@@ -66,11 +66,11 @@
 						</div>
 					</th:block>
 					<th:block th:if="${a.tmplType == 'G082_52'}">
-						<div class="inner" th:id="${a.tmplType + a.planContSq}">
+						<div class="inner" th:id="${a.tmplType + a.planContSq}" style="display: none">
                     	</div>
 					</th:block>
 					<th:block th:if="${a.tmplType == 'G082_60'}">
-						<div class="inner" th:id="${a.tmplType}">
+						<div class="inner" th:id="${a.tmplType}" style="display: none">
 						</div>
 					</th:block>
 				</th:block>
@@ -122,22 +122,7 @@
 							</div>
 							<!-- 댓글 -->
 							<div class="cmt_group" id="replyList">
-							<!-- 	<div class="paging_wrap">
-									<ul class="pageNav">
-										<li class="prev"><a href="#"><span class="sr-only">이전</span></a></li>
-										<li class="active">01</li>
-										<li>/</li>
-										<li>10</li>
-										<li class="next"><a href="#"><span class="sr-only">다음</span></a></li>
-									</ul>
-								</div> -->
-								<!-- 임시 -->
-								<!-- <div class="paging_wrap">
-									<ul class="pageNav" id="paging">
 
-									</ul>
-								</div> -->
-								<!-- 임시 -->
 							</div>
 						</div>
 					</form>
@@ -270,13 +255,18 @@
 <script src="/ux/plugins/gaga/gaga.paging.js"></script>
 <script th:inline="javascript">
 let review = [[${reviewInfo}]];
+let reviewContent = [[${reviewContent}]];
 let coupon = [[${couponInfo}]];
+let couponContent = [[${couponContent}]];
 let plan = [[${planInfo}]];
 let image = [[${imageInfo}]];
 let notice = [[${noticeInfo}]];
 let goods1 = [[${goods1Info}]];
+let goods1Content = [[${goods1Content}]];
 let goods2 = [[${goods2Info}]];
+let goods2Content = [[${goods2Content}]];
 let goods4 = [[${goods4Info}]];
+let goods4Content = [[${goods4Content}]];
 let template =[[${templateOrd}]];
 let replyList = [[${replyList}]];
 let replyCount = [[${replyCount}]];
@@ -458,6 +448,8 @@ var fnReplySave = function() {
 }
 
 if (notice.length>0) {
+	$("#G082_60").show();
+	
 	var html = '';
 	
 	html += '<div class="announce_txt">';
@@ -560,7 +552,7 @@ if(planCornerList.length>0){
 	
 }
 
-if(goods1.length>0){
+if(template.length>0){
 	var array = [];
 
 	for (var j = 0; j < template.length; j++) {
@@ -571,6 +563,9 @@ if(goods1.length>0){
 	for (var i = 0; i < template.length; i++) {
 		var html = '';
 		if(template[i].tmplType == 'G082_50' && array[0] == template[i].planContSq && typeof array[0] != 'undefined') {
+			if(template[i].title != null && template[i].title != ''){
+				$("#G082_50" +template[i].planContSq).show();
+			}
 			html += '<div class="dp_listItems_cont type1">\n';
 			html += '	<h2 class="dp_subtitle">\n';
 			if (template[i].linkUrl != null && template[i].linkUrl != '') { /* 링크 변경 예정 */
@@ -587,6 +582,7 @@ if(goods1.length>0){
 			html += '		<div class="swiper-wrapper">\n';
 			$.each(goods1, function(idx, item)  {
 				if (item.planContSq == template[i].planContSq) {
+					$("#G082_50" + item.planContSq).show();
 					html += '			<div class="swiper-slide">\n';
 					html += '				<div class="item_prod">\n';
 					html += '					<div class="item_state">\n';
@@ -630,50 +626,53 @@ if(goods1.length>0){
 var fnCompleteList = function () {
 	$.each(template, function(idx, item)  {
 		if(item.tmplType == "G082_51"){
+			if(item.title != null && item.title != ''){
+				$("#G082_51" +item.planContSq).show();
+			}
 			var form = '#searchForm1_G082_51'+item.planContSq;
 			gagajf.ajaxFormSubmit('/planning/goods/list', form, fnGetCompleteCallback);
 		}
-		
 	});
-	
 }
 
 var fnGetCompleteCallback = function (result) {
-	if (result.dataList != null && result.dataList.length > 0) {
-		var html = '';
-		$.each(result.dataList, function(idx, item) {
-			html += '		<div class="item_prod">\n';
-			html += '			<div class="item_state">\n';
-			html += '				<a onclick="cfnGoToGoodsDetail(\'' + item.goodsCd + '\')" class="itemLink">\n';
-			html += '					<div class="itemPic">\n';
-			html += '						<img class="vLHTC pd_img" src="'+ _uploadGoodsUrl +'/'+item.sysImgNm +'">\n';
-			html += '					</div>\n';
-			html += '					<p class="itemBrand">'+item.brandGroupNm+'</p>\n';
-			html += '					<div class="itemName">'+item.goodsNm+'</div>\n';
-			html += '					<p class="itemPrice">\n';
-			if (item.currPrice != item.listPrice) {
-				html += '						<span class="itemPrice_original">'+item.listPrice.addComma()+'</span>\n';
-			}
-			html += 						item.currPrice.addComma();
-			if (item.currPrice != item.listPrice) {
-				html += '						<span class="itemPercent">'+Math.floor(item.dcRate)+'%</span>\n';
-			}
-			html += '					</p>\n';
-			if(item.goodsTnm != null){
-				html += '					<div class="itemComment">'+item.goodsTnm+'</div>\n';
+	if(template.length>0){
+		if (result.dataList != null && result.dataList.length > 0) {
+			var html = '';
+			$.each(result.dataList, function(idx, item) {
+				html += '		<div class="item_prod">\n';
+				html += '			<div class="item_state">\n';
+				html += '				<a onclick="cfnGoToGoodsDetail(\'' + item.goodsCd + '\')" class="itemLink">\n';
+				html += '					<div class="itemPic">\n';
+				html += '						<img class="vLHTC pd_img" src="'+ _uploadGoodsUrl +'/'+item.sysImgNm +'">\n';
+				html += '					</div>\n';
+				html += '					<p class="itemBrand">'+item.brandGroupNm+'</p>\n';
+				html += '					<div class="itemName">'+item.goodsNm+'</div>\n';
+				html += '					<p class="itemPrice">\n';
+				if (item.currPrice != item.listPrice) {
+					html += '						<span class="itemPrice_original">'+item.listPrice.addComma()+'</span>\n';
+				}
+				html += 						item.currPrice.addComma();
+				if (item.currPrice != item.listPrice) {
+					html += '						<span class="itemPercent">'+Math.floor(item.dcRate)+'%</span>\n';
+				}
+				html += '					</p>\n';
+				if(item.goodsTnm != null){
+					html += '					<div class="itemComment">'+item.goodsTnm+'</div>\n';
+				}
+				html += '				</a>\n';
+				html += '			</div>\n';
+				html += '		</div>\n';
+		});
+			$('#group_'+result.dataList[0].planContSq).append(html);
+			if (result.paging1.pageable2.totalPage > result.paging1.pageable2.pageNo) {
+				
+				$('#moreBtn_' + result.dataList[0].planContSq).show();
+				$('#searchForm1_G082_51'+result.dataList[0].planContSq +' input[name=pageNo2]').val(result.paging1.pageable2.pageNo + 1);
+				
+			}else{
+				$('#moreBtn_' + result.dataList[0].planContSq).hide();
 			}
-			html += '				</a>\n';
-			html += '			</div>\n';
-			html += '		</div>\n';
-	});
-		$('#group_'+result.dataList[0].planContSq).append(html);
-		if (result.paging1.pageable2.totalPage > result.paging1.pageable2.pageNo) {
-			
-			$('#moreBtn_' + result.dataList[0].planContSq).show();
-			$('#searchForm1_G082_51'+result.dataList[0].planContSq +' input[name=pageNo2]').val(result.paging1.pageable2.pageNo + 1);
-			
-		}else{
-			$('#moreBtn_' + result.dataList[0].planContSq).hide();
 		}
 	}
 }
@@ -685,7 +684,7 @@ var moreBtn = function (obj) {
 
 
 
-if(goods4.length>0){
+if(template.length>0){
 	var array = [];
 	var html = '';
 	for (var j = 0; j < template.length; j++) {
@@ -696,6 +695,9 @@ if(goods4.length>0){
 	
 	for (var i = 0; i < template.length; i++) {
 		if(template[i].tmplType == 'G082_52' && array[0] == template[i].planContSq && typeof array[0] != 'undefined'){
+			if(template[i].title != null && template[i].title != ''){
+				$("#G082_52" +template[i].planContSq).show();
+			}
 			html += '<div class="dp_listItems_cont type2">\n';
 			if (template[i].linkUrl != null && template[i].linkUrl != '') { /* 링크 변경 예정 */
 				if (template[i].linkOpenGb == "M") { //본창
@@ -710,6 +712,7 @@ if(goods4.length>0){
 			html += '	<div class="swiper-container item02">\n';
 			html += '		<div class="swiper-wrapper">\n';
 			$.each(goods4, function(idx, item) {
+				$("#G082_52" + item.planContSq).show();
 				html += '			<div class="swiper-slide">\n';
 				html += '				<div class="item_prod">\n';
 				html += '					<div class="item_state">\n';
@@ -751,185 +754,204 @@ if(goods4.length>0){
 	}
 }
 
-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();" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'\', \'N\',\''+item.reviewSq+'\');">\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('+ _uploadImageUrl+item.reviewSysImg +');"></span>\n';
+if(template.length>0){
+	if(review.length>0 || reviewContent[0].title != ''){
+		$("#G082_10").show();
+		var html = '';
+		
+		html += '<div class="dp_review_cont">\n';
+		html += '	<div class="dp_review">\n';
+		html += '		<h2 class="dp_subtitle">'+reviewContent[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){
+				if (item.bestYn == 'Y') {
+					html += '								<a href="javascript:void();" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'Y\', \'Y\',\''+item.reviewSq+'\');">\n';
+				}else{
+					html += '								<a href="javascript:void();" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'N\', \'Y\',\''+item.reviewSq+'\');">\n';
+				}
 			}else{
-				html += '											<span class="thumb" style="background-image:url('+ _uploadImageUrl +item.reviewSysImg +');"></span>\n';
+				if (item.bestYn == 'Y') {
+					html += '								<a href="javascript:void();" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'Y\', \'N\',\''+item.reviewSq+'\');">\n';
+				}else{
+					html += '								<a href="javascript:void();" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'N\', \'N\',\''+item.reviewSq+'\');">\n';
+				}
 			}
-		}else{
-			html += '											<span class="thumb" style="background-image:url('+ _uploadGoodsUrl+'/'+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="'+ _uploadGoodsUrl +'/'+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';
-
+			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('+ _uploadImageUrl+item.reviewSysImg +');"></span>\n';
+				}else{
+					html += '											<span class="thumb" style="background-image:url('+ _uploadImageUrl +item.reviewSysImg +');"></span>\n';
+				}
+			}else{
+				html += '											<span class="thumb" style="background-image:url('+ _uploadGoodsUrl+'/'+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="'+ _uploadGoodsUrl +'/'+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);
+		$("#G082_10").append(html);
+	}
 }
+
 /* 이미지 */
 if(image.length>0){
-	var html = '';
-	
-	html += '<div class="promotion_visual type2">\n';
-	html += '	<div class="big_banner_slide">\n';
-	html += '		<div class="swiper-container">\n';
-	html += '			<div class="swiper-wrapper">\n';
-	$.each(image, function(idx, item)  {
-		html += '				<div class="swiper-slide">\n';
-		if (item.linkOpenGb == 'M') {
-			html += '					<a href="'+item.linkUrl+'" target="_self"><img src="'+ _uploadImageUrl + item.itemVal +'?RS=1206" ></a>\n';
-		}else{
-			html += '					<a href="'+item.linkUrl+'" target="_blank"><img src="'+ _uploadImageUrl + item.itemVal +'?RS=1206" ></a>\n';
-		}
-		html += '				</div>\n';
-	});
-	
-	html += '			</div>\n';
-	html += '			<div class="swiper-pagination"></div>\n';
-	html += '		</div>\n';
-	html += '	</div>\n';
-	html += '</div>\n';
-	
-	$("#G082_30").append(html);
-}
-
-if(coupon.length>0){
-	var html = '';
-	 
-	html += '<div class="dp_coupon">\n';
-	html += '	<h2 class="dp_subtitle">'+coupon[0].title+'</h2>\n';
-	html += '	<div class="coupon_list">\n';
-	html += '		<ul class="clear">\n';
-	$.each(coupon, function(idx, item) {
-		if (item.couponStat == '쿠폰받기') {
-			html += '			<li>\n';
-		}else{
-			html += '			<li class="off">\n';
-		}
+	if (image[0].itemVal != null && image[0].itemVal != '') {
+		$("#G082_30").show();
 		
-		html += '				<div class="cp_top">\n';
-		html += '					<div class="cp_detail">\n';
-		html += '						<p class="tit">'+item.cpnNm+'</p>\n';
-		html += '						<strong class="sale_t won_t"><span>'+item.dcVal.addComma()+'</span>'+item.dcWay+'</strong>\n';
-		html += '						<p class="cp_cont">'+item.useCondition+'</p>\n';
-		html += '						<span class="cp_cnt">'+item.issueCondition+'</span>\n';
-		html += '					</div>\n';
-		html += '					<span class="cp_shape"></span>\n';
-		html += '				</div>\n';
-		html += '				<div class="cp_date" id="dp_coupon1">\n';
-		if (item.couponStat == '쿠폰받기') {
-			html += '					<button type="button" id="coupon_'+item.cpnId+'" onclick="fnPlanCouponDown('+item.cpnId+')"><span>쿠폰 받기</span></button>\n';
-		}else{
-			html += '					<button type="button" id="coupon_'+item.cpnId+'" onclick="fnPlanCouponDown('+item.cpnId+')"><span>받기 완료</span></button>\n';
-		}
-		html += '				</div>\n';
-		html += '				<div class="cp_info">\n';
-		html += '					<button type="button" id="modalBasic" class="btn_couponInfo_pop" onclick="usePlanInfoCoupon('+item.cpnId+')"><span>사용안내</span></button>\n';
-		html += '				</div>\n';
-		html += '			</li>\n';
-	});
-	html += '		</ul>\n';
-	html += '	</div>\n';
-	if (coupon[0].cpnNote0 != null && coupon[0].cpnNote0 != '') {
-		html += '	<div class="announce_txt">\n';
-		html += '		<div class="note_txt">\n';
-		html += '			<img src="/images/mo/ico_content_find.png" alt="유의사항">\n';
-		html += '			<p>유의사항</p>\n';
-		html += '		</div>\n';
-		html += '		<div class="announce_list">\n';
-		html += '			<ul>\n';
-		html += '                  <li>' + coupon[0].cpnNote0 +'</li>\n';
-		if(coupon[0].cpnNote1 != null && coupon[0].cpnNote1 != '')
-			html += '                  <li>' + coupon[0].cpnNote1 +'</li>\n';
-		if(coupon[0].cpnNote2 != null && coupon[0].cpnNote2 != '')
-			html += '                  <li>' + coupon[0].cpnNote2 +'</li>\n';
-		if(coupon[0].cpnNote3 != null && coupon[0].cpnNote3 != '')
-			html += '                  <li>' + coupon[0].cpnNote3 +'</li>\n';	
-		if(coupon[0].cpnNote4 != null && coupon[0].cpnNote4 != '')
-			html += '                  <li>' + coupon[0].cpnNote4 +'</li>\n';
-		if(coupon[0].cpnNote5 != null && coupon[0].cpnNote5 != '')
-			html += '                  <li>' + coupon[0].cpnNote5 +'</li>\n';
-		if(coupon[0].cpnNote6 != null && coupon[0].cpnNote6 != '')
-			html += '                  <li>' + coupon[0].cpnNote6 +'</li>\n';
-		if(coupon[0].cpnNote7 != null && coupon[0].cpnNote7 != '')
-			html += '                  <li>' + coupon[0].cpnNote7 +'</li>\n';
-		if(coupon[0].cpnNote8 != null && coupon[0].cpnNote8 != '')
-			html += '                  <li>' + coupon[0].cpnNote8 +'</li>\n';
-		if(coupon[0].cpnNote9 != null && coupon[0].cpnNote9 != '')
-			html += '                  <li>' + coupon[0].cpnNote9 +'</li>\n';
-		html += '			</ul>\n';
+		var html = '';
+		
+		html += '<div class="promotion_visual type2">\n';
+		html += '	<div class="big_banner_slide">\n';
+		html += '		<div class="swiper-container">\n';
+		html += '			<div class="swiper-wrapper">\n';
+		$.each(image, function(idx, item)  {
+			html += '				<div class="swiper-slide">\n';
+			if (item.linkOpenGb == 'M') {
+				html += '					<a href="'+item.linkUrl+'" target="_self"><img src="'+ _uploadImageUrl + item.itemVal +'?RS=1206" ></a>\n';
+			}else{
+				html += '					<a href="'+item.linkUrl+'" target="_blank"><img src="'+ _uploadImageUrl + item.itemVal +'?RS=1206" ></a>\n';
+			}
+			html += '				</div>\n';
+		});
+		
+		html += '			</div>\n';
+		html += '			<div class="swiper-pagination"></div>\n';
 		html += '		</div>\n';
 		html += '	</div>\n';
+		html += '</div>\n';
+		
+		$("#G082_30").append(html);
 	}
-	html += '</div>\n';
+}
+
+
+if(template.length>0){
+	if(coupon.length>0 || (couponContent[0].title != '' && couponContent[0].title != null) || (couponContent[0].cpnNote0 != '' && couponContent[0].cpnNote0 != null)){
+		$("#G082_20").show();
 		
-	$("#G082_20").append(html);
+		var html = '';
+		 
+		html += '<div class="dp_coupon">\n';
+		html += '	<h2 class="dp_subtitle">'+couponContent[0].title+'</h2>\n';
+		html += '	<div class="coupon_list">\n';
+		html += '		<ul class="clear">\n';
+		$.each(coupon, function(idx, item) {
+			if (item.couponStat == '쿠폰받기') {
+				html += '			<li>\n';
+			}else{
+				html += '			<li class="off">\n';
+			}
+			
+			html += '				<div class="cp_top">\n';
+			html += '					<div class="cp_detail">\n';
+			html += '						<p class="tit">'+item.cpnNm+'</p>\n';
+			html += '						<strong class="sale_t won_t"><span>'+item.dcVal.addComma()+'</span>'+item.dcWay+'</strong>\n';
+			html += '						<p class="cp_cont">'+item.useCondition+'</p>\n';
+			html += '						<span class="cp_cnt">'+item.issueCondition+'</span>\n';
+			html += '					</div>\n';
+			html += '					<span class="cp_shape"></span>\n';
+			html += '				</div>\n';
+			html += '				<div class="cp_date" id="dp_coupon1">\n';
+			if (item.couponStat == '쿠폰받기') {
+				html += '					<button type="button" id="coupon_'+item.cpnId+'" onclick="fnPlanCouponDown('+item.cpnId+')"><span>쿠폰 받기</span></button>\n';
+			}else{
+				html += '					<button type="button" id="coupon_'+item.cpnId+'" onclick="fnPlanCouponDown('+item.cpnId+')"><span>받기 완료</span></button>\n';
+			}
+			html += '				</div>\n';
+			html += '				<div class="cp_info">\n';
+			html += '					<button type="button" id="modalBasic" class="btn_couponInfo_pop" onclick="usePlanInfoCoupon('+item.cpnId+')"><span>사용안내</span></button>\n';
+			html += '				</div>\n';
+			html += '			</li>\n';
+		});
+		html += '		</ul>\n';
+		html += '	</div>\n';
+		if (couponContent[0].cpnNote0 != null && couponContent[0].cpnNote0 != '') {
+			html += '	<div class="announce_txt">\n';
+			html += '		<div class="note_txt">\n';
+			html += '			<img src="/images/mo/ico_content_find.png" alt="유의사항">\n';
+			html += '			<p>유의사항</p>\n';
+			html += '		</div>\n';
+			html += '		<div class="announce_list">\n';
+			html += '			<ul>\n';
+			html += '                  <li>' + couponContent[0].cpnNote0 +'</li>\n';
+			if(couponContent[0].cpnNote1 != null && couponContent[0].cpnNote1 != '')
+				html += '                  <li>' + couponContent[0].cpnNote1 +'</li>\n';
+			if(couponContent[0].cpnNote2 != null && couponContent[0].cpnNote2 != '')
+				html += '                  <li>' + couponContent[0].cpnNote2 +'</li>\n';
+			if(couponContent[0].cpnNote3 != null && couponContent[0].cpnNote3 != '')
+				html += '                  <li>' + couponContent[0].cpnNote3 +'</li>\n';	
+			if(couponContent[0].cpnNote4 != null && couponContent[0].cpnNote4 != '')
+				html += '                  <li>' + couponContent[0].cpnNote4 +'</li>\n';
+			if(couponContent[0].cpnNote5 != null && couponContent[0].cpnNote5 != '')
+				html += '                  <li>' + couponContent[0].cpnNote5 +'</li>\n';
+			if(couponContent[0].cpnNote6 != null && couponContent[0].cpnNote6 != '')
+				html += '                  <li>' + couponContent[0].cpnNote6 +'</li>\n';
+			if(couponContent[0].cpnNote7 != null && couponContent[0].cpnNote7 != '')
+				html += '                  <li>' + couponContent[0].cpnNote7 +'</li>\n';
+			if(couponContent[0].cpnNote8 != null && couponContent[0].cpnNote8 != '')
+				html += '                  <li>' + couponContent[0].cpnNote8 +'</li>\n';
+			if(couponContent[0].cpnNote9 != null && couponContent[0].cpnNote9 != '')
+				html += '                  <li>' + couponContent[0].cpnNote9 +'</li>\n';
+			html += '			</ul>\n';
+			html += '		</div>\n';
+			html += '	</div>\n';
+		}
+		html += '</div>\n';
+			
+		$("#G082_20").append(html);
+	}
 }
 
 

+ 4 - 4
src/main/webapp/WEB-INF/views/web/customer/JoinFormWeb.html

@@ -35,7 +35,7 @@
 					<div class="form_field">
 						<label class="input_label sr-only">아이디</label>
 						<div class="input_wrap form_full">
-							<input type="text" id="custId" name="custId" placeholder="아이디(4~12자)" class="form_control" required="required" data-valid-type="alphaNumeric" data-valid-name="아이디" minlength="4" maxlength="12"/>
+							<input type="text" id="custId" name="custId" placeholder="아이디(4~12자)" class="form_control" required="required" data-valid-type="alphaNumeric" data-valid-name="아이디" minlength="4" maxlength="12" autocomplete="off"/>
 							<span class="usable" style="display:block;"></span>
 						</div>
 						<div id="dupCustIdDiv" class="help_block hide">
@@ -47,7 +47,7 @@
 					<div class="form_field">
 						<label class="input_label sr-only">비밀번호</label>
 						<div class="input_wrap form_full">
-							<input type="password" id="passwd" name="passwd" placeholder="비밀번호 (8~20자 영문, 숫자, 특수문자 중 2가지 이상 조합)" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="비밀번호"/><!-- 잘못기입된 경우 class "err" 추가 -->
+							<input type="password" id="passwd" name="passwd" placeholder="비밀번호 (8~20자 영문, 숫자, 특수문자 중 2가지 이상 조합)" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="비밀번호" autocomplete="off"/><!-- 잘못기입된 경우 class "err" 추가 -->
 							<!-- case (사용불가 비밀번호일경우,사용가능한 비밀번호일경우) -->
 							<div class="help_block">
 								<!-- 사용불가 비밀번호일경우 -->
@@ -78,7 +78,7 @@
 					<div class="form_field">
 						<label class="input_label sr-only">비밀번호 확인</label>
 						<div class="input_wrap form_full">
-							<input type="password" id="confirmPassword" name="confirmPassword" placeholder="비밀번호 확인" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="비밀번호"/><!-- 잘못기입된 경우 class "err" 추가 -->
+							<input type="password" id="confirmPassword" name="confirmPassword" placeholder="비밀번호 확인" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="비밀번호" autocomplete="off"/><!-- 잘못기입된 경우 class "err" 추가 -->
 							<!-- case (비밀번호확인 틀렸을경우,비밀번호 일치할경우) -->
 							<div class="help_block">
 								<!-- 비밀번호확인 틀렸을경우 -->
@@ -98,7 +98,7 @@
 					<div class="form_field">
 						<label class="input_label sr-only">이메일</label>
 						<div class="input_wrap form_full">
-							<input type="text" id="email" name="email" placeholder="이메일" class="form_control" required="required" data-valid-name="이메일" maxlength="30"/><!-- 잘못기입된 경우 class "err" 추가 -->
+							<input type="text" id="email" name="email" placeholder="이메일" class="form_control" required="required" data-valid-name="이메일" maxlength="30" autocomplete="off"/><!-- 잘못기입된 경우 class "err" 추가 -->
 							<!-- case (이메일 형식이 바르지않을경우,이미 가입되어있는 이메일인경우) -->
 							<div class="help_block">
 								<!-- 이메일 형식이 바르지않을경우 -->

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

@@ -52,9 +52,9 @@
 									<div class="order_desc">
 										<div class="goods_box">
 											<div class="gd_item">
-												<a href="javascript:void(0)" th:attr="goodsCd=${cancel.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+												<a href="javascript:void(0)" th:attr="goodsCd=${cancel.goodsCd}, optCd1=${cancel.goodsType == 'G056_N' ? cancel.optCd1 : ''}, ithrCd='IN21_03'" onclick="fnGoToGoodsDetail(this)">
 													<span class="thumb">
-														<img th:src="${imageUrl + '/' + cancel.sysImgNm}" width="100%" alt="">
+														<img th:src="${imageUrl + '/' + cancel.sysImgNm + '?RS=100'}" width="100%" alt="">
 													</span>
 													<p>
 														<span class="brand" th:text="${cancel.brandNm}"></span>

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

@@ -41,7 +41,6 @@
 						<div class="goods_head">
 							<p th:unless="${oneData.giftPackYn == 'Y'}">주문일 <span th:text="${oneData.ordDt}"></span></p>
 							<p th:if="${oneData.giftPackYn == 'Y'}">선물일 <span th:text="${oneData.ordDt}"></span></p>
-<!--							<a href="javascript:void(0)" th:attr="ordNo=${oneData.ordNo}" onclick="fnGoToOrderDetail(this);">상세보기</a>-->
 						</div>
 						<div class="goods_cont">
 							<!-- 주문상품 -->
@@ -50,9 +49,9 @@
 									<div class="order_desc">
 										<div class="goods_box">
 											<div class="gd_item">
-												<a href="javascript:void(0)" th:attr="goodsCd=${cancelDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+												<a href="javascript:void(0)" th:attr="goodsCd=${cancelDtl.goodsCd}, optCd1=${cancelDtl.goodsType == 'G056_N' ? cancelDtl.optCd1 : ''}, ithrCd='IN21_02'" onclick="fnGoToGoodsDetail(this)">
 													<span class="thumb">
-														<img th:src="${imageUrl + '/' + cancelDtl.sysImgNm}" width="100%" alt="">
+														<img th:src="${imageUrl + '/' + cancelDtl.sysImgNm + '?RS=100'}" width="100%" alt="">
 													</span>
 													<p>
 														<span class="brand" th:text="${cancelDtl.brandNm}"></span>
@@ -76,10 +75,6 @@
 												<p>
 													<span class="count"><em th:text="${cancelDtl.chgQty}"></em>개</span>
 												</p>
-<!--												<p>-->
-<!--													<span class="price_org" th:if="${cancelDtl.priceOrg > cancelDtl.priceSale}"><em th:text="${#numbers.formatInteger(cancelDtl.priceOrg, 1, 'COMMA')}"></em>원</span>-->
-<!--													<span class="price_sale"><em th:text="${#numbers.formatInteger(cancelDtl.priceSale, 1, 'COMMA')}"></em>원</span>-->
-<!--												</p>-->
 											</div>
 										</div>
 										<div class="status_box">

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

@@ -49,9 +49,9 @@
 									<div class="order_desc">
 										<div class="goods_box">
 											<div class="gd_item">
-												<a href="javascript:void(0)" th:attr="goodsCd=${exchangeDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+												<a href="javascript:void(0)" th:attr="goodsCd=${exchangeDtl.goodsCd}, optCd1=${exchangeDtl.goodsType == 'G056_N' ? exchangeDtl.optCd1 : ''}, ithrCd='IN21_02'" onclick="fnGoToGoodsDetail(this)">
 													<span class="thumb">
-														<img th:src="${imageUrl + '/' + exchangeDtl.sysImgNm}" width="100%" alt="">
+														<img th:src="${imageUrl + '/' + exchangeDtl.sysImgNm + '?RS=100'}" width="100%" alt="">
 													</span>
 													<p>
 														<span class="brand" th:text="${exchangeDtl.brandNm}"></span>

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

@@ -357,9 +357,13 @@
 					tag += '									<div class="order_desc">\n';
 					tag += '										<div class="goods_box">\n';
 					tag += '											<div class="gd_item">\n';
-					tag += '												<a href="javascript:void(0)" goodsCd="' + cre.goodsCd + '" onclick="fnGoToGoodsDetail(this)">\n';
+					if (cre.goodsType == 'G056_N') {
+						tag += '												<a href="javascript:void(0)" goodsCd="' + cre.goodsCd + '" optCd1="' + cre.optCd1 + '" ithrCd="IN21_01" onclick="fnGoToGoodsDetail(this)">\n';
+					} else {
+						tag += '												<a href="javascript:void(0)" goodsCd="' + cre.goodsCd + '" optCd1="" ithrCd="IN21_01" onclick="fnGoToGoodsDetail(this)">\n';
+					}
 					tag += '													<span class="thumb">\n';
-					tag += '														<img src="' + imageUrl + '/' + cre.sysImgNm + '" width="100%" alt="">\n';
+					tag += '														<img src="' + imageUrl + '/' + cre.sysImgNm + '?RS=100" width="100%" alt="">\n';
 					tag += '													</span>\n';
 					tag += '													<p>\n';
 					tag += '														<span class="brand">' + cre.brandNm + '</span>\n';

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

@@ -49,9 +49,9 @@
 									<div class="order_desc">
 										<div class="goods_box">
 											<div class="gd_item">
-												<a href="javascript:void(0)" th:attr="goodsCd=${returnDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+												<a href="javascript:void(0)" th:attr="goodsCd=${returnDtl.goodsCd}, optCd1=${returnDtl.goodsType == 'G056_N' ? returnDtl.optCd1 : ''}, ithrCd='IN21_02'" onclick="fnGoToGoodsDetail(this)">
 													<span class="thumb">
-														<img th:src="${imageUrl + '/' + returnDtl.sysImgNm}" width="100%" alt="">
+														<img th:src="${imageUrl + '/' + returnDtl.sysImgNm + '?RS=100'}" width="100%" alt="">
 													</span>
 													<p>
 														<span class="brand" th:text="${returnDtl.brandNm}"></span>

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

@@ -54,9 +54,9 @@
 												<input type="hidden" name="ordDtlNoArr" th:value="${ordDtl.ordDtlNo}"/>
 												<input type="hidden" name="cnclRtnReqQtyArr" th:value="${ordDtl.ordQty - ordDtl.cnclRtnQty}"/>
 												<div class="gd_item">
-													<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+													<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}, optCd1=${ordDtl.goodsType == 'G056_N' ? ordDtl.optCd1 : ''}, ithrCd='IN20_03'" onclick="fnGoToGoodsDetail(this)">
 															<span class="thumb">
-																<img th:src="${imageUrl + '/' + ordDtl.sysImgNm}" width="100%" alt="">
+																<img th:src="${imageUrl + '/' + ordDtl.sysImgNm + '?RS=100'}" width="100%" alt="">
 															</span>
 														<p>
 															<span class="brand" th:text="${ordDtl.brandNm}"></span>

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

@@ -49,9 +49,9 @@
 									<div class="order_desc">
 										<div class="goods_box">
 											<div class="gd_item">
-												<a href="javascript:void(0)" th:attr="goodsCd=${exchange.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+												<a href="javascript:void(0)" th:attr="goodsCd=${exchange.goodsCd}, optCd1=${exchange.goodsType == 'G056_N' ? exchange.optCd1 : ''}, ithrCd='IN21_03'" onclick="fnGoToGoodsDetail(this)">
 													<span class="thumb">
-														<img th:src="${imageUrl + '/' + exchange.sysImgNm}" width="100%" alt="">
+														<img th:src="${imageUrl + '/' + exchange.sysImgNm + '?RS=100'}" width="100%" alt="">
 													</span>
 													<p>
 														<span class="brand" th:text="${exchange.brandNm}"></span>

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

@@ -60,9 +60,9 @@
 													<input type="hidden" name="ordDtlNoArr" th:value="${ordDtl.ordDtlNo}"/>
 													<input type="hidden" name="cnclRtnReqQtyArr" th:value="${ordDtl.ordQty - ordDtl.cnclRtnQty}"/>
 													<div class="gd_item">
-														<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+														<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}, optCd1=${ordDtl.goodsType == 'G056_N' ? ordDtl.optCd1 : ''}, ithrCd='IN20_02'" onclick="fnGoToGoodsDetail(this)">
 															<span class="thumb">
-																<img th:src="${imageUrl + '/' + ordDtl.sysImgNm}" width="100%" alt="">
+																<img th:src="${imageUrl + '/' + ordDtl.sysImgNm + '?RS=100'}" width="100%" alt="">
 															</span>
 															<p>
 																<span class="brand" th:text="${ordDtl.brandNm}"></span>

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

@@ -417,7 +417,11 @@
 					tag += '									<div class="order_desc">\n';
 					tag += '										<div class="goods_box">\n';
 					tag += '											<div class="gd_item">\n';
-					tag += '												<a href="javascript:void(0)" goodsCd="' + ordDtl.goodsCd + '" onclick="fnGoToGoodsDetail(this)">\n';
+					if (ordDtl.goodsType == 'G056_N') {
+						tag += '												<a href="javascript:void(0)" goodsCd="' + ordDtl.goodsCd + '" optCd1="' + ordDtl.optCd1 + '" ithrCd="IN20_01" onclick="fnGoToGoodsDetail(this)">\n';
+					} else {
+						tag += '												<a href="javascript:void(0)" goodsCd="' + ordDtl.goodsCd + '" optCd1="" ithrCd="IN20_01" onclick="fnGoToGoodsDetail(this)">\n';
+					}
 					tag += '													<span class="thumb">\n';
 					tag += '														<img src="' + imageUrl + '/' + ordDtl.sysImgNm + '" width="100%" alt="">\n';
 					tag += '													</span>\n';

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

@@ -53,9 +53,9 @@
 									<div class="order_desc">
 										<div class="goods_box">
 											<div class="gd_item">
-												<a href="javascript:void(0)" th:attr="goodsCd=${return.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+												<a href="javascript:void(0)" th:attr="goodsCd=${return.goodsCd}, optCd1=${return.goodsType == 'G056_N' ? return.optCd1 : ''}, ithrCd='IN21_03'" onclick="fnGoToGoodsDetail(this)">
 													<span class="thumb">
-														<img th:src="${imageUrl + '/' + return.sysImgNm}" width="100%" alt="">
+														<img th:src="${imageUrl + '/' + return.sysImgNm + '?RS=100'}" width="100%" alt="">
 													</span>
 													<p>
 														<span class="brand" th:text="${return.brandNm}"></span>

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

@@ -51,9 +51,9 @@
 									<div class="order_desc">
 										<div class="goods_box">
 											<div class="gd_item">
-												<a href="javascript:void(0)" th:attr="goodsCd=${cancel.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+												<a href="javascript:void(0)" th:attr="goodsCd=${cancel.goodsCd}, optCd1=${cancel.goodsType == 'G056_N' ? cancel.optCd1 : ''}, ithrCd='IN21_03'" onclick="fnGoToGoodsDetail(this)">
 													<span class="thumb">
-														<img th:src="${imageUrl + '/' + cancel.sysImgNm}" width="100%" alt="">
+														<img th:src="${imageUrl + '/' + cancel.sysImgNm + '?RS=100'}" width="100%" alt="">
 													</span>
 													<p>
 														<span class="brand" th:text="${cancel.brandNm}"></span>

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

@@ -48,9 +48,9 @@
 									<div class="order_desc">
 										<div class="goods_box">
 											<div class="gd_item">
-												<a href="javascript:void(0)" th:attr="goodsCd=${cancelDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+												<a href="javascript:void(0)" th:attr="goodsCd=${cancelDtl.goodsCd}, optCd1=${cancelDtl.goodsType == 'G056_N' ? cancel.cancelDtl : ''}, ithrCd='IN21_02'" onclick="fnGoToGoodsDetail(this)">
 													<span class="thumb">
-														<img th:src="${imageUrl + '/' + cancelDtl.sysImgNm}" width="100%" alt="">
+														<img th:src="${imageUrl + '/' + cancelDtl.sysImgNm + '?RS=100'}" width="100%" alt="">
 													</span>
 													<p>
 														<span class="brand" th:text="${cancelDtl.brandNm}"></span>

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

@@ -48,9 +48,9 @@
 									<div class="order_desc">
 										<div class="goods_box">
 											<div class="gd_item">
-												<a href="javascript:void(0)" th:attr="goodsCd=${exchangeDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+												<a href="javascript:void(0)" th:attr="goodsCd=${exchangeDtl.goodsCd}, optCd1=${exchangeDtl.goodsType == 'G056_N' ? exchangeDtl.optCd1 : ''}, ithrCd='IN21_02'" onclick="fnGoToGoodsDetail(this)">
 													<span class="thumb">
-														<img th:src="${imageUrl + '/' + exchangeDtl.sysImgNm}" width="100%" alt="">
+														<img th:src="${imageUrl + '/' + exchangeDtl.sysImgNm + '?RS=100'}" width="100%" alt="">
 													</span>
 													<p>
 														<span class="brand" th:text="${exchangeDtl.brandNm}"></span>

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

@@ -356,7 +356,11 @@
 					tag += '									<div class="order_desc">\n';
 					tag += '										<div class="goods_box">\n';
 					tag += '											<div class="gd_item">\n';
-					tag += '												<a href="javascript:void(0)" goodsCd="' + cre.goodsCd + '" onclick="fnGoToGoodsDetail(this)">\n';
+					if (cre.goodsType == 'G056_N') {
+						tag += '												<a href="javascript:void(0)" goodsCd="' + cre.goodsCd + '" optCd1="' + cre.optCd1 + '" ithrCd="IN21_01" onclick="fnGoToGoodsDetail(this)">\n';
+					} else {
+						tag += '												<a href="javascript:void(0)" goodsCd="' + cre.goodsCd + '" optCd1="" ithrCd="IN21_01" onclick="fnGoToGoodsDetail(this)">\n';
+					}
 					tag += '													<span class="thumb">\n';
 					tag += '														<img src="' + imageUrl + '/' + cre.sysImgNm + '" width="100%" alt="">\n';
 					tag += '													</span>\n';

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

@@ -48,9 +48,9 @@
 									<div class="order_desc">
 										<div class="goods_box">
 											<div class="gd_item">
-												<a href="javascript:void(0)" th:attr="goodsCd=${returnDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+												<a href="javascript:void(0)" th:attr="goodsCd=${returnDtl.goodsCd}, optCd1=${returnDtl.goodsType == 'G056_N' ? returnDtl.optCd1 : ''}, ithrCd='IN21_02'" onclick="fnGoToGoodsDetail(this)">
 													<span class="thumb">
-														<img th:src="${imageUrl + '/' + returnDtl.sysImgNm}" width="100%" alt="">
+														<img th:src="${imageUrl + '/' + returnDtl.sysImgNm + '?RS=100'}" width="100%" alt="">
 													</span>
 													<p>
 														<span class="brand" th:text="${returnDtl.brandNm}"></span>

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

@@ -51,7 +51,7 @@
 												<input type="hidden" name="ordDtlNoArr" th:value="${ordDtl.ordDtlNo}"/>
 												<input type="hidden" name="cnclRtnReqQtyArr" th:value="${ordDtl.ordQty - ordDtl.cnclRtnQty}"/>
 												<div class="gd_item">
-													<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+													<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}, optCd1=${ordDtl.goodsType == 'G056_N' ? ordDtl.optCd1 : ''}, ithrCd='IN20_03'" onclick="fnGoToGoodsDetail(this)">
 															<span class="thumb">
 																<img th:src="${imageUrl + '/' + ordDtl.sysImgNm + '?RS=100'}" width="100%" alt="">
 															</span>

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

@@ -48,9 +48,9 @@
 									<div class="order_desc">
 										<div class="goods_box">
 											<div class="gd_item">
-												<a href="javascript:void(0)" th:attr="goodsCd=${exchange.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+												<a href="javascript:void(0)" th:attr="goodsCd=${exchange.goodsCd}, optCd1=${exchange.goodsType == 'G056_N' ? exchange.optCd1 : ''}, ithrCd='IN21_03'" onclick="fnGoToGoodsDetail(this)">
 													<span class="thumb">
-														<img th:src="${imageUrl + '/' + exchange.sysImgNm}" width="100%" alt="">
+														<img th:src="${imageUrl + '/' + exchange.sysImgNm + '?RS=100'}" width="100%" alt="">
 													</span>
 													<p>
 														<span class="brand" th:text="${exchange.brandNm}"></span>

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

@@ -58,9 +58,9 @@
 													<input type="hidden" name="ordDtlNoArr" th:value="${ordDtl.ordDtlNo}"/>
 													<input type="hidden" name="cnclRtnReqQtyArr" th:value="${ordDtl.ordQty - ordDtl.cnclRtnQty}"/>
 													<div class="gd_item">
-														<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+														<a href="javascript:void(0)" th:attr="goodsCd=${ordDtl.goodsCd}, optCd1=${ordDtl.goodsType == 'G056_N' ? ordDtl.optCd1 : ''}, ithrCd='IN20_02'" onclick="fnGoToGoodsDetail(this)">
 															<span class="thumb">
-																<img th:src="${imageUrl + '/' + ordDtl.sysImgNm}" width="100%" alt="">
+																<img th:src="${imageUrl + '/' + ordDtl.sysImgNm + '?RS=100'}" width="100%" alt="">
 															</span>
 															<p>
 																<span class="brand" th:text="${ordDtl.brandNm}"></span>

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

@@ -346,9 +346,13 @@
 					tag += '									<div class="order_desc">\n';
 					tag += '										<div class="goods_box">\n';
 					tag += '											<div class="gd_item">\n';
-					tag += '												<a href="javascript:void(0)" goodsCd="' + ordDtl.goodsCd + '" onclick="fnGoToGoodsDetail(this)">\n';
+					if (ordDtl.goodsType == 'G056_N') {
+						tag += '												<a href="javascript:void(0)" goodsCd="' + ordDtl.goodsCd + '" optCd1="' + ordDtl.optCd1 + '" ithrCd="IN20_01" onclick="fnGoToGoodsDetail(this)">\n';
+					} else {
+						tag += '												<a href="javascript:void(0)" goodsCd="' + ordDtl.goodsCd + '" optCd1="" ithrCd="IN20_01" onclick="fnGoToGoodsDetail(this)">\n';
+					}
 					tag += '													<span class="thumb">\n';
-					tag += '														<img src="' + imageUrl + '/' + ordDtl.sysImgNm + '" width="100%" alt="">\n';
+					tag += '														<img src="' + imageUrl + '/' + ordDtl.sysImgNm + '?RS=100" width="100%" alt="">\n';
 					tag += '													</span>\n';
 					tag += '													<p>\n';
 					tag += '														<span class="brand">' + ordDtl.brandNm + '</span>\n';

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

@@ -51,9 +51,9 @@
 									<div class="order_desc">
 										<div class="goods_box">
 											<div class="gd_item">
-												<a href="javascript:void(0)" th:attr="goodsCd=${return.goodsCd}" onclick="fnGoToGoodsDetail(this)">
+												<a href="javascript:void(0)" th:attr="goodsCd=${return.goodsCd}, optCd1=${return.goodsType == 'G056_N' ? return.optCd1 : ''}, ithrCd='IN21_03'" onclick="fnGoToGoodsDetail(this)">
 													<span class="thumb">
-														<img th:src="${imageUrl + '/' + return.sysImgNm}" width="100%" alt="">
+														<img th:src="${imageUrl + '/' + return.sysImgNm + '?RS=100'}" width="100%" alt="">
 													</span>
 													<p>
 														<span class="brand" th:text="${return.brandNm}"></span>

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

@@ -400,86 +400,86 @@ if(planCornerList.length>0){
 	
 }
 
-if(review.length>0 || reviewContent[0].title != ''){
-	$("#G082_10").show();
-	var html = '';
-	
-	html += ' <div class="cont_head">\n';
-	html += ' 	<div>\n';
-	html += '		<h4>'+reviewContent[0].title+'</h4>\n';
-	html += ' 	</div>\n';
-	html += '	<div class="cont_body">\n';
-	html += ' 		<div class="review_list">\n';
-	$.each(review, function(idx, item)  {
-		html += '		<div class="reviw_box">\n'
-		html += '			<div class="best_review">\n';
-		if(item.reviewSysImg!= null){
-			if (item.bestYn == 'Y') {
-				html += '				<a href="javascript:void();" id="btn_pdBestReview_pop" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'Y\', \'Y\',\''+item.reviewSq+'\');">\n';
+if(template.length>0){
+	if(review.length>0 || reviewContent[0].title != ''){
+		$("#G082_10").show();
+		var html = '';
+		
+		html += ' <div class="cont_head">\n';
+		html += ' 	<div>\n';
+		html += '		<h4>'+reviewContent[0].title+'</h4>\n';
+		html += ' 	</div>\n';
+		html += '	<div class="cont_body">\n';
+		html += ' 		<div class="review_list">\n';
+		$.each(review, function(idx, item)  {
+			html += '		<div class="reviw_box">\n'
+			html += '			<div class="best_review">\n';
+			if(item.reviewSysImg!= null){
+				if (item.bestYn == 'Y') {
+					html += '				<a href="javascript:void();" id="btn_pdBestReview_pop" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'Y\', \'Y\',\''+item.reviewSq+'\');">\n';
+				}else{
+					html += '				<a href="javascript:void();" id="btn_pdBestReview_pop" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'N\', \'Y\',\''+item.reviewSq+'\');">\n';
+				}
+				
 			}else{
-				html += '				<a href="javascript:void();" id="btn_pdBestReview_pop" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'N\', \'Y\',\''+item.reviewSq+'\');">\n';
+				if (item.bestYn == 'Y') {
+					html += '				<a href="javascript:void();" id="btn_pdBestReview_pop" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'Y\', \'N\',\''+item.reviewSq+'\');">\n';
+				}else{
+					html += '				<a href="javascript:void();" id="btn_pdBestReview_pop" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'N\', \'N\',\''+item.reviewSq+'\');">\n';
+				}
+				
 			}
 			
-		}else{
-			if (item.bestYn == 'Y') {
-				html += '				<a href="javascript:void();" id="btn_pdBestReview_pop" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'Y\', \'N\',\''+item.reviewSq+'\');">\n';
+			html += '					<div class="pic">\n';
+			if(item.reviewSysImg!= null){
+				if (item.fileGb == 'M') { 
+					html += '								<span class="thumb mov" style="background-image: url('+ _uploadImageUrl+item.reviewSysImg +');"></span>\n';	
+				}else{
+					html += '								<span class="thumb" style="background-image: url('+ _uploadImageUrl +item.reviewSysImg +');"></span>\n';			
+				}
 			}else{
-				html += '				<a href="javascript:void();" id="btn_pdBestReview_pop" onclick="cfGoodsReviewDetail(\''+item.goodsCd+'\',\'N\', \'N\',\''+item.reviewSq+'\');">\n';
+				html += '								<span class="thumb" style="background-image: url('+ _uploadGoodsUrl+'/'+item.sysImgNm +');"></span>\n';	
 			}
 			
-		}
-		
-		html += '					<div class="pic">\n';
-		if(item.reviewSysImg!= null){
-			if (item.fileGb == 'M') { 
-				html += '								<span class="thumb mov" style="background-image: url('+ _uploadImageUrl+item.reviewSysImg +');"></span>\n';	
-			}else{
-				html += '								<span class="thumb" style="background-image: url('+ _uploadImageUrl +item.reviewSysImg +');"></span>\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';	
 			}
-		}else{
-			html += '								<span class="thumb" style="background-image: url('+ _uploadGoodsUrl+'/'+item.sysImgNm +');"></span>\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>\n';
-		html += '                  </div>\n';
-		html += '                  <div class="info_writer">\n';
-		html += '                      <span class="wr_id">'+item.maskingCustId+'</span>\n';
-		html += '                      <span class="wr_date">'+item.regDt+'</span>\n';
-		html += '                  </div>\n';
-		html += '              </a>\n';
-		html += '          </div>\n';
-		html += '          <div class="review_item">\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="'+ _uploadGoodsUrl +'/'+item.sysImgNm +'">\n';
-		html += '                          </div>\n';
-		html += '                          <div class="itemName">'+item.goodsNm+'</div>\n';
-		html += '                          <p class="itemPrice">'+item.currPrice.addComma()+'</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>\n';
-
-	$("#G082_10").append(html);
+			html += '                  </div>\n';
+			html += '                  <div class="txt_best_review">\n';
+			html += '                      <p>'+item.reviewContent+'</p>\n';
+			html += '                  </div>\n';
+			html += '                  <div class="info_writer">\n';
+			html += '                      <span class="wr_id">'+item.maskingCustId+'</span>\n';
+			html += '                      <span class="wr_date">'+item.regDt+'</span>\n';
+			html += '                  </div>\n';
+			html += '              </a>\n';
+			html += '          </div>\n';
+			html += '          <div class="review_item">\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="'+ _uploadGoodsUrl +'/'+item.sysImgNm +'">\n';
+			html += '                          </div>\n';
+			html += '                          <div class="itemName">'+item.goodsNm+'</div>\n';
+			html += '                          <p class="itemPrice">'+item.currPrice.addComma()+'</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>\n';
 
-	
+		$("#G082_10").append(html);
+	}
 }
 
 if(image.length>0){
@@ -739,94 +739,95 @@ if(template.length>0){
 	}
 }
 
-if(coupon.length>0 || (couponContent[0].title != '' && couponContent[0].title != null) || (couponContent[0].cpnNote0 != '' && couponContent[0].cpnNote0 != null)){
-	$("#G082_20").show();
-	var html = '';
-	 
-	html += '<div class="cont_head">\n';
-	html += '	<div>\n';
-	html += '		<h4>'+couponContent[0].title+'</h4>\n';
-	html += '	</div>\n';
-	html += '</div>\n';
-	html += '<div class="cont_body">\n';
-	html += '	<div class="coupon_list">\n';
-	html += '		<ul>\n';
-	$.each(coupon, function(idx, item) {
-		html += '			<li>\n';
-		html += '				<div class="coupon">\n';
-		html += '					<div>\n';
-		html += '						<p class="cp_name">'+item.cpnNm+'</p>\n';
-		html += '						<p class="cp_cont">\n';
-		html += '							<span><em>'+item.dcVal.addComma()+'</em>'+item.dcWay+'</span>\n';
-		html += '						</p>\n';
-		html += '						<p class="cp_condition">'+item.useCondition;
-		html += '								<span>'+item.issueCondition+'</span>\n';	
-		html += '						</p>\n';
-		html += '					</div>\n';
-		if (item.couponStat == '쿠폰받기') {
-			html += '					<button type="button" id="coupon_'+item.cpnId+'" class="btn btn_dark btn_block btn_coupon_down" onclick="fnPlanCouponDown('+item.cpnId+')">\n'; 
-			html += '						<span>쿠폰받기</span>\n';								
-			html += '					</button>\n';			
-		}else{
-			html += '					<button type="button"';
-			html += '						class="btn btn_dark btn_block btn_coupon_done" disabled>\n';  
-			html += '						<span>받기완료</span>\n';								
-			html += '					</button>\n';			
+if(template.length>0){
+	if(coupon.length>0 || (couponContent[0].title != '' && couponContent[0].title != null) || (couponContent[0].cpnNote0 != '' && couponContent[0].cpnNote0 != null)){
+		$("#G082_20").show();
+		var html = '';
+		 
+		html += '<div class="cont_head">\n';
+		html += '	<div>\n';
+		html += '		<h4>'+couponContent[0].title+'</h4>\n';
+		html += '	</div>\n';
+		html += '</div>\n';
+		html += '<div class="cont_body">\n';
+		html += '	<div class="coupon_list">\n';
+		html += '		<ul>\n';
+		$.each(coupon, function(idx, item) {
+			html += '			<li>\n';
+			html += '				<div class="coupon">\n';
+			html += '					<div>\n';
+			html += '						<p class="cp_name">'+item.cpnNm+'</p>\n';
+			html += '						<p class="cp_cont">\n';
+			html += '							<span><em>'+item.dcVal.addComma()+'</em>'+item.dcWay+'</span>\n';
+			html += '						</p>\n';
+			html += '						<p class="cp_condition">'+item.useCondition;
+			html += '								<span>'+item.issueCondition+'</span>\n';	
+			html += '						</p>\n';
+			html += '					</div>\n';
+			if (item.couponStat == '쿠폰받기') {
+				html += '					<button type="button" id="coupon_'+item.cpnId+'" class="btn btn_dark btn_block btn_coupon_down" onclick="fnPlanCouponDown('+item.cpnId+')">\n'; 
+				html += '						<span>쿠폰받기</span>\n';								
+				html += '					</button>\n';			
+			}else{
+				html += '					<button type="button"';
+				html += '						class="btn btn_dark btn_block btn_coupon_done" disabled>\n';  
+				html += '						<span>받기완료</span>\n';								
+				html += '					</button>\n';			
+			}
+			html += '				</div>\n';
+			html += '				<button type="button" class="btn_underline"	id="btn_couponInfo_pop" onclick="usePlanInfoCoupon('+item.cpnId+')">\n';
+			html += '					<span>사용안내</span>\n';
+			html += '				</button>\n';
+			html += '			</li>\n';
+		});
+		html += '		</ul>\n';
+		html += '	</div>\n';
+		html += '</div>\n';
+		if(couponContent[0].cpnNote0 != null && couponContent[0].cpnNote0 != ''){
+			html += '<div class="content dp_announce line">\n                                                 ';
+			html += '    <div class="cont_head">\n                                                       ';
+			html += '        <div>\n                                                                     ';
+			html += '            <h4>유의사항</h4>\n                                                         ';
+			html += '        </div>\n                                                                    ';
+			html += '    </div>\n                                                                        ';
+			html += '    <div class="cont_body">\n                                                       ';
+			html += '        <div class="announce_txt">\n                                                ';
+			html += '            <div class="note_txt">\n                                                ';
+			html += '                <img src="/images/pc/ico_content_find.png" alt="유의사항">\n            ';
+			html += '                <p>유의사항</p>\n                                                       ';
+			html += '            </div>\n                                                                ';
+			html += '            <div class="announce_list">\n                                           ';
+			html += '               <ul>\n';
+			html += '                  <li>' + couponContent[0].cpnNote0 +'</li>\n';
+			if(couponContent[0].cpnNote1 != null && couponContent[0].cpnNote1 != '')
+				html += '                  <li>' + couponContent[0].cpnNote1 +'</li>\n';
+			if(couponContent[0].cpnNote2 != null && couponContent[0].cpnNote2 != '')
+				html += '                  <li>' + couponContent[0].cpnNote2 +'</li>\n';
+			if(couponContent[0].cpnNote3 != null && couponContent[0].cpnNote3 != '')
+				html += '                  <li>' + couponContent[0].cpnNote3 +'</li>\n';	
+			if(couponContent[0].cpnNote4 != null && couponContent[0].cpnNote4 != '')
+				html += '                  <li>' + couponContent[0].cpnNote4 +'</li>\n';
+			if(couponContent[0].cpnNote5 != null && couponContent[0].cpnNote5 != '')
+				html += '                  <li>' + couponContent[0].cpnNote5 +'</li>\n';
+			if(couponContent[0].cpnNote6 != null && couponContent[0].cpnNote6 != '')
+				html += '                  <li>' + couponContent[0].cpnNote6 +'</li>\n';
+			if(couponContent[0].cpnNote7 != null && couponContent[0].cpnNote7 != '')
+				html += '                  <li>' + couponContent[0].cpnNote7 +'</li>\n';
+			if(couponContent[0].cpnNote8 != null && couponContent[0].cpnNote8 != '')
+				html += '                  <li>' + couponContent[0].cpnNote8 +'</li>\n';
+			if(couponContent[0].cpnNote9 != null && couponContent[0].cpnNote9 != '')
+				html += '                  <li>' + couponContent[0].cpnNote9 +'</li>\n';
+			html += '               </ul>\n';
+			html += '            </div>                                                                '; 
+			html += '        </div>                                                                    '; 
+			html += '    </div>                                                                        '; 
+			html += '</div>                                                                            ';
 		}
-		html += '				</div>\n';
-		html += '				<button type="button" class="btn_underline"	id="btn_couponInfo_pop" onclick="usePlanInfoCoupon('+item.cpnId+')">\n';
-		html += '					<span>사용안내</span>\n';
-		html += '				</button>\n';
-		html += '			</li>\n';
-	});
-	html += '		</ul>\n';
-	html += '	</div>\n';
-	html += '</div>\n';
-	if(couponContent[0].cpnNote0 != null && couponContent[0].cpnNote0 != ''){
-		html += '<div class="content dp_announce line">\n                                                 ';
-		html += '    <div class="cont_head">\n                                                       ';
-		html += '        <div>\n                                                                     ';
-		html += '            <h4>유의사항</h4>\n                                                         ';
-		html += '        </div>\n                                                                    ';
-		html += '    </div>\n                                                                        ';
-		html += '    <div class="cont_body">\n                                                       ';
-		html += '        <div class="announce_txt">\n                                                ';
-		html += '            <div class="note_txt">\n                                                ';
-		html += '                <img src="/images/pc/ico_content_find.png" alt="유의사항">\n            ';
-		html += '                <p>유의사항</p>\n                                                       ';
-		html += '            </div>\n                                                                ';
-		html += '            <div class="announce_list">\n                                           ';
-		html += '               <ul>\n';
-		html += '                  <li>' + couponContent[0].cpnNote0 +'</li>\n';
-		if(couponContent[0].cpnNote1 != null && couponContent[0].cpnNote1 != '')
-			html += '                  <li>' + couponContent[0].cpnNote1 +'</li>\n';
-		if(couponContent[0].cpnNote2 != null && couponContent[0].cpnNote2 != '')
-			html += '                  <li>' + couponContent[0].cpnNote2 +'</li>\n';
-		if(couponContent[0].cpnNote3 != null && couponContent[0].cpnNote3 != '')
-			html += '                  <li>' + couponContent[0].cpnNote3 +'</li>\n';	
-		if(couponContent[0].cpnNote4 != null && couponContent[0].cpnNote4 != '')
-			html += '                  <li>' + couponContent[0].cpnNote4 +'</li>\n';
-		if(couponContent[0].cpnNote5 != null && couponContent[0].cpnNote5 != '')
-			html += '                  <li>' + couponContent[0].cpnNote5 +'</li>\n';
-		if(couponContent[0].cpnNote6 != null && couponContent[0].cpnNote6 != '')
-			html += '                  <li>' + couponContent[0].cpnNote6 +'</li>\n';
-		if(couponContent[0].cpnNote7 != null && couponContent[0].cpnNote7 != '')
-			html += '                  <li>' + couponContent[0].cpnNote7 +'</li>\n';
-		if(couponContent[0].cpnNote8 != null && couponContent[0].cpnNote8 != '')
-			html += '                  <li>' + couponContent[0].cpnNote8 +'</li>\n';
-		if(couponContent[0].cpnNote9 != null && couponContent[0].cpnNote9 != '')
-			html += '                  <li>' + couponContent[0].cpnNote9 +'</li>\n';
-		html += '               </ul>\n';
-		html += '            </div>                                                                '; 
-		html += '        </div>                                                                    '; 
-		html += '    </div>                                                                        '; 
-		html += '</div>                                                                            ';
+		$("#G082_20").append(html);
 	}
-	
-		
-	$("#G082_20").append(html);
 }
 
+
 //사용안내 모달
 var usePlanInfoCoupon = function (id) {
 	var data = {cpnId : id

+ 11 - 3
src/main/webapp/biz/mypage.js

@@ -72,7 +72,9 @@ var fnGoToGoodsDetail = function(param) {
 	localStorage.setItem('scrollpos', scrollpos);
 	
 	let goodsCd = $(param).attr('goodsCd');
-	cfnGoToPage(_PAGE_GOODS_DETAIL + goodsCd);
+	let colorCd = $(param).attr('optCd1');
+	let ithrCd = $(param).attr('ithrCd');
+	cfnGoToGoodsDetail(goodsCd, colorCd, ithrCd);
 }
 
 // 1:1문의 페이지 이동 처리
@@ -195,9 +197,15 @@ var fnAddCart = function(param){
 // 선물하기 SMS 재전송 버튼 클릭 이벤트
 var fnReSendSms = function(param) {
 	let ordNo = $(param).attr('ordNo');
+	let url = '/mypage/gift/kakao/resend';
+	let data = {};
+	data.ordNo = ordNo;
+	
+	let jsonData = JSON.stringify(data);
 	
-	// TODO
-	// 선물하기 SMS 재발송 처리
+	gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
+		console.log(result);
+	}, true);
 }
 
 // 반품/취소/교환 버튼 클릭 이벤트