diff --git a/list.txt b/list.txt index 8efa696f..88e36d9e 100644 --- a/list.txt +++ b/list.txt @@ -1,3 +1,8 @@ #src\main\resources\egovframework\egovProps\globals.properties -# 시추공 정보 입력 시 표고 값에 하이픈 넣을 때 0으로 변환되도록 수정 -src\main\webapp\WEB-INF\views\web\input\header.jsp \ No newline at end of file +# 아이디 찾기 시 이메일 주소 생략 +src\main\webapp\WEB-INF\views\body\account\main.jsp +src\main\webapp\WEB-INF\views\body\account\idNotFind.jsp +src\main\resources\egovframework\sqlmap\mapper\main\Login_SQL.xml +src\main\java\geoinfo\main\login\service\LoginMapper.java +src\main\java\geoinfo\main\login\service\impl\LoginServiceImpl.java +src\main\java\geoinfo\main\login\LoginController.java \ No newline at end of file diff --git a/src/main/java/geoinfo/main/login/LoginController.java b/src/main/java/geoinfo/main/login/LoginController.java index d2d01e3e..e852a79b 100644 --- a/src/main/java/geoinfo/main/login/LoginController.java +++ b/src/main/java/geoinfo/main/login/LoginController.java @@ -62,6 +62,7 @@ import geoinfo.main.login.service.LoginService; import geoinfo.main.main.MainController; import geoinfo.map.mapControl.service.MapControlService; import geoinfo.util.MobileCertificationUtil; +import geoinfo.util.MyUtil; import geoinfo.util.ScriptUtil; import ictway.comm.web.WebUtil; import io.jsonwebtoken.JwtBuilder; @@ -129,28 +130,30 @@ public class LoginController { String hdnCertification = request.getParameter("hdnCertification"); String name = ""; String DI = ""; + String phoneNo = ""; try { Map certResult = MobileCertificationUtil.decryptCertData(hdnCertification, hdnCertNum); name = certResult.get("name"); DI = certResult.get("DI"); + phoneNo = certResult.get("phoneNo"); } catch(IndexOutOfBoundsException ex){ log.info("LoginController 아이디 찾기 잘못된 접근"); - rda.addFlashAttribute("msg", "잘못된 접근입니다."); + rda.addFlashAttribute("msg", "잘못된 접근입니다. code: 1"); mv.setViewName("redirect:topMenuSelect.do?url=joinsearch"); return mv; } catch(NumberFormatException ex){ log.info("LoginController 아이디 찾기 잘못된 접근"); - rda.addFlashAttribute("msg", "잘못된 접근입니다."); + rda.addFlashAttribute("msg", "잘못된 접근입니다. code: 2"); mv.setViewName("redirect:topMenuSelect.do?url=joinsearch"); return mv; } catch(Exception ex){ log.info("LoginController 아이디 찾기 잘못된 접근"); - rda.addFlashAttribute("msg", "잘못된 접근입니다."); + rda.addFlashAttribute("msg", "잘못된 접근입니다. code: 3"); mv.setViewName("redirect:topMenuSelect.do?url=joinsearch"); return mv; } @@ -158,6 +161,8 @@ public class LoginController { map.put("cls", cls); map.put("name", name); map.put("email", email); + map.put("dupinfo", DI); + map.put("phone", phoneNo); log.info( @@ -166,33 +171,80 @@ public class LoginController { "\n--------------------------------------------------------------\n" + "hdnCertNum:[" + hdnCertNum + "]\n" + "hdnCertification:[" + hdnCertification + "]\n" + - "cls:[" + cls + "]\n" + - "email:[" + email + "]\n" + + "cls:[" + cls + "]\n" + "name:[" + name + "]\n" + "DI:[" + DI + "]\n" + "\n--------------------------------------------------------------\n" ); + + Map result = loginService.selectSearchId(map); map.clear(); if (result != null) { - if(result.get("certification_yn").toString().equals("0")) { - log.info("아이디 찾기 // 휴대폰 미인증 사용자"); - map.put("DI", DI); - map.put("userid", result.get("userid")); - loginService.updateCertWebMemberIn(map); - } + updateUserDi(DI, result); mv.addObject("username", result.get("user_name")); mv.addObject("userid", result.get("userid")); mv.addObject("datetime", result.get("datetime")); log.info("LoginController 아이디 찾기 // 사용자 조회 후 // name : " + result.get("user_name") + " id : " + result.get("userid")); - } else { - mv.setViewName("body/account/idNotFind"); - mv.addObject("msg", name + "님의 아이디는 등록되어있지 않습니다."); + return mv; } + + result = null; + + result = loginService.selectSearchIdByNameAndPhoneAndDupinfoIsNullAndCertificationYnFalse(map); + map.clear(); + + if (result != null) { + updateUserDi(DI, result); + + if( cls == null ) { + cls = "0"; + } + int paramCls = MyUtil.getIntegerFromObject(cls); + int resultCls = MyUtil.getIntegerFromObject(result.get("cls")); + + String paramAccountType = "개인"; + if( paramCls == 0 ) { + paramAccountType = "개인"; + } else if( paramCls == 1 ) { + paramAccountType = "기업"; + } + + String resultAccountType = "개인"; + if( resultCls == 0 ) { + resultAccountType = "개인"; + } else if( resultCls == 1 ) { + resultAccountType = "기업"; + } + + mv.addObject("username", result.get("user_name")); + mv.addObject("userid", result.get("userid")); + mv.addObject("datetime", result.get("datetime")); + mv.addObject("accountType", resultAccountType); + + log.info("LoginController 아이디 찾기 // 사용자 조회 후 // name : " + result.get("user_name") + " id : " + result.get("userid")); + return mv; + } + + + + mv.setViewName("body/account/idNotFind"); + mv.addObject("msg", "인증하신 휴대폰 인증정보와 일치하는 아이디가 없습니다."); + return mv; } + + private void updateUserDi(String DI, Map result ) throws Exception { + Map map = new HashMap(); + if(result.get("certification_yn").toString().equals("0")) { + log.info("아이디 찾기 // 휴대폰 미인증 사용자"); + map.put("DI", DI); + map.put("userid", result.get("userid")); + loginService.updateCertWebMemberIn(map); + } + } @RequestMapping(value = "/searchPassLog.do") diff --git a/src/main/java/geoinfo/main/login/service/LoginMapper.java b/src/main/java/geoinfo/main/login/service/LoginMapper.java index bd6e377b..ce2abd33 100644 --- a/src/main/java/geoinfo/main/login/service/LoginMapper.java +++ b/src/main/java/geoinfo/main/login/service/LoginMapper.java @@ -25,6 +25,9 @@ public interface LoginMapper { void pswdResetWebMemberIn(Map map); Map selectSearchId(Map map); + + Map selectSearchIdByNameAndPhoneAndDupinfoIsNullAndCertificationYnFalse(Map map); + Map selectSearchPass(Map map); diff --git a/src/main/java/geoinfo/main/login/service/LoginService.java b/src/main/java/geoinfo/main/login/service/LoginService.java index a1caefc4..fc6b33ed 100644 --- a/src/main/java/geoinfo/main/login/service/LoginService.java +++ b/src/main/java/geoinfo/main/login/service/LoginService.java @@ -20,6 +20,7 @@ public interface LoginService { int insertSearchPassLog(Map map)throws Exception; void pswdResetWebMemberIn(Map map) throws Exception; Map selectSearchId(Map map) throws Exception; + Map selectSearchIdByNameAndPhoneAndDupinfoIsNullAndCertificationYnFalse(Map map) throws Exception; Map selectSearchPass(Map map) throws Exception; void updateSearchPassch(Map map) throws Exception; int selectWebDownLoadLog(Map map); diff --git a/src/main/java/geoinfo/main/login/service/impl/LoginServiceImpl.java b/src/main/java/geoinfo/main/login/service/impl/LoginServiceImpl.java index 8bc7931a..a10f264e 100644 --- a/src/main/java/geoinfo/main/login/service/impl/LoginServiceImpl.java +++ b/src/main/java/geoinfo/main/login/service/impl/LoginServiceImpl.java @@ -4,6 +4,7 @@ import egovframework.com.cmm.service.EgovProperties; import egovframework.rte.psl.dataaccess.util.EgovMap; import geoinfo.main.login.service.LoginMapper; import geoinfo.main.login.service.LoginService; +import geoinfo.main.login.service.selectSearchIdByNameAndPhoneAndDupinfoIsNullAndCertificationYnFalse; import geoinfo.util.FileUtil; import java.io.FileNotFoundException; @@ -74,6 +75,11 @@ public class LoginServiceImpl implements LoginService{ public Map selectSearchId(Map map) throws Exception { return loginMapper.selectSearchId(map); } + + @Override + public Map selectSearchIdByNameAndPhoneAndDupinfoIsNullAndCertificationYnFalse(Map map) throws Exception { + return loginMapper.selectSearchIdByNameAndPhoneAndDupinfoIsNullAndCertificationYnFalse(map); + } @Override public Map selectSearchPass(Map map) throws Exception { diff --git a/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml b/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml index f78feb62..b91b0f60 100644 --- a/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml +++ b/src/main/resources/egovframework/sqlmap/mapper/main/Login_SQL.xml @@ -133,9 +133,24 @@ WHERE TRIM(USER_NAME) = TRIM(#{name}) AND TRIM(CLS) = TRIM(#{cls}) AND - TRIM(EMAIL) = TRIM(#{email}) + TRIM(DUPINFO) = TRIM(#{dupinfo}) ]]> + +