jsshin преди 5 години
родител
ревизия
9cb02053b1

+ 9 - 8
src/main/java/com/style24/front/biz/service/TsfCustomerService.java

@@ -286,8 +286,9 @@ public class TsfCustomerService {
 	 */
 	public boolean saveJoinCustomerSns (Customer customer) {
 		boolean isJoin = true;
+		String snsId = customer.getSnsType().equals(TscConstants.SnsType.YES24.value()) ? customer.getMemNo() : customer.getSnsId();
 		customer.setEncodedPasswd(" ");
-		customer.setCustId(customer.getSnsType()+"_"+customer.getSnsId());
+		customer.setCustId(customer.getSnsType()+"_"+snsId);
 		customer.encryptData();
 
 		customer.setSiteCd(TscConstants.Site.STYLE24.value());
@@ -520,7 +521,7 @@ public class TsfCustomerService {
 	 * @author jsshin
 	 * @since 2021. 02. 26
 	 */
-	Customer getCusomterSnsFind(CustSnsInfo custSnsInfo) {
+	public Customer getCusomterSnsFind(CustSnsInfo custSnsInfo) {
 		return customerDao.getCusomterSnsFind(custSnsInfo);
 	}
 
@@ -532,7 +533,7 @@ public class TsfCustomerService {
 	 * @author jsshin
 	 * @since 2021. 03. 02
 	 */
-	String getMaxCustIdById(String custId) {
+	public String getMaxCustIdById(String custId) {
 		Customer customer = new Customer();
 		customer.setSiteCd(TscConstants.Site.STYLE24.value());
 		customer.setCustId(custId);
@@ -550,7 +551,7 @@ public class TsfCustomerService {
 	 * @author jsshin
 	 * @since 2021. 03. 02
 	 */
-	String getMaxCustIdByEmail(String email) {
+	public String getMaxCustIdByEmail(String email) {
 		Customer customer = new Customer();
 		customer.setSiteCd(TscConstants.Site.STYLE24.value());
 		customer.setEmail(email);
@@ -569,7 +570,7 @@ public class TsfCustomerService {
 	 * @author jsshin
 	 * @since 2021. 03. 02
 	 */
-	String getMaxCustIdByCellPhnno(String cellPhnno) {
+	public String getMaxCustIdByCellPhnno(String cellPhnno) {
 		Customer customer = new Customer();
 		customer.setSiteCd(TscConstants.Site.STYLE24.value());
 		customer.setCellPhnno(cellPhnno);
@@ -589,7 +590,7 @@ public class TsfCustomerService {
 	 * @author jsshin
 	 * @since 2021. 03. 02
 	 */
-	String getMaxCustIdByCi(String ci) {
+	public String getMaxCustIdByCi(String ci) {
 		Customer customer = new Customer();
 		customer.setSiteCd(TscConstants.Site.STYLE24.value());
 		customer.setCi(ci);
@@ -742,6 +743,7 @@ public class TsfCustomerService {
 
 	/**
 	 * 비밀번호 맞는지 확인
+	 *
 	 * @param customer - 고객정보
 	 * @return boolean
 	 * @author jsshin
@@ -762,6 +764,7 @@ public class TsfCustomerService {
 
 	/**
 	 * 본인인증을 통한 이름, 휴대전화번호 수정
+	 *
 	 * @param customer - 고객정보
 	 * @return GagaMap
 	 * @author jsshin
@@ -883,8 +886,6 @@ public class TsfCustomerService {
 	 * @since 2021. 03. 24
 	 */
 	public GagaMap saveCustomerSecede(Customer customer) {
-		GagaMap result = new GagaMap();
-
 		return coreCustomerService.saveCustomerSecede(customer);
 	}
 

+ 145 - 12
src/main/java/com/style24/front/biz/thirdparty/Yes24Login.java

@@ -5,8 +5,10 @@ import com.gagaframework.web.util.GagaFileUtil;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 import com.google.gson.JsonObject;
+import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.util.CryptoUtils;
 import com.style24.front.support.security.session.TsfSession;
+import com.style24.persistence.domain.CustSnsInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,8 +21,14 @@ import org.springframework.stereotype.Component;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestTemplate;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
 
 import javax.annotation.PostConstruct;
+import javax.xml.parsers.DocumentBuilderFactory;
+import java.io.StringReader;
 import java.net.URI;
 
 
@@ -94,7 +102,8 @@ public class Yes24Login {
 	}
 
 	/**
-	 * YES24 정보
+	 * YES24 고객 정보
+	 *
 	 * @param inpin - yes24 전달 해준 암호화된 : "요청날짜|CI"
 	 * @return String - 호출 url정보
 	 * @author jsshin
@@ -102,15 +111,12 @@ public class Yes24Login {
 	 */
 	public GagaMap getUserInfo(String inpin) {
 		GagaMap result = new GagaMap();
+
 		// 1. ipin 복호화
 		String decryptIpin = CryptoUtils.decryptAES(inpin);
-		log.info("decryptIpin {}", decryptIpin);
 
 		// 2. ipin 값에서 ci 값 분리
 		String decryptIpinValues[] = decryptIpin.split("\\|");
-		log.info("decryptIpinValues.length {}", decryptIpinValues.length);
-		log.info("decryptIpinValues0 {}", decryptIpinValues[0]);
-		log.info("decryptIpinValues1 {}", decryptIpinValues[1]);
 
 		// 3. Ci 다시 암호화
 		String encryptCi = CryptoUtils.encryptAES(decryptIpinValues[1]);
@@ -121,26 +127,153 @@ public class Yes24Login {
 
 			// Header
 			HttpHeaders headers = new HttpHeaders();
-			headers.set("Host", "wsyes24.yes24.com");
-			headers.set("Content-Type", "application/x-www-form-urlencoded");
-			headers.set("Content-Length", "length");
+			headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
 
 			HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(params, headers);
 			URI url = URI.create(userInfoUrl);
 
 			// POST방식으로 호출
 			ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, request, String.class);
-			log.info("getAccessTocken responseEntity.getStatusCode(): {} ", responseEntity.getStatusCode());
+			log.info("getUserInfo responseEntity.getStatusCode(): {} ", responseEntity.getStatusCode());
+			String responseEntityBody = responseEntity.getBody();
+			log.info("getUserInfo responseEntity.getBody(): {} ", responseEntityBody);
+
+			// 4. XML 데이터 파싱
+			result = getCustInfoXmlParsing(responseEntityBody);
+		} catch (Exception e) {
+			log.error(e.getMessage());
+		}
+
+		return result;
+	}
+
+	/**
+	 * YES24 고객 정보
+	 *
+	 * @param responseEntityBody - yes24 전달 고객정보 XML
+	 * @return GagaMap - 고객정보
+	 * @author jsshin
+	 * @since 2021. 03. 26
+	 */
+	public GagaMap getCustInfoXmlParsing(String responseEntityBody) throws Exception{
+		InputSource is = new InputSource(new StringReader(responseEntityBody));
+		Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(is);
+		Node node = document.getDocumentElement();
+		NodeList nodeList = node.getChildNodes();
+		GagaMap nodeMap = new GagaMap();
+		for(int i = 0; i < nodeList.getLength(); i++) {
+			Node item = nodeList.item(i);
+			if (!"#text".equals(item.getNodeName())) {
+				nodeMap.setString(item.getNodeName(), item.getTextContent());
+			}
+		}
+		GagaMap resultMap = new GagaMap();
+		String memNo = nodeMap.getString("str_MEM_NO");
+		String snsId = nodeMap.getString("str_MEM_ID");
+		String custNm = nodeMap.getString("str_MEM_NM");
+		String email = nodeMap.getString("str_MEM_EML");
+		String cellphnno = nodeMap.getString("str_ADDR_MOB_NO").replaceAll("-","");
+		String birthYmd = nodeMap.getString("str_BIRTH_DM").replaceAll("-","");
+		String sexGb = nodeMap.getString("str_SEX").equals("M")? TscConstants.Gender.MALE.value() : TscConstants.Gender.FEMALE.value();
+		String ci = nodeMap.getString("str_IPIN_CI");
+		String homeZipcode = nodeMap.getString("str_ADDR_ZIP");
+		String homeBaseAddr = nodeMap.getString("str_ADDR_ADDR1");
+		String homeDtlAddr = nodeMap.getString("str_ADDR_ADDR2");
+
+		resultMap.setString("memNo", memNo);
+		resultMap.setString("snsId", snsId);
+		resultMap.setString("custNm", custNm);
+		resultMap.setString("email", email);
+		resultMap.setString("ci", ci);
+		resultMap.setString("cellPhnno", cellphnno);
+		resultMap.setString("birthYmd", birthYmd);
+		resultMap.setString("sexGb", sexGb);
+		resultMap.setString("homeZipcode", homeZipcode);
+		resultMap.setString("homeBaseAddr", homeBaseAddr);
+		resultMap.setString("homeDtlAddr",homeDtlAddr);
+
+		return resultMap;
+	}
+
+	/**
+	 * YES24 고객 연동처리
+	 *
+	 * @param  custSnsInfo - 고객정보
+	 * @return String - 호출 url정보
+	 * @author jsshin
+	 * @since 2021. 03. 03
+	 */
+	public void saveLink(CustSnsInfo custSnsInfo) {
+		// 1. Ci 다시 암호화
+		String encryptCi = CryptoUtils.encryptAES(custSnsInfo.getCi());
+		String joinGb = TsfSession.getFrontGb().equals("P") ? "P" : "M";
+
+		try {
+			MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
+			params.add("str_ci", encryptCi);
+			params.add("mem_id", custSnsInfo.getSnsId());
+			params.add("partner_id", custSnsInfo.getSnsType()+'_'+custSnsInfo.getMemNo());
+			params.add("join_gb", joinGb);
+			params.add("str_Type", type);
+
+			// Header
+			HttpHeaders headers = new HttpHeaders();
+			headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
 
-			String jsonResult = responseEntity.getBody();
-			log.info("getAccessTocken responseEntity.getBody(): {} ", jsonResult);
+			HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(params, headers);
+			URI url = URI.create(linkUrl);
+
+			// POST방식으로 호출
+			ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, request, String.class);
+			log.info("saveLink responseEntity.getStatusCode(): {} ", responseEntity.getStatusCode());
+			String responseEntityBody = responseEntity.getBody();
+			log.info("saveLink responseEntity.getBody(): {} ", responseEntityBody);
 
 		} catch (Exception e) {
 			log.error(e.getMessage());
 		}
+	}
 
 
-		return result;
+	/**
+	 * YES24 고객 연동해지
+	 *
+	 * @param  custSnsInfo - 고객정보
+	 * @return String - 호출 url정보
+	 * @author jsshin
+	 * @since 2021. 03. 03
+	 */
+	public void saveUnLink(CustSnsInfo custSnsInfo) {
+		String joinGb = TsfSession.getFrontGb().equals("P") ? "P" : "M";
+
+		// 1. Ci 다시 암호화
+		String encryptCi = CryptoUtils.encryptAES(custSnsInfo.getCi());
+
+		try {
+			MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
+			params.add("str_ci", encryptCi);
+			params.add("mem_id", custSnsInfo.getSnsId());
+			params.add("partner_id", custSnsInfo.getSnsType()+'_'+custSnsInfo.getMemNo());
+			params.add("join_gb", joinGb);
+			params.add("str_Type", type);
+
+			// Header
+			HttpHeaders headers = new HttpHeaders();
+			headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+
+			HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(params, headers);
+			URI url = URI.create(unlinkUrl);
+
+			// POST방식으로 호출
+			ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, request, String.class);
+			log.info("getUserInfo responseEntity.getStatusCode(): {} ", responseEntity.getStatusCode());
+			String responseEntityBody = responseEntity.getBody();
+			log.info("getUserInfo responseEntity.getBody(): {} ", responseEntityBody);
+
+
+		} catch (Exception e) {
+			log.error(e.getMessage());
+		}
 	}
 
 

+ 33 - 0
src/main/java/com/style24/front/biz/web/TsfCustomerController.java

@@ -3,8 +3,11 @@ package com.style24.front.biz.web;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
+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;
+import org.springframework.http.HttpRequest;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -56,6 +59,9 @@ public class TsfCustomerController extends TsfBaseController {
 	@Autowired
 	private NiceCertify niceCertify;
 
+	@Autowired
+	private Yes24Login yes24Login;
+
 	/**
 	 * 아이디 찾기 화면
 	 *
@@ -806,4 +812,31 @@ public class TsfCustomerController extends TsfBaseController {
 		return mav;
 	}
 
+	/**
+	 * 정보 이용동의 화면 - 연동 처리
+	 *
+	 * @return ModelAndView
+	 * @author jsshin
+	 * @since 2021. 03. 25
+	 */
+	@PostMapping("/peristalsis/yes24")
+	@ResponseBody
+	public GagaMap peristalsisYes24(HttpSession session, HttpServletRequest request) {
+		CustSnsInfo custSnsInfo = (CustSnsInfo) session.getAttribute("custSnsInfo");
+		session.removeAttribute("custSnsInfo"); // YES24 세션 지움
+
+		// 1. SNS처리
+		GagaMap resultMap = customerService.customerSnsProcessing(custSnsInfo);
+		String custStat = resultMap.getString("custStat");
+		// 2.신규가입 및 연동이면 바로 로그인 처리
+		if ("NEW_CUST".equals(custStat)) {
+			customerService.getLogin(Integer.parseInt(resultMap.getString("custNo")), request);
+		}
+		// 3.YES24 연동처리
+		if ("NEW_CUST".equals(custStat) || "SUCC_CUST".equals(custStat)) {
+			yes24Login.saveLink(custSnsInfo);
+		}
+
+		return resultMap;
+	}
 }

+ 27 - 22
src/main/java/com/style24/front/biz/web/TsfIndexController.java

@@ -12,6 +12,7 @@ import com.style24.front.biz.thirdparty.Yes24Login;
 import com.style24.front.support.controller.TsfBaseController;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.CustSnsInfo;
+import com.style24.persistence.domain.Customer;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -328,34 +329,38 @@ public class TsfIndexController extends TsfBaseController {
 		GagaMap userInfo = new GagaMap();
 
 		if (StringUtils.isNotBlank(ipin)) {
-			yes24Login.getUserInfo(ipin);
+			userInfo = yes24Login.getUserInfo(ipin);
+			userInfo.setString("snsType", TscConstants.SnsType.YES24.value());
+			isSnsLoing = true;
 		}
 
 
 		GagaMap resultMap = new GagaMap();
 
 		// SNS 로그인 성공시 정보 세션 저장
-//		if (isSnsLoing) {
-//			CustSnsInfo custSnsInfo = objectMapper.convertValue(userInfo, CustSnsInfo.class);
-//			log.info("custSnsInfo ==> {}", custSnsInfo.toString());
-//
-//			//SNS 로그인 처리
-//			resultMap = customerService.customerSnsProcessing(custSnsInfo);
-//			resultMap.setString("snsId", custSnsInfo.getSnsId());
-//			resultMap.setString("snsType", custSnsInfo.getSnsType());
-//
-//			String custStat = resultMap.getString("custStat");
-//
-//			// 신규가입 이면 바로 로그인 처리
-//			if ("NEW_CUST".equals(custStat)) {
-//				customerService.getLogin(Integer.parseInt(resultMap.getString("custNo")), request);
-//			}
-//
-//			// 가입 폼으로 이동
-//			if ("EMPTY_PHONE_CUST".equals(custStat)) {
-//				session.setAttribute("custSnsInfo", custSnsInfo);
-//			}
-//		}
+		if (isSnsLoing) {
+			CustSnsInfo custSnsInfo = objectMapper.convertValue(userInfo, CustSnsInfo.class);
+			log.info("custSnsInfo ==> {}", custSnsInfo.toString());
+
+			resultMap.setString("snsId", custSnsInfo.getSnsId());
+			resultMap.setString("snsType", custSnsInfo.getSnsType());
+
+			Customer custInfo = customerService.getCusomterSnsFind(custSnsInfo);
+
+			if (custInfo != null) {
+				resultMap.setString("custStat", "SUCC_CUST");
+			} else {
+				session.setAttribute("custSnsInfo", custSnsInfo);
+				resultMap.setString("custNm", custSnsInfo.getCustNm());
+				resultMap.setString("custStat", "NEED_AGREE_CUST");
+			}
+		}
+
+		// RememberMe 값이 있고 true이면
+		if (StringUtils.isNotBlank(TsfSession.getAttribute("rememberMe")) && Boolean.valueOf(TsfSession.getAttribute("rememberMe"))) {
+			userInfo.setBoolean("rememberMe", true);
+		}
+
 		mav.addObject("resultMap", resultMap);
 		mav.setViewName(super.getDeviceViewName("SnsCallBackForm"));
 

+ 6 - 0
src/main/java/com/style24/persistence/domain/CustSnsInfo.java

@@ -34,5 +34,11 @@ public class CustSnsInfo extends TscBaseDomain {
 	private String sexGb;
 	private Integer custNo;
 
+	// Yes24 데이터
+	private String memNo;
+	private String homeZipcode;
+	private String homeBaseAddr;
+	private String homeDtlAddr;
+
 	private String requestGb;
 }

+ 2 - 2
src/main/resources/config/application.yml

@@ -104,8 +104,8 @@ yes24 :
     login.requestUrl: https://www.yes24.com/Templates/FTLoginPartner.aspx
     login.callbackUrl: /signin/yes24LoginCallback
     userInfoUrl : https://wsyes24.yes24.com/Yes_Mem.asmx/Yes_Mem_Search_By_CI
-    linkUrl : https://wsyes24.yes24.com/Yes_Mem.asmx?op=Yes_Partner_Insert
-    unlinkUrl : https://wsyes24.yes24.com/Yes_Mem.asmx?op=Yes_Partner_Remove
+    linkUrl : https://wsyes24.yes24.com/Yes_Mem.asmx/Yes_Partner_Insert
+    unlinkUrl : https://wsyes24.yes24.com/Yes_Mem.asmx/Yes_Partner_Remove
 
 
 # SPEEDY Image Upload

+ 4 - 0
src/main/webapp/WEB-INF/views/web/SigninFormWeb.html

@@ -276,6 +276,10 @@
 			cfnGoToPage(_PAGE_CUSTOMER_JOIN_COMPLETE);
 		}
 
+		if (userInfo.custStat === 'NEED_AGREE_CUST'){
+			cfnConsentUseInfo(userInfo.custNm);
+		}
+
 
 		if (userInfo.custStat === 'SUCC_CUST') {
 			let params = {};

+ 0 - 45
src/main/webapp/WEB-INF/views/web/Yes24CallBackFormWeb.html

@@ -1,45 +0,0 @@
-<!DOCTYPE html>
-<html lang="ko"
-	xmlns:th="http://www.thymeleaf.org">
-<!--
- *******************************************************************************
- * @source  : Yes24CallBackFormWeb.html
- * @desc    : Yes24 동의화면 Page
- *============================================================================
- * STYLE24
- * Copyright(C) 2020 TSIT, All rights reserved.
- *============================================================================
- * VER  DATE         AUTHOR      DESCRIPTION
- * ===  ===========  ==========  =============================================
- * 1.0  2021.02.15   gagamel     최초 작성
- *******************************************************************************
- -->
-<head th:replace="~{web/common/fragments/HeadWeb :: head}"></head>
-<th:block th:replace="~{web/common/fragments/VariablesWeb :: variables}"></th:block>
-<th:block th:replace="~{web/common/fragments/ScriptsWeb :: scripts}"></th:block>
-<body>
-
-
-<script th:inline="javascript">
-/*<![CDATA[*/
-
-	// const resultMap = [[${resultMap}]];
-	// if (gagajf.isNull(resultMap.snsId) && gagajf.isNull(resultMap.snsType)){
-	// 	mcxDialog.alertC("인증에 실패하였습니다.<br> 로그인 정보를 확인해주시기 바랍니다.", {
-	// 		sureBtnText: "확인",
-	// 		sureBtnClick: function() {
-	// 			self.close();
-	// 		}
-	// 	});
-	// } else {
-	// 	opener.fnSnsSigninCallback(resultMap);
-	// 	self.close();
-	// }
-
-
-/*]]>*/
-</script>
-
-
-</body>
-</html>

+ 66 - 0
src/main/webapp/WEB-INF/views/web/customer/ConsentUseInfoFormWeb.html

@@ -52,7 +52,73 @@
 <script th:inline="javascript">
 	/*<![CDATA[*/
 	$('#btnAgree').on('click', function () {
+		let jsonData = JSON.stringify({});
+		gagajf.ajaxJsonSubmit('/customer/peristalsis/yes24', jsonData, fnPeristalsisCallback)
+	});
+
+	var fnPeristalsisCallback = function (userInfo) {
+		if (userInfo.custStat === 'DUP_PHONE_CUST') {
+			mcxDialog.alert("이미 사용 중인 휴대전화번호 입니다.");
+			return;
+		}
+		if (userInfo.custStat === 'DUP_EMAIL_CUST') {
+			mcxDialog.alert("이미 사용 중인 이메일 입니다.");
+			return;
+		}
+		if (userInfo.custStat === 'EMPTY_PHONE_CUST') {
+			cfnGoToPage(_PAGE_CUSTOMER_SNS_JOIN);
+			$.modal.close();
+		}
+		// Ci이 조회 시 있음
+		if (userInfo.custStat === 'SECEDE_CUST') {
+			mcxDialog.alert("탈퇴 회원 입니다.");
+			return;
+		}
+		if (userInfo.custStat === 'DORMANT_CUST') {
+			cfnGoToPage(_PAGE_CUSTOMER_DORMANT);
+			$.modal.close();
+		}
+		if (userInfo.custStat === 'FAIL_CUST') {
+			mcxDialog.alert("회원가입에 실패 했습니다.<br> 고객센터에 문의 하시기 바랍니다.");
+			return;
+		}
+		if (userInfo.custStat === 'NEW_CUST') {
+			cfnGoToPage(_PAGE_CUSTOMER_JOIN_COMPLETE);
+			$.modal.close();
+		}
+
+		if (userInfo.custStat === 'SUCC_CUST') {
+			cfnGoToPage(_PAGE_MAIN);
+			$.modal.close();
+		}
+		if (userInfo.custStat === 'SUCC_CUST') {
+			let params = {};
+			params.snsType = userInfo.snsType;
+			params.snsId = [[${snsLoginPrefix}]] + userInfo.snsId;
+			$.post(_frontUrl + '/login'
+				, $.param(params)
+				, function(result) {
+					fnReloadAfterLogin(result);
+				}
+				, "json");
+		}
+	}
+	var fnReloadAfterLogin = function(result) {
+		if (result.status === 'OK') {
+			document.location.href = result.returnUrl;
+		} else if (result.status === 'EMAIL_DUP') {
+
+		} else if(result.status === 'DORMANT_CUST') {
+			cfnGoToPage(_PAGE_CUSTOMER_DORMANT);
+		} else if(result.status === 'SECEDE_CUST') {
+
+		}
+		$.modal.close();
+	};
 
+	$("#btnClose").click(function() {
+		cfnGoToPage(_PAGE_CUSTOMER_JOIN);
+		$.modal.close();
 	});
 
 	/*]]>*/