diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 9f2e7d1..e795f31 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -9,11 +9,15 @@ - + + + + + - - + + @@ -230,7 +234,9 @@ - + + + 1645354476031 @@ -519,7 +525,14 @@ 1650706673085 - + + 1650709918086 + + + + 1650709918086 + + @@ -539,7 +552,6 @@ - @@ -564,6 +576,7 @@ - + + \ No newline at end of file diff --git a/src/main/java/com/backoffice/m/login/M_LoginBO.java b/src/main/java/com/backoffice/m/login/M_LoginBO.java index e0c3cd5..9283ce9 100644 --- a/src/main/java/com/backoffice/m/login/M_LoginBO.java +++ b/src/main/java/com/backoffice/m/login/M_LoginBO.java @@ -17,6 +17,7 @@ public interface M_LoginBO { public abstract DataMap select_member(DataMap paramMap) throws Exception; public abstract int select_member_check_pw(DataMap paramMap) throws Exception; + public abstract int select_member_check_nickname(DataMap paramMap) throws Exception; int update_member_with_pwd(DataMap paramMap) throws Exception; int update_member(DataMap paramMap) throws Exception; diff --git a/src/main/java/com/backoffice/m/login/M_LoginBOImpl.java b/src/main/java/com/backoffice/m/login/M_LoginBOImpl.java index cd17adb..b618d1c 100644 --- a/src/main/java/com/backoffice/m/login/M_LoginBOImpl.java +++ b/src/main/java/com/backoffice/m/login/M_LoginBOImpl.java @@ -98,6 +98,18 @@ public class M_LoginBOImpl extends AbstractBOManager implements M_LoginBO { return result; } + public int select_member_check_nickname(DataMap paramMap) throws Exception{ + int result = 0; + + try { + generalDAO.setNamespace(SQLMAP_NAMESPACE); + result = generalDAO.select_item_to_number("select_member_check_nickname", paramMap); + } catch (SQLException e) { + throw e; + } + + return result; + } @Override public int update_member_with_pwd(DataMap paramMap) throws Exception{ diff --git a/src/main/java/com/backoffice/m/login/M_LoginController.java b/src/main/java/com/backoffice/m/login/M_LoginController.java index 4a2e779..e43e5fe 100644 --- a/src/main/java/com/backoffice/m/login/M_LoginController.java +++ b/src/main/java/com/backoffice/m/login/M_LoginController.java @@ -113,9 +113,23 @@ public class M_LoginController extends AbstractControllerManager{ */ @RequestMapping(value="view_join_member_01_confirm") public String view_join_member_01_confirm(@ModelAttribute("model") ModelMap model, HttpServletRequest request){ - DataMap paramMap = gmUtil.getDataMapFromRequest(request); + DataMap paramMap = gmUtil.getDataMapFromRequest(request); //페이지의 파라미터 값을 얻어옴. - HttpSession session = request.getSession(false); + HttpSession session = request.getSession(false); //현재 세션값을 얻어옴. + DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER); //SNS 가입정보(이름, 이메일, 닉네임 등) 확인 + + //소셜정보가 있다면 paramMap에 소셜가입정보 세팅 + if(rm_mem != null) { + paramMap.put("sns_id", rm_mem.get("sns_id")); + paramMap.put("userEmail", rm_mem.get("userEmail")); + + //소셜정보에 전화번호가 있다면 전화번호값 세팅 + if(!rm_mem.get("phone").equals("")) { + paramMap.put("phone", rm_mem.get("phone")); + } + paramMap.put("social_type", rm_mem.get("social_type")); + } + session.setAttribute(M_Util.SESSION_RM_MEMBER, paramMap); gmUtil.redirectParam(model, paramMap); @@ -590,6 +604,34 @@ public class M_LoginController extends AbstractControllerManager{ return redirect_url; } + /** + * 닉네임 중복 체크 + * @param model + * @param request + * @param response + * @return + */ + @RequestMapping(value="ajax_check_nickname", method=RequestMethod.POST) + @ResponseBody + public HashMap ajax_check_nickname(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response) { + + DataMap paramMap = gmUtil.getDataMapFromRequest(request); + HashMap rm = new HashMap(); + rm.put("RESULT", ConstantResultCode.RESULT_INIT); + + try { + int check_cnt = loginBO.select_member_check_nickname(paramMap); + rm.put("RESULT", ConstantResultCode.RESULT_SUCCESS); + rm.put("check_cnt", check_cnt); + } catch (Exception ex1) { + ex1.printStackTrace(); + rm.put("RESULT", ConstantResultCode.RESULT_EXCEPTION); + } + + return rm; + + } + @RequestMapping(value="nhnLogin_callback") public String nhnLogin_callback(@ModelAttribute("model") ModelMap model, HttpServletRequest request){ return "m/login/nhnLogin_callback"; @@ -657,8 +699,8 @@ public class M_LoginController extends AbstractControllerManager{ DataMap map_json = new DataMap(); ConstantResultCode.putResultCode(map_json, false, ConstantResultCode.RESULT_INIT); // json result code DataMap paramMap = gmUtil.getDataMapFromRequest(request); - String socialType = request.getParameter("socialType"); - String userPhone = ""; +// String socialType = request.getParameter("socialType"); +// String userPhone = ""; try { paramMap = gmUtil.social_connect(request, paramMap); @@ -671,14 +713,18 @@ public class M_LoginController extends AbstractControllerManager{ //소셜아이디로 회원가입이 안되어 있을경우 회원가입페이지로 이동 if(socialMemberMap == null) { +// userPhone = paramMap.getString("phone"); //소셜회원가입정보 - 전화번호 + redirect_url = "/m/login/view_join_member_01"; + //소셜연동결과 전화번호값이 없으면 휴대폰 회원인증 1단계 회원가입페이지 이동 + /* if("".equals(userPhone)) { redirect_url = "/m/login/view_join_member_01"; } else { //전화번호가 있으면 실명인증 없이 2단계 회원가입페이지 이동 redirect_url = "redirect:/m/login/view_join_member_02.do"; } - session.setAttribute(M_Util.SESSION_RM_MEMBER, paramMap); //세션에 소셜에서 받은 회원정보 세팅 - + */ + session.setAttribute(M_Util.SESSION_RM_MEMBER, paramMap); //세션에 소셜에서 받은 회원정보 세팅 } else { String member_id = RenaStringUtil.getData(socialMemberMap, "member_id"); //회원아이디 ConstantResultCode.putResultCode(socialMemberMap, true, ConstantResultCode.RESULT_SUCCESS); // json result code - 결과코드 세팅 @@ -704,7 +750,7 @@ public class M_LoginController extends AbstractControllerManager{ } } else { - redirect_url = "redirect:/m/login/view_join_member.do"; + redirect_url = "redirect:/m/login/view_join_member_01.do"; } } catch (final Exception e) { e.printStackTrace(); diff --git a/src/main/java/com/backoffice/m/util/M_Util.java b/src/main/java/com/backoffice/m/util/M_Util.java index 8b52dcf..e8a5688 100644 --- a/src/main/java/com/backoffice/m/util/M_Util.java +++ b/src/main/java/com/backoffice/m/util/M_Util.java @@ -30,7 +30,6 @@ public class M_Util { private static Log log = LogFactory.getLog(LogAdminLog.class); public static final String SESSION_RM_MEMBER = "rm_member"; - public static final String SESSION_MEMBER_ID = "member_id"; public static final String SESSION_MEMBER_PASSWORD_DEC = "password_dec"; diff --git a/src/main/resources/sqlmap/m/login/com.backoffice.m.login.xml b/src/main/resources/sqlmap/m/login/com.backoffice.m.login.xml index 4a73df3..f7d9799 100644 --- a/src/main/resources/sqlmap/m/login/com.backoffice.m.login.xml +++ b/src/main/resources/sqlmap/m/login/com.backoffice.m.login.xml @@ -25,6 +25,14 @@ AND x.password = #password# + + SELECT + count(*) + FROM tbl_member x + WHERE x.nickname = #nickname# + + + SELECT x.member_id, diff --git a/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_01.ftl b/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_01.ftl index 2174928..b442f6c 100644 --- a/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_01.ftl +++ b/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_01.ftl @@ -22,13 +22,23 @@ 이름 - + <#if Session['rm_member']?exists> + + <#else> + + #if> 전화번호 - + <#if Session['rm_member']?exists> + + <#else> + + #if> diff --git a/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_02.ftl b/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_02.ftl index 4b79630..930af9e 100644 --- a/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_02.ftl +++ b/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_02.ftl @@ -34,9 +34,10 @@ * 로그인과 비밀번호 분실 시 이용되므로 실제 사용하는 이메일 주소를 정확하게 입력해 주세요. 닉네임 - * 닉네임은 커뮤니티 게시글 작성 시 사용됩니다. + 비밀번호 @@ -76,11 +77,15 @@ <#include "/m/include/index_bottom.ftl"> \ No newline at end of file
* 로그인과 비밀번호 분실 시 이용되므로 실제 사용하는 이메일 주소를 정확하게 입력해 주세요.
* 닉네임은 커뮤니티 게시글 작성 시 사용됩니다.