Quellcode durchsuchen

Merge remote-tracking branch 'origin/develop' into card007

card007 vor 5 Jahren
Ursprung
Commit
b9f99ec7c3
24 geänderte Dateien mit 559 neuen und 109 gelöschten Zeilen
  1. 11 0
      src/main/java/com/style24/front/biz/dao/TsfCouponDao.java
  2. 8 1
      src/main/java/com/style24/front/biz/dao/TsfPointDao.java
  3. 3 7
      src/main/java/com/style24/front/biz/service/TsfCustomerService.java
  4. 10 1
      src/main/java/com/style24/front/biz/service/TsfPointService.java
  5. 4 5
      src/main/java/com/style24/front/biz/thirdparty/NiceCertify.java
  6. 49 0
      src/main/java/com/style24/front/biz/thirdparty/Yes24Login.java
  7. 31 1
      src/main/java/com/style24/front/biz/web/TsfIndexController.java
  8. 23 0
      src/main/java/com/style24/front/biz/web/TsfMypageController.java
  9. 7 7
      src/main/java/com/style24/persistence/domain/Cate4Srch.java
  10. 0 44
      src/main/java/com/style24/persistence/domain/Coupon.java
  11. 5 5
      src/main/java/com/style24/persistence/domain/Goods.java
  12. 37 0
      src/main/java/com/style24/persistence/domain/Search.java
  13. 19 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfCoupon.xml
  14. 1 1
      src/main/java/com/style24/persistence/mybatis/shop/TsfCustomer.xml
  15. 38 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfPoint.xml
  16. 14 6
      src/main/resources/config/application-locd.yml
  17. BIN
      src/main/webapp/WEB-INF/lib/ConnectionKCP.jar
  18. BIN
      src/main/webapp/WEB-INF/lib/jPpcliE.jar
  19. 16 0
      src/main/webapp/WEB-INF/views/web/cart/cartListAjaxFormWeb.html
  20. 1 1
      src/main/webapp/WEB-INF/views/web/customer/JoinTypeFormWeb.html
  21. 51 10
      src/main/webapp/WEB-INF/views/web/mypage/MypagePointFormWeb.html
  22. 85 5
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html
  23. 106 0
      src/main/webapp/WEB-INF/views/web/pg/kcpOrder.html
  24. 40 15
      src/main/webapp/ux/style24_link.js

+ 11 - 0
src/main/java/com/style24/front/biz/dao/TsfCouponDao.java

@@ -40,4 +40,15 @@ public interface TsfCouponDao {
 	 * @since 2021.02.25
 	 */
 	Collection<Coupon> getCustGradeCouponInfo(Coupon coupon);
+
+
+	/**
+	 * 회원가입 쿠폰
+	 * @param coupon - 쿠폰정보
+	 * @return Coupon
+	 * @author jsshin
+	 * @since 2021. 03. 03
+	 */
+	Coupon getJoinCoupon(Coupon coupon);
+
 }

+ 8 - 1
src/main/java/com/style24/front/biz/dao/TsfPointDao.java

@@ -25,9 +25,16 @@ public interface TsfPointDao {
 	Point getExpectedPointInfo(Point point);
 	Point getExtinctPointInfo(Point point);
 	
-	
+	/**
+	 * 포인트정보 내역조회
+	 *
+	 * @param Point
+	 * @author csh9191
+	 * @since 2021. 03. 03
+	 */	
 	Collection<Point> getAccumulatePointList(Point point);
 	Collection<Point> getUsePointList(Point point);
+	Collection<Point> getAllPointList(Point point);
 	
 	
 

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

@@ -6,15 +6,12 @@ import com.gagaframework.web.security.GagaPasswordEncoder;
 import com.style24.core.biz.service.TscCustomerService;
 import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.session.TscSession;
-import com.style24.core.support.util.CryptoUtils;
 import com.style24.core.support.util.MaskingUtils;
 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.CustSnsInfo;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.Login;
-import com.style24.persistence.domain.Point;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.authority.SimpleGrantedAuthority;
@@ -52,6 +49,9 @@ public class TsfCustomerService {
 	@Autowired
 	private TsfLoginService loginService;
 
+	@Autowired
+	private TsfCouponService couponService;
+
 	@Autowired
 	private ObjectMapper objectMapper;
 
@@ -340,11 +340,7 @@ public class TsfCustomerService {
 	@Transactional("shopTxnManager")
 	public void saveJoinPostProcessing(Customer customer) {
 		// 1. 쿠폰
-		// 어드민 > 회원등급정책 관리 > 신규회원등급으로 설정된 쿠폰
-
 
-		// 2. 포인트
-		// 어드민 > 포인트 정책설정 > 신규회원 등록된 포인트
 
 
 	}

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

@@ -42,7 +42,13 @@ public class TsfPointService {
 		return pointDao.getExtinctPointInfo(point);
 	}
 	
-	
+	/**
+	 * 포인트정보 내역조회
+	 *
+	 * @param Point
+	 * @author csh9191
+	 * @since 2021. 03. 03
+	 */	
 	public Collection<Point> getAccumulatePointList(Point point) {
 		return pointDao.getAccumulatePointList(point);
 	}
@@ -50,5 +56,8 @@ public class TsfPointService {
 	public Collection<Point> getUsePointList(Point point) {
 		return pointDao.getUsePointList(point);
 	}
+	public Collection<Point> getAllPointList(Point point) {
+		return pointDao.getAllPointList(point);
+	}
 
 }

+ 4 - 5
src/main/java/com/style24/front/biz/thirdparty/NiceCertify.java

@@ -5,7 +5,6 @@ import NiceID.Check.CPClient;
 import com.gagaframework.web.parameter.GagaMap;
 import com.gagaframework.web.util.GagaDateUtil;
 import com.gagaframework.web.util.GagaFileUtil;
-import com.style24.core.support.session.TscSession;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Customer;
 import lombok.extern.slf4j.Slf4j;
@@ -68,7 +67,7 @@ public class NiceCertify {
 
 		String sRequestNo = niceCheck.getRequestNO(niceId);
 		log.info("sRequestNo: {}", sRequestNo);
-		TscSession.setAttribute("REQ_SEQ", sRequestNo);
+		TsfSession.setAttribute("REQ_SEQ", sRequestNo);
 
 		String callback = GagaFileUtil.getConcatenationPath(PROTOCOL + TsfSession.getHttpServletRequest().getServerName(), niceCallback);
 		log.info("niceCallback: {}", niceCallback);
@@ -184,7 +183,7 @@ public class NiceCertify {
 		String sMobileCo = (String)result.get("MOBILE_CO");				// 통신사
 
 
-		String sRequestNo = TscSession.getAttribute("REQ_SEQ");	// 세션에 저장된 요청번호
+		String sRequestNo = TsfSession.getAttribute("REQ_SEQ");	// 세션에 저장된 요청번호
 		if (!sRequestNo.equals(sRequestNumber)) {
 			sResponseNumber = "";
 			sAuthType = "";
@@ -235,7 +234,7 @@ public class NiceCertify {
 		String callback = GagaFileUtil.getConcatenationPath( PROTOCOL + TsfSession.getHttpServletRequest().getServerName(), ipinCallback);
 
 		String sCPRequestNo = ipinClinet.getRequestNO(ipinId);
-		TscSession.setAttribute("CPREQUEST", sCPRequestNo);
+		TsfSession.setAttribute("CPREQUEST", sCPRequestNo);
 
 		// 인증요청 암호화 데이터 생성
 		int iRtn = ipinClinet.fnRequest(ipinId, ipinPwd, sCPRequestNo, callback);
@@ -318,7 +317,7 @@ public class NiceCertify {
 		String sAuthInfo = ipinClinet.getAuthInfo();		// 본인확인수단 (0~4: 가이드 참조)
 
 
-		String sCPRequestNo = TscSession.getAttribute("CPREQUEST");
+		String sCPRequestNo = TsfSession.getAttribute("CPREQUEST");
 		if (!sCPRequestNo.equals(sCPRequestNum)) {
 			throw new IllegalStateException("세션값 불일치 오류 입니다.");
 		}

+ 49 - 0
src/main/java/com/style24/front/biz/thirdparty/Yes24Login.java

@@ -0,0 +1,49 @@
+package com.style24.front.biz.thirdparty;
+
+import com.gagaframework.web.util.GagaFileUtil;
+import com.style24.front.support.security.session.TsfSession;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Component;
+import org.springframework.web.client.RestTemplate;
+
+
+/**
+ * Yes24 로그인
+ *
+ * @author jsshin
+ * @since 2021. 03. 03
+ */
+@Component
+@Slf4j
+public class Yes24Login {
+
+	@Autowired
+	private Environment env;
+
+	@Autowired
+	private RestTemplate restTemplate;
+
+	public static final String PROTOCOL = "http://";
+
+	/**
+	 * YES24 로그인 창
+	 * @param state - 콜백 시 해당 값으로 비교 및 모바일을 redirect 값이 있음
+	 * @return String - 호출 url정보
+	 * @author jsshin
+	 * @since 2021. 03. 03
+	 */
+	public String getAuthorizeUrl(String state) {
+		String authorizeUrl = "https://www.yes24.com/Templates/FTLogin.aspx";
+		String callBackUrl = "/signin/snsLoginCallback?snsType=YS";
+		StringBuilder apiUrlBuilder = new StringBuilder();
+		String redirectUri = GagaFileUtil.getConcatenationPath(PROTOCOL + TsfSession.getHttpServletRequest().getServerName(), callBackUrl);
+		apiUrlBuilder.append(authorizeUrl)
+				.append("?PID=101582")
+				.append("&ReturnURL=")
+				.append(redirectUri);
+		log.info("apiUrlBuilder ===> {}", apiUrlBuilder.toString());
+		return apiUrlBuilder.toString();
+	}
+}

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

@@ -17,6 +17,7 @@ import com.style24.core.support.env.TscConstants;
 import com.style24.front.biz.service.TsfCustomerService;
 import com.style24.front.biz.thirdparty.KaKaoLogin;
 import com.style24.front.biz.thirdparty.NaverLogin;
+import com.style24.front.biz.thirdparty.Yes24Login;
 import com.style24.persistence.domain.CustSnsInfo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -61,6 +62,9 @@ public class TsfIndexController extends TsfBaseController {
 	@Autowired
 	private NaverLogin naverLogin;
 
+	@Autowired
+	private Yes24Login yes24Login;
+
 	@Autowired
 	private ObjectMapper objectMapper;
 
@@ -187,7 +191,7 @@ public class TsfIndexController extends TsfBaseController {
 	 *
 	 * @return String
 	 * @author jsshin
-	 * @since 2020. 5. 25
+	 * @since 2021. 02. 23
 	 */
 	@GetMapping("/signin/naverlogin")
 	public String signinNaverLogin(@RequestParam(value = "rememberMe", required = false) String rememberMe
@@ -208,6 +212,32 @@ public class TsfIndexController extends TsfBaseController {
 		return "redirect:" + redirectUrl;
 	}
 
+	/**
+	 * YES24 로그인 페이지 호출
+	 *
+	 * @return String
+	 * @author jsshin
+	 * @since 2021. 02. 23
+	 */
+	@GetMapping("/signin/yes24login")
+	public String signinYes24Login(@RequestParam(value = "rememberMe", required = false) String rememberMe
+			, @RequestParam(value = "requestGb", required = false) String requestGb) {
+
+		if (StringUtils.isNotBlank(rememberMe)) {
+			// RememberMe 세션 저장
+			TsfSession.setAttribute("rememberMe", rememberMe);
+		}
+		// CSRF 방지를 위한 상태 토큰 생성 코드
+		SecureRandom random = new SecureRandom();
+		String state = new BigInteger(130, random).toString(32);
+		state += "!@!" + requestGb;
+		TsfSession.setAttribute("state", state);
+
+		String redirectUrl = yes24Login.getAuthorizeUrl(state);
+
+		return "redirect:" + redirectUrl;
+	}
+
 
 	/**
 	 * SNS 로그인

+ 23 - 0
src/main/java/com/style24/front/biz/web/TsfMypageController.java

@@ -560,6 +560,29 @@ public class TsfMypageController extends TsfBaseController {
 		
 		return result;
 	}
+	
+	/**
+	 * 마이페이지 STYLE24 전체내역
+	 *
+	 * @param param
+	 * @return GagaMap
+	 * @author csh9191
+	 * @since 2021. 03. 02
+	 */
+	@PostMapping("/allpoint/list")
+	@ResponseBody
+	public GagaMap getAllPointList(@RequestBody Point point) {
+		GagaMap result = new GagaMap();
+		
+		int custNo = TsfSession.getInfo().getCustNo();
+		point.setCustNo(custNo);
+		
+		result.set("allPointList",pointService.getAllPointList(point));
+		
+		log.info("result {}", result);
+		
+		return result;
+	}
 
 	/**
 	 * 마이페이지 반품신청 환불금액 계산

+ 7 - 7
src/main/java/com/style24/persistence/domain/Cate4Srch.java

@@ -16,18 +16,18 @@ public class Cate4Srch extends TscBaseDomain {
 
 	private String siteCd;
 	private String cateGb;
-	private int cateNo;
-	private int leafCateNo;
+	private Integer cateNo;
+	private Integer leafCateNo;
 	private String cateType;
-	private int cate1No;
+	private Integer cate1No;
 	private String cate1Nm;
-	private int cate2No;
+	private Integer cate2No;
 	private String cate2Nm;
-	private int cate3No;
+	private Integer cate3No;
 	private String cate3Nm;
-	private int cate4No;
+	private Integer cate4No;
 	private String cate4Nm;
-	private int cate5No;
+	private Integer cate5No;
 	private String cate5Nm;
 	private String fullCateCd;
 	private String fullCateNm;

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

@@ -1,44 +0,0 @@
-package com.style24.persistence.domain;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.style24.persistence.TscBaseDomain;
-
-import lombok.Data;
-
-/**
- * 장바구니
- *
- * @author xodud1202
- * @since 2021.01.22
- */
-@SuppressWarnings("serial")
-@Data
-public class Coupon extends TscBaseDomain {
-	// 쿠폰 정보
-	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
-	private int[] cartSqArr;		// 장바구니 일련번호 배열
-	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
-	private int[] currPrices;		// 상품가격 배열
-	private int cpnId;				// 쿠폰번호
-	private int custNo;				// 회원번호
-	private String custGb;			// 회원구분
-	private String custGrade;		// 회원등급
-	private int availDays;			// 쿠폰 다운로드 후 유효기간일
-	private int rdCpnId;			// 랜덤쿠폰번호
-	private int dcAmt;				// 할인적용금액
-	private int dcVal;				// 할인금액/율
-	private String useYn;			// 쿠폰 사용 여부
-	private String cpnNm;			// 쿠폰명
-	private String rdCpnNm;			// 시리얼쿠폰 키
-	private String usedDt;			// 쿠폰 사용완료 일자
-	private String result;			// 결과
-	private String pdGb;			// 기간/일수 구분 (P : 기간, D : 일수)
-	private String availStdt;		// 쿠폰 유효일
-	private String availEddt;		// 쿠폰 유효일
-	private String endAlimYn;		// 쿠폰 종료 알림 여부
-	private String frontGb;			// 화면 구분
-	private String availYn;			// 지급 받은 쿠폰 사용 가능 유무
-	private String dcWay;			// 할인금액/율 구분
-	private String cpnDesc;			// 쿠폰설명
-	private int downloadCnt;		// 다운로드수
-}

+ 5 - 5
src/main/java/com/style24/persistence/domain/Goods.java

@@ -73,7 +73,7 @@ public class Goods extends TscBaseDomain {
 	private String colorCd;		//색상코드
 	private String colorNM;		//색상코드명
 	private String brandnm;		//브랜드명
-	private int brandGroupNo;	//브랜드그룹번호
+	private Integer brandGroupNo;	//브랜드그룹번호
 	private String brandGroupNm;	//브랜드그룹명
 	private String frontGb;		//프론트구분
 	private String isApp;		//앱구분
@@ -82,7 +82,7 @@ public class Goods extends TscBaseDomain {
 	private String afLinkCd;	//제휴링크코드
 	private String ithrCd;		//위치코드
 	private String contentsLoc;	//컨텐츠위치
-	private int pntRate;		//적립율
+	private float pntRate;		//적립율
 	private String prePntUsableYn;	//적립율즉시사용여부
 	private String niClsfCd;	//고시분류코드
 	private String brandTcateNo;	//브랜드카테1번호
@@ -91,7 +91,7 @@ public class Goods extends TscBaseDomain {
 	private String viewDt;		//미리보기일시
 	private String custGb;		//고객구분
 	private String custGrade;	//고객등급
-	private int custNo;		//고객번호
+	private Integer custNo;		//고객번호
 	private String soldoutGoodsDisplayYn = "N";	//품절노추여부
 	private int pointUnit = 10;	//포인트단위
 	private String goodsNmFull;	//상품타이틀+ 상품명
@@ -102,7 +102,7 @@ public class Goods extends TscBaseDomain {
 	private String wishYn;		//위시리스트여부
 	private String goodsComposeSearchYn;	//구성상품 조회여부
 	private String goodsCdIncludeYn;	//상품코드포함 여부
-	private String socialSq;	//소셜번호
+	private Integer socialSq;	//소셜번호
 //	private String socialTypeNm;	//소셜타입명
 	private String socialType;	//소셜타입
 	private String socialTnm;	//소셜명
@@ -110,7 +110,7 @@ public class Goods extends TscBaseDomain {
 	private String socialEddt;	//소셜종료일
 	private String planDtlSq;	//기획전상세번호
 
-	private int floorUnit; // 절사단위(10:일원단위절사, 100:십원단위절사, 1000:백원단위절사)
+	private int floorUnit; // 절사단위(1:일원단위절사, 10:십원단위절사, 100:백원단위절사)
 
 	private String skuModelNo;		// SKUModelNo(WMS)
 	private String compsGoodsCd;	// 세트 구성품 상품번호

+ 37 - 0
src/main/java/com/style24/persistence/domain/Search.java

@@ -0,0 +1,37 @@
+package com.style24.persistence.domain;
+
+import java.util.Collection;
+
+import com.style24.persistence.TscBaseDomain;
+
+import lombok.Data;
+
+/**
+ * 검색 Domain
+ *
+ * @author gagamel
+ * @since 2021. 3. 2
+ */
+@SuppressWarnings("serial")
+@Data
+public class Search extends TscBaseDomain {
+
+	// 최근검색어 목록
+	private Collection<String> recentlyList;
+
+	// 카테고리 목록
+	private Collection<Cate4Srch> cateList;
+
+	// 브랜드 목록
+	private Collection<Brand> brandList;
+
+	// 상품 목록
+	private Collection<Goods> goodsList;
+
+	@Data
+	public class Brand {
+		private Integer brandGroupNo;
+		private String brandGroupNm;
+	}
+
+}

+ 19 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfCoupon.xml

@@ -113,4 +113,23 @@
 				) Z
 		 WHERE Z.DOWNLOAD_CNT > 0
 	</select>
+
+	<!--회원가입 쿠폰-->
+	<select id="getJoinCoupon" parameterType="Coupon" resultType="Coupon">
+		SELECT CP.CPN_ID
+		     , CP.END_ALIM_YN
+		     , CASE WHEN #{frontGb} = 'P' THEN CP.DC_PVAL
+		            WHEN #{frontGb} = 'M' THEN CP.DC_MVAL
+		            ELSE CP.DC_AVAL                                              END AS DC_VAL
+		     , CASE WHEN CP.PD_GB = 'D' THEN DATE_FORMAT(NOW(), '%Y%M%D%H%I%S')
+		            ELSE DATE_FORMAT(CP.AVAIL_STDT, '%Y%M%D%H%I%S')              END AS AVAIL_STDT
+		     , CASE WHEN CP.PD_GB = 'D' THEN DATE_FORMAT(DATE_ADD(NOW(), INTERVAL CP.AVAIL_DAYS DAY), '%Y%M%D%H%I%S')
+		            ELSE  DATE_FORMAT(CP.AVAIL_EDDT, '%Y%M%D%H%I%S')             END AS AVAIL_EDDT
+		FROM  TB_CUST_GRADE_POLICY CGP
+		INNER JOIN
+		      TB_COUPON CP
+		ON    CGP.GRADE_CPN_ID1 = CP.CPN_ID
+		WHERE CP.SITE_CD = #{siteCd}
+	</select>
+	
 </mapper>

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

@@ -234,7 +234,7 @@
 		     , NOW()                               AS JOIN_DT
 		     , IFNULL(#{foreignerYn}, 'N')         AS FOREIGNER_YN
 		     , #{custStat}                         AS CUST_STAT
-		     , #{passwdChgDt}                      AS PASSWD_CHG_DT
+		     , NOW()                               AS PASSWD_CHG_DT
 		     , 'N'                                 AS TEMP_PASSWD_YN
 		     , NOW()                               AS LOGIN_LDT
 		     , #{ci}                               AS CI

+ 38 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfPoint.xml

@@ -105,4 +105,42 @@
 		GROUP BY CD_NM, PNT_AMT, GOODS_NM, CD,OCCUR_DTL_DESC, TCHP.UPD_DT
 		ORDER BY TCHP.UPD_DT DESC;
 	</select>
+	
+	<!-- 전체내역 조회-->
+	<select id="getAllPointList" parameterType="Point" resultType="Point">
+		/* TsfPoint.getAllPointList */
+		SELECT
+		CASE   TCC.CD_NM
+		WHEN   '포인트사용' THEN '구매 사용'
+		WHEN   '상품평승인취소' THEN '구매 취소'
+		WHEN   '기타' THEN '관리자'
+		WHEN   '포인트소멸' THEN '소멸'
+		WHEN   '예정포인트적립' THEN '상품 구매'
+		WHEN   '상품평승인' THEN '리뷰'
+		WHEN   '온라인이벤트' THEN '이벤트'
+		WHEN   '기타' THEN '관리자'
+		END AS OCCUR_GB ,	
+		CASE   TCC.CD  	
+		WHEN   'G069_10' THEN TG.GOODS_NM
+		WHEN   'G069_12' THEN TG.GOODS_NM 
+		WHEN   'G069_20' THEN TG.GOODS_NM 
+		WHEN   'G069_21' THEN TG.GOODS_NM
+		WHEN   'G069_30' THEN TCHP.OCCUR_DTL_DESC
+		WHEN   'G069_90' THEN TCHP.OCCUR_DTL_DESC
+		WHEN   'G069_99' THEN TCHP.OCCUR_DTL_DESC
+		END AS OCCUR_DTL_DESC
+			 , TCHP.PNT_AMT AS pntAmt
+			 , TCHP.UPD_DT  AS pntUploadDt
+		FROM TB_CUST_POINT_HST TCHP
+		INNER JOIN TB_COMMON_CODE TCC
+		ON TCC.CD = TCHP.OCCUR_GB
+		INNER JOIN TB_ORDER_DETAIL TOD
+		ON TOD.ORD_NO = TCHP.ORD_NO
+		INNER JOIN TB_GOODS TG 
+		ON TG.GOODS_CD = TOD.GOODS_CD 
+		WHERE TCHP.CUST_NO =  #{custNo}
+		AND TCHP.OCCUR_GB IN ('G069_10','G069_12','G069_20','G069_21','G069_30','G069_90','G069_99')
+		GROUP BY CD_NM, PNT_AMT, GOODS_NM, CD,OCCUR_DTL_DESC, TCHP.UPD_DT
+		ORDER BY TCHP.UPD_DT DESC;
+	</select>
 </mapper>

+ 14 - 6
src/main/resources/config/application-locd.yml

@@ -56,9 +56,17 @@ download.path: /WIDE/workspace/files/data
 
 # PG
 pg:
-    nicepay:
-        merchantId: nictest00m
-        merchantKey: 33F49GnCMS1mFYlGXisbUDzVf2ATWCl9k3R++d5hDd3Frmuos/XLx8XhXpe+LDYAbpGKZYSwtlyyLOtS/8aD7A==
-        log.path: /WIDE/workspace/logs/wivis
-        account.cert.url: https://webapi.nicepay.co.kr/api/checkBankAccountAPI.jsp
-        vbank.refund.url: https://webapi.nicepay.co.kr/v2/api/merchant/vbank_refund.jsp
+    kcp:
+        log.dir: D:\\WIDE\\workspace\\webapps\\style24\\STYLE24\\style24.front\\src\\main\\webapp\\logs
+        gw:
+            url: testpaygw.kcp.co.kr
+            port: 8090
+        js.url: https://testpay.kcp.co.kr/plugin/payplus_web.jsp
+        server: false
+        site:
+            cd: T0007
+            key: 4Ho4YsuOZlLXUZUdOxM1Q7X__
+            name: KCP TEST SHOP
+        log.level: 3
+        module.type: 01
+        tx.mode: 0

BIN
src/main/webapp/WEB-INF/lib/ConnectionKCP.jar


BIN
src/main/webapp/WEB-INF/lib/jPpcliE.jar


+ 16 - 0
src/main/webapp/WEB-INF/views/web/cart/cartListAjaxFormWeb.html

@@ -389,6 +389,11 @@
 <div class="modal fade od_pop opt_modify_pop" id="optModifyPop" tabindex="-1" role="dialog" aria-labelledby="optModifyLabel" aria-hidden="true"></div>
 <!-- //옵션변경 팝업 -->
 
+
+<!-- KCP PG TEST -->
+<form name="order_info" method="post" action="pp_cli_hub.jsp" >
+</form>
+
 <script th:inline="javascript">
 	let sumRealPayAmt = [[${order.sumRealPayAmt + order.totDelvFee}]];
 	let totDcAmt = [[${order.totDcAmt}]];
@@ -455,6 +460,17 @@
 		compsList.push(temp);
 
 		cfnAddCart(compsList); */
+
+
+		$.ajax( {
+			type: "POST",
+			url : '/kcp/test',
+			contentType: 'application/json',
+			dataType : 'json',
+			success : function(result) {
+				alert(result.message);
+			}
+		});
 	});
 
 	function notApplyTmtbAreaList() {

+ 1 - 1
src/main/webapp/WEB-INF/views/web/customer/JoinTypeFormWeb.html

@@ -51,7 +51,7 @@
 								</a>
 							</li>
 							<li>
-								<a href="javascript:void(0)">
+								<a href="javascript:void(0)" onclick="cfnLoginYes24();">
 									<i class="ico ico_snslogin yes24"></i>
 									<span>YES24</span>
 								</a>

+ 51 - 10
src/main/webapp/WEB-INF/views/web/mypage/MypagePointFormWeb.html

@@ -64,7 +64,7 @@
 												<tr>
 													<th>사유</th>
 													<th>내용</th>
-													<th>차감</th>
+													<th id="plusMinus"></th>
 													<th>일자</th>
 												</tr>
 											</thead>
@@ -77,17 +77,55 @@
 						</div>
 					</div>
 <script th:inline="javascript">
+
 	// 전체내역 조회
 	$("#fnSetSearchFullHistory").click(function(){
 		// Class제거 추가
 		$("#fnSetSearchCollectHistory").removeClass("on");
 		$("#fnSetSearchUsedHistory").removeClass("on");
 		$("#fnSetSearchFullHistory").addClass("on");
+		$("#plusMinus").text("증감/차감");
+		
+		let data = {};
+		
+		data.searchDt = $('select[name=searchDt]').val();
 		
-		// 적립내역 + 사용내역(sum)으로 표시
+		var jsonData = JSON.stringify(data);
 		
+		$.ajax(
+				{
+					type 	 : "POST",
+					data	 : jsonData,
+					url 	 : '/mypage/allpoint/list',
+					contentType: 'application/json',
+  					dataType : 'json',
+					success  : function(result){
+						fnPointAllListInfo(result);
+					}
+				}
+		)
 	});
 	
+	function fnPointAllListInfo(result) {
+		
+		let allPointList = result.allPointList;
+		
+		let tmtbHtml = "";
+		for(let i=0; i<allPointList.length; i++){
+			let point = allPointList[i];
+			tmtbHtml +='<tr>';
+			tmtbHtml +='<td>'+ point.occurGb + '</td>';
+			tmtbHtml += '<td class="t_l pl40">'+ point.occurDtlDesc + '</td>';
+			if(point.pntAmt > 0){
+				tmtbHtml += '<td class="c_blue">'+ point.pntAmt + '</td>';
+			}else{
+				tmtbHtml += '<td class="c_primary">'+ point.pntAmt + '</td>';
+			}
+			tmtbHtml += '<td>'+ point.pntUploadDt + '</td>';
+			tmtbHtml += '</tr>';
+		}
+		$("#pointAjaxList").html(tmtbHtml);
+	}
 	
 	// 적립내역 조회
 	$("#fnSetSearchCollectHistory").click(function(){
@@ -99,6 +137,7 @@
 		// 적립내역 포인트 블루
 		$("#pntAmt").removeClass("c_primary");
 		$("#pntAmt").addClass("c_blue");
+		$("#plusMinus").text("증감");
 		
 		let data = {};
 		
@@ -137,7 +176,6 @@
 		$("#pointAjaxList").html(tmtbHtml);
 	}
 	
-	
 	// 사용내역 조회
 	$("#fnSetSearchUsedHistory").click(function(){
 		// Class제거 추가
@@ -148,6 +186,7 @@
 		// 사용내역 포인트 블루
 		$("#pntAmt").removeClass("c_blue");
 		$("#pntAmt").addClass("c_primary");
+		$("#plusMinus").text("차감");
 		
 		let data = {};
 		
@@ -172,27 +211,29 @@
 	function fnUsePointListInfo(result) {
 		
 		let usePointList = result.usePointList;
-		
+		console.log(usePointList);
 		let tmtbHtml = "";
 		for(let i=0; i<usePointList.length; i++){
-			let point = usePointList[i];
+			let usePoint = usePointList[i];
 			tmtbHtml +='<tr>';
-			tmtbHtml +='<td>'+ usePointList.occurGb + '</td>';
-			tmtbHtml += '<td class="t_l pl40">'+ usePointList.occurDtlDesc + '</td>';
-			tmtbHtml += '<td class="c_primary">'+  usePointList.pntAmt + '</td>';
-			tmtbHtml += '<td>'+ usePointList.pntUploadDt + '</td>';
+			tmtbHtml +='<td>'+ usePoint.occurGb + '</td>';
+			tmtbHtml += '<td class="t_l pl40">'+ usePoint.occurDtlDesc + '</td>';
+			tmtbHtml += '<td class="c_primary">'+  usePoint.pntAmt + '</td>';
+			tmtbHtml += '<td>'+ usePoint.pntUploadDt + '</td>';
 			tmtbHtml += '</tr>';
 		}
 		$("#pointAjaxList").html(tmtbHtml);
 	}
 
-	
 	$(document).ready(function() {
 		// 마이페이지 LNB 설정
 		fnSetMypageLnbList(5);
 		
 		// 마이페이지 location 설정
 		fnSetMypageLocation('STYLE24 포인트', '_PAGE_MYPAGE_POINT');
+		
+		// 전체내역
+		$("#fnSetSearchFullHistory").trigger('click');
 
 	});
 

+ 85 - 5
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -23,6 +23,62 @@
 <script type="text/javascript" src="/ux/pc/js/slick.min.js"></script>
 <script type="text/javascript" src="/ux/pc/js/jquery-ui.js"></script>
 
+<!-- xodud1202 -->
+	<script type="text/javascript">
+		/****************************************************************/
+		/* m_Completepayment  설명                                      */
+		/****************************************************************/
+		/* 인증완료시 재귀 함수                                         */
+		/* 해당 함수명은 절대 변경하면 안됩니다.                        */
+		/* 해당 함수의 위치는 payplus.js 보다먼저 선언되어여 합니다.    */
+		/* Web 방식의 경우 리턴 값이 form 으로 넘어옴                   */
+		/****************************************************************/
+		function m_Completepayment( FormOrJson, closeEvent )
+		{
+			var frm = document.order_info;
+
+			/********************************************************************/
+			/* FormOrJson은 가맹점 임의 활용 금지                               */
+			/* frm 값에 FormOrJson 값이 설정 됨 frm 값으로 활용 하셔야 됩니다.  */
+			/* FormOrJson 값을 활용 하시려면 기술지원팀으로 문의바랍니다.       */
+			/********************************************************************/
+			GetField( frm, FormOrJson );
+
+
+			if( frm.res_cd.value == "0000" )
+			{
+				alert("결제 승인 요청 전,\n\n반드시 결제창에서 고객님이 결제 인증 완료 후\n\n리턴 받은 ordr_chk 와 업체 측 주문정보를\n\n다시 한번 검증 후 결제 승인 요청하시기 바랍니다."); //업체 연동 시 필수 확인 사항.
+				/*
+					가맹점 리턴값 처리 영역
+				*/
+				frm.submit();
+			} else {
+				alert( "[" + frm.res_cd.value + "] " + frm.res_msg.value );
+				closeEvent();
+			}
+		}
+	</script>
+
+	<script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}"></script>
+
+	<script type="text/javascript">
+		/* 표준웹 실행 */
+		function jsf__pay( form )
+		{
+			try {
+				KCP_Pay_Execute( form );
+			} catch (e) {
+				/* IE 에서 결제 정상종료시 throw로 스크립트 종료 */
+			}
+		}
+	</script>
+
+	<form name="order_info" method="post" action="pp_cli_hub.jsp" >
+
+	</form>
+
+<!-- // xodud1202 -->
+
 <!--  container -->
 <form id="payForm" name="payForm">
 	<input type="hidden" name="delvMemo" th:value="${deliveryAddrInfo.delvMemo}">
@@ -448,12 +504,13 @@
 																								<input type="hidden" name="cpnType" value="delvCpn"/>
 																								<input type="hidden" name="custCpnSq" value="0"/>
 																								<input type="hidden" name="cpnDcAmt" value="0"/>
+																								<input type="hidden" name="delvFeeCd" value="0"/>
 																								
 																								<div class="select" value="0">선택없음</div>
 																								<ul class="list">
 																									<li value="0">선택없음</li>
 																									<th:block th:each="delvCpn, k : ${delvCpnList}">
-																										<li th:value="${delvCpn.custCpnSq}" th:data="${delvCpn.cpnDcAmt}" th:text="${delvCpn.cpnNm}"></li>
+																										<li th:value="${delvCpn.custCpnSq}" th:data="${delvCpn.cpnDcAmt}" th:delvfeecd="${delvCpn.delvFeeCd}" th:text="${delvCpn.cpnNm}"></li>
 																									</th:block>
 																								</ul>
 																							</div>
@@ -914,7 +971,7 @@
 										</div>
 										<div>
 											<dt>다다익선할인금액</dt>
-											<dd><span class="disc_amount" id="tmtbDcSumAmt" th:text="|${#numbers.formatInteger(tmtbDcSumAmt, 1, 'COMMA')}원|"></span></dd>
+											<dd><span class="disc_amount" id="tmtbDcSumAmt" th:text="|-${#numbers.formatInteger(tmtbDcSumAmt, 1, 'COMMA')}원|"></span></dd>
 										</div>
 										<div>
 											<dt>쿠폰할인금액</dt>
@@ -1183,6 +1240,7 @@ $(document).ready( function() {
 	var resCnt 				= [[${resCnt}]];				// 자사 예약 배송건수
 	var delvCnt 			= [[${delvCnt}]];				// 입전 일반 배송건수
 	var shotDelvYn			= [[${shotDelvYn}]];			// 총알배송여부
+	var sumDelvFee			= [[${sumDelvFee}]];			// 배송비합계
 	
 	// 할인관련정보 변수선언
 	var freegiftList		= [[${freegiftList}]];			// 사은품 프로모션 목록
@@ -1382,7 +1440,7 @@ $(document).ready( function() {
 			
 			var cpnCartSq 	= obj.parent().parent().find("input[name='cpnCartSq']").val();
 			
-			// 장바구니시퀀스 체크
+			// 장바구니상품시퀀스 체크
 			$("input[name='cartSq']").each(function(){
 				if (cpnCartSq == $(this).val()) {
 					$(this).parent().find("input[name='goodsCpnSq']").val(obj.prop("value"));		// 상품쿠폰시퀀스
@@ -1478,7 +1536,14 @@ $(document).ready( function() {
 		}
 		// 배송비쿠폰적용
 		else if (cpnType == "delvCpn") {
+			// 적용된 할인금액 text 설정 
+			var dcAmtStr = "- " + parseInt(obj.attr("data")).addComma() + " 원 할인적용";
+			obj.parent().parent().parent().parent().parent().find(".cp_amount").text(dcAmtStr);
 			
+			var cpnCartSq 	= obj.parent().parent().find("input[name='cpnCartSq']").val();
+			
+			obj.parent().parent().find("input[name='cpnDcAmt']").val(obj.attr("data"));
+			obj.parent().parent().find("input[name='delvFeeCd']").val(obj.attr("delvfeecd"));
 		}
 		
 		// select box 쿠폰 적용 (공통적용)
@@ -1522,8 +1587,20 @@ $(document).ready( function() {
 			}
 		});
 		
-		$(".maxdisc_amount").text("(-" + cpnDcSumAmt.addComma() + "원)");
+		// 쿠폰영역
+		$(".maxdisc_amount").text("(-" + cpnDcSumAmt.addComma() + "원)"); // 쿠폰할인금액합계
 		$("#cpnApplyCnt").text(cpnApplyCnt + "장");
+		
+		// 상품목록영역
+		$("#couponDcSumAmt").text("-" + cpnDcSumAmt.addComma() + "원"); // 쿠폰할인금액합계
+		// 배송비할인적용
+		$("input[name='cpnType']").each(function(){
+			if ($(this).val() == "delvCpn") {
+				sumDelvFee = parseInt(sumDelvFee) - parseInt($(this).parent().find("input[name='cpnDcAmt']").val()); 
+				// 최종배송비
+				$("#delvSumAmt").text(sumDelvFee.addComma() + "원");
+			}
+		});
 	};
 	
 	// 쿠폰 선택없음 기능 구현
@@ -1554,7 +1631,10 @@ $(document).ready( function() {
 		}
 		// 배송비쿠폰적용
 		else if (cpnType == "delvCpn") {
-			
+			// 장바구니쿠폰 시퀀스 0, 장바구니할인금액 0
+			$("input[name='cartSq']").each(function(){
+				$(this).parent().find("input[name='delvFeeCd']").val("0");
+			});
 		}
 		
 		obj.parent().parent().find("input[name='custCpnSq']").val("0");

+ 106 - 0
src/main/webapp/WEB-INF/views/web/pg/kcpOrder.html

@@ -0,0 +1,106 @@
+<html lang="ko"
+	  xmlns:th="http://www.thymeleaf.org">
+<script type="text/javascript">
+	/****************************************************************/
+	/* m_Completepayment  설명                                      */
+	/****************************************************************/
+	/* 인증완료시 재귀 함수                                         */
+	/* 해당 함수명은 절대 변경하면 안됩니다.                        */
+	/* 해당 함수의 위치는 payplus.js 보다먼저 선언되어여 합니다.    */
+	/* Web 방식의 경우 리턴 값이 form 으로 넘어옴                   */
+	/****************************************************************/
+	function m_Completepayment( FormOrJson, closeEvent )
+	{
+		var frm = document.order_info;
+
+		/********************************************************************/
+		/* FormOrJson은 가맹점 임의 활용 금지                               */
+		/* frm 값에 FormOrJson 값이 설정 됨 frm 값으로 활용 하셔야 됩니다.  */
+		/* FormOrJson 값을 활용 하시려면 기술지원팀으로 문의바랍니다.       */
+		/********************************************************************/
+		GetField( frm, FormOrJson );
+
+
+		if( frm.res_cd.value == "0000" )
+		{
+			alert("결제 승인 요청 전,\n\n반드시 결제창에서 고객님이 결제 인증 완료 후\n\n리턴 받은 ordr_chk 와 업체 측 주문정보를\n\n다시 한번 검증 후 결제 승인 요청하시기 바랍니다."); //업체 연동 시 필수 확인 사항.
+			/*
+				가맹점 리턴값 처리 영역
+			*/
+
+			frm.submit();
+		}
+		else
+		{
+			alert( "[" + frm.res_cd.value + "] " + frm.res_msg.value );
+
+			closeEvent();
+		}
+	}
+</script>
+
+<script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}"></script>
+
+<script type="text/javascript">
+	/* 표준웹 실행 */
+	function jsf__pay( form )
+	{
+		try
+		{
+			KCP_Pay_Execute( form );
+		}
+		catch (e)
+		{
+			/* IE 에서 결제 정상종료시 throw로 스크립트 종료 */
+		}
+	}
+</script>
+
+<!-- 선택, 상점이름(영문으로 작성권장) -->
+<input type="hidden" name="site_name" th:value="${@environment.getProperty('pg.kcp.site.name')}" />
+<!-- 필수, 상점코드 -->
+<input type="hidden" name="site_cd" th:value="${@environment.getProperty('pg.kcp.site.cd')}" />
+
+<input type="hidden" name="req_tx" value="pay" />				<!-- 필수, 요청의 종류를 구분하는 변수 결제요청페이지의 경우 ‘pay’로 설정 -->
+<input type="hidden" name="ordr_idxx" value="100" />			<!-- 필수, 상점 관리 주문번호 (유니크한 값 설정 권장) -->
+<input type="hidden" name="pay_method" value="100000000000" />	<!-- 필수, 결제수단코드(신용카드 : 100000000000, 계좌이체 : 010000000000, 가상계좌 : 001000000000, 포인트 : 000100000000, 휴대폰 : 000010000000, 상품권 : 000000001000, ARS : 000000000010) -->
+<input type="hidden" name="good_name" value="TEST NAME" />		<!-- 필수, 상품명 -->
+<input type="hidden" name="good_mny" value="2000" />			<!-- 필수, 주문요청금액 (※ 화폐단위가 ‘USD’ 일 경우, Cent까지 설정 ex ) $10.55 일 경우 콤마를 뺀 1055, $100 일 경우 10000로 설정 -->
+<input type="hidden" name="buyr_name" value="LTY" />			<!-- 필수, 주문자 이름 -->
+<input type="hidden" name="buyr_mail" value="test@test.com" />	<!-- 선택, 주문자 이메일 -->
+<input type="hidden" name="buyr_tel1" value="" />				<!-- 선택, 주문자 전화번호 -->
+<input type="hidden" name="buyr_tel2" value="01071114489" />	<!-- 필수, 주문자 휴대폰번호 -->
+<input type="hidden" name="currency" value="WON" />				<!-- 필수, 원화 : WON / 달러 : USD -->
+<input type="hidden" name="shop_user_id" value="xodud1202" />	<!-- 필수, 쇼핑몰회원ID 기관에 따라 RM 조치를 위해 쇼핑몰 관리 ID를 필수로 요청 -->
+
+<input type="hidden" name="quotaopt"        value="12"/>		<!-- 최대 할부 개월 수(0 ~ 18까지 설정 가능) -->
+
+<!--
+      ※ 필 수
+          필수 항목 : 표준웹에서 값을 설정하는 부분으로 반드시 포함되어야 합니다
+          값을 설정하지 마십시오
+-->
+<input type="hidden" name="res_cd"          value=""/>
+<input type="hidden" name="res_msg"         value=""/>
+<input type="hidden" name="enc_info"        value=""/>
+<input type="hidden" name="enc_data"        value=""/>
+<input type="hidden" name="ret_pay_method"  value=""/>
+<input type="hidden" name="tran_cd"         value=""/>
+<input type="hidden" name="use_pay_method"  value=""/>
+
+<!-- 주문정보 검증 관련 정보 : 표준웹 에서 설정하는 정보입니다 -->
+<input type="hidden" name="ordr_chk"        value=""/>
+
+<!--  현금영수증 관련 정보 : 표준웹 에서 설정하는 정보입니다 -->
+<input type="hidden" name="cash_yn"         value=""/>
+<input type="hidden" name="cash_tr_code"    value=""/>
+<input type="hidden" name="cash_id_info"    value=""/>
+
+<!-- 2012년 8월 18일 전자상거래법 개정 관련 설정 부분 -->
+<!-- 제공 기간 설정 0:일회성 1:기간설정(ex 1:2012010120120131)  -->
+<input type="hidden" name="good_expr" value="0">
+
+<!-- 표준웹 설정 정보입니다(변경 불가) -->
+<input type="hidden" name="module_type" th:value="${@environment.getProperty('pg.kcp.module.type')}" />
+
+</html>

+ 40 - 15
src/main/webapp/ux/style24_link.js

@@ -216,15 +216,15 @@ function cfnAddCart(cartList) {
  * @author : jsshin
  */
 var cfnLoginNaver = function (requestGb, chkRememberMe) {
-	var actionUrl = _frontUrl + '/signin/naverlogin?rememberMe=' + chkRememberMe;
-	var popupHeight = 800;
-	var popupWidth = 600;
-	var popupX = (window.screen.width / 2) - (popupWidth / 2);
-	var popupY = (window.screen.height / 3) - (popupHeight / 3);
+	let actionUrl = _frontUrl + '/signin/naverlogin?rememberMe=' + chkRememberMe;
+	let popupHeight = 800;
+	let popupWidth = 600;
+	let popupX = (window.screen.width / 2) - (popupWidth / 2);
+	let popupY = (window.screen.height / 3) - (popupHeight / 3);
 	if ('P' === _frontGb) {
-		window.open(actionUrl, 'naverLogin', 'top=' + popupY + ',left=' + popupX + ',height=' + popupHeight + ',width=' + popupWidth + ', fullscreen=no,menubar=no,status=no,toolbar=no,titlebar=yes,location=no,scrollbars=yes', '');
+		//window.open(actionUrl, 'naverLogin', 'top=' + popupY + ',left=' + popupX + ',height=' + popupHeight + ',width=' + popupWidth + ', fullscreen=no,menubar=no,status=no,toolbar=no,titlebar=yes,location=no,scrollbars=yes', '');
 	} else {
-		document.location.href = actionUrl + '&requestGb=' + requestGb;
+		//document.location.href = actionUrl + '&requestGb=' + requestGb;
 	}
 };
 
@@ -242,15 +242,41 @@ var cfnLoginNaver = function (requestGb, chkRememberMe) {
  * @author : jsshin
  */
 var cfnLoginKakao = function (requestGb, chkRememberMe) {
-	var actionUrl = _frontUrl + '/signin/kakologin?rememberMe=' + chkRememberMe;
-	var popupWidth = 450;
-	var popupHeight = 700;
-	var popupX = (window.screen.width / 2) - (popupWidth / 2);
-	var popupY = (window.screen.height / 3) - (popupHeight / 3);
+	let actionUrl = _frontUrl + '/signin/kakologin?rememberMe=' + chkRememberMe;
+	let popupWidth = 450;
+	let popupHeight = 700;
+	let popupX = (window.screen.width / 2) - (popupWidth / 2);
+	let popupY = (window.screen.height / 3) - (popupHeight / 3);
 	if ('P' === _frontGb) {
-		window.open(actionUrl, 'kakaoLogin', 'top=' + popupY + ',left=' + popupX + ',height=' + popupHeight + ',width=' + popupWidth + ', fullscreen=no,menubar=no,status=no,toolbar=no,titlebar=yes,location=no,scrollbars=yes', '');
+		//window.open(actionUrl, 'kakaoLogin', 'top=' + popupY + ',left=' + popupX + ',height=' + popupHeight + ',width=' + popupWidth + ', fullscreen=no,menubar=no,status=no,toolbar=no,titlebar=yes,location=no,scrollbars=yes', '');
 	} else {
-		document.location.href = actionUrl + '&requestGb=' + requestGb;
+		//document.location.href = actionUrl + '&requestGb=' + requestGb;
+	}
+};
+
+/**
+ * @type   : function
+ * @access : public
+ * @desc   : Yes24 로그인
+ * <pre>
+ *     cfnLoginYes24();
+ *     호출된 페이지에서
+ *     PC: fnSnsSigninCallback(userInfo) 콜백 함수 생성 후 가지고 호출 처리
+ *     MO :
+ * </pre>
+ * @since  : 2021/02/23
+ * @author : jsshin
+ */
+var cfnLoginYes24 = function (requestGb, chkRememberMe) {
+	let actionUrl = _frontUrl + '/signin/yes24login?rememberMe=' + chkRememberMe;
+	let popupWidth = 484;
+	let popupHeight = 390;
+	let popupX = (window.screen.width / 2) - (popupWidth / 2);
+	let popupY = (window.screen.height / 3) - (popupHeight / 3);
+	if ('P' === _frontGb) {
+		//window.open(actionUrl, 'yes24Login', 'top=' + popupY + ',left=' + popupX + ',height=' + popupHeight + ',width=' + popupWidth + ', fullscreen=no,menubar=no,status=no,toolbar=no,titlebar=yes,location=no,scrollbars=yes', '');
+	} else {
+		//document.location.href = actionUrl + '&requestGb=' + requestGb;
 	}
 };
 
@@ -274,4 +300,3 @@ var cfnGoToGoodsDetail = function (goodsCd, ithrCd, contentsLoc, planDtlSq) {
 	if (typeof (planDtlSq) != 'undefined') params += "&planDtlSq=" + planDtlSq;
 	cfnGoToPage(_PAGE_GOODS_DETAIL + params);
 }
-