feat: 아이디 찾기 시 이메일 주소 생략
parent
8b730a30b1
commit
9e773f16ac
9
list.txt
9
list.txt
|
|
@ -1,3 +1,8 @@
|
|||
#src\main\resources\egovframework\egovProps\globals.properties
|
||||
# 시추공 정보 입력 시 표고 값에 하이픈 넣을 때 0으로 변환되도록 수정
|
||||
src\main\webapp\WEB-INF\views\web\input\header.jsp
|
||||
# 아이디 찾기 시 이메일 주소 생략
|
||||
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
|
||||
|
|
@ -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<String, String> 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(
|
||||
|
|
@ -167,33 +172,80 @@ public class LoginController {
|
|||
"hdnCertNum:[" + hdnCertNum + "]\n" +
|
||||
"hdnCertification:[" + hdnCertification + "]\n" +
|
||||
"cls:[" + cls + "]\n" +
|
||||
"email:[" + email + "]\n" +
|
||||
"name:[" + name + "]\n" +
|
||||
"DI:[" + DI + "]\n" +
|
||||
"\n--------------------------------------------------------------\n"
|
||||
);
|
||||
|
||||
|
||||
Map<String, Object> 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<String, Object> result ) throws Exception {
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
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")
|
||||
public String searchPassLog(ModelMap model, HttpServletRequest request, HttpServletResponse response, @RequestParam Map<String, Object> params) throws Exception {
|
||||
|
|
|
|||
|
|
@ -26,6 +26,9 @@ public interface LoginMapper {
|
|||
|
||||
Map<String, Object> selectSearchId(Map<String, Object> map);
|
||||
|
||||
Map<String, Object> selectSearchIdByNameAndPhoneAndDupinfoIsNullAndCertificationYnFalse(Map<String, Object> map);
|
||||
|
||||
|
||||
Map<String, Object> selectSearchPass(Map<String, Object> map);
|
||||
|
||||
void updateSearchPassch(Map<String, Object> map);
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ public interface LoginService {
|
|||
int insertSearchPassLog(Map<String, Object> map)throws Exception;
|
||||
void pswdResetWebMemberIn(Map<String,Object> map) throws Exception;
|
||||
Map<String, Object> selectSearchId(Map<String, Object> map) throws Exception;
|
||||
Map<String, Object> selectSearchIdByNameAndPhoneAndDupinfoIsNullAndCertificationYnFalse(Map<String, Object> map) throws Exception;
|
||||
Map<String, Object> selectSearchPass(Map<String, Object> map) throws Exception;
|
||||
void updateSearchPassch(Map<String, Object> map) throws Exception;
|
||||
int selectWebDownLoadLog(Map<String, Object> map);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -75,6 +76,11 @@ public class LoginServiceImpl implements LoginService{
|
|||
return loginMapper.selectSearchId(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> selectSearchIdByNameAndPhoneAndDupinfoIsNullAndCertificationYnFalse(Map<String, Object> map) throws Exception {
|
||||
return loginMapper.selectSearchIdByNameAndPhoneAndDupinfoIsNullAndCertificationYnFalse(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> selectSearchPass(Map<String, Object> map) throws Exception {
|
||||
return loginMapper.selectSearchPass(map);
|
||||
|
|
|
|||
|
|
@ -133,10 +133,25 @@
|
|||
WHERE
|
||||
TRIM(USER_NAME) = TRIM(#{name}) AND
|
||||
TRIM(CLS) = TRIM(#{cls}) AND
|
||||
TRIM(EMAIL) = TRIM(#{email})
|
||||
TRIM(DUPINFO) = TRIM(#{dupinfo})
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id="selectSearchIdByNameAndPhoneAndDupinfoIsNullAndCertificationYnFalse" resultType="org.apache.commons.collections.map.CaseInsensitiveMap">
|
||||
<![CDATA[
|
||||
SELECT USER_NAME, USERID, TO_CHAR(DATETIME,'YYYY-MM-DD') DATETIME, CERTIFICATION_YN, CLS, DUPINFO
|
||||
FROM WEB_MEMBER_IN
|
||||
WHERE
|
||||
TRIM(USER_NAME) = TRIM(#{name}) AND
|
||||
TRIM(REGEXP_REPLACE(PHONE, '-', '') ) = TRIM(#{phone}) AND
|
||||
(
|
||||
TRIM(DUPINFO) IS NULL OR
|
||||
TRIM(CERTIFICATION_YN) = 0
|
||||
)
|
||||
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id="selectSearchPass" resultType="org.apache.commons.collections.map.CaseInsensitiveMap">
|
||||
<![CDATA[
|
||||
SELECT CLS, USER_NAME, USERID, PASSWD, TO_CHAR(DATETIME,'YYYY-MM-DD') DATETIME, CERTIFICATION_YN
|
||||
|
|
|
|||
|
|
@ -2,8 +2,7 @@
|
|||
<script src="./js/jquery/jquery-1.10.2.min.js"></script>
|
||||
<script>
|
||||
$(window).load(function(){
|
||||
/* alert("${msg}"); */
|
||||
alert("인증하신 휴대폰 및 이메일주소와 일치하는 아이디가 없습니다.");
|
||||
alert("${msg}");
|
||||
parent.document.location.href="topMenuSelect.do?url=joinsearch"
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -39,12 +39,7 @@
|
|||
if(document.getElementById("hdnCertNum").value == "" || document.getElementById("hdnCertification").value == ""){
|
||||
alert("아이디 찾기를 하시려면 휴대폰 인증을 하셔야 합니다.");
|
||||
return;
|
||||
}
|
||||
else if(document.getElementById("email").value == ""){
|
||||
alert("이메일을 입력하세요");
|
||||
return;
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
var url = "<c:url value='/searchId.do' />";
|
||||
document.regClauseFrom.action = url;
|
||||
document.regClauseFrom.method = "POST";
|
||||
|
|
@ -59,7 +54,7 @@
|
|||
<div class="page-explanation">
|
||||
<div class="page-explanation-inner">
|
||||
<p class="page-explanation-text">
|
||||
아이디를 잊으셨나요? 신상조회를 통해 찾으실 수 있습니다.
|
||||
아이디를 잊으셨나요? 휴대폰 인증을 통해 찾으실 수 있습니다.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -73,12 +68,14 @@
|
|||
<h3 class="page-title-3depth title-line marT0"><span>아이디</span></h3>
|
||||
|
||||
<ul class="content-ul-list" style="height: 100px;">
|
||||
<!--
|
||||
<li>
|
||||
휴대폰 인증과 회원 가입시 입력하신 이메일 주소로만 확인 가능합니다.
|
||||
</li>
|
||||
<li>
|
||||
이메일 주소를 모르시는 경우, 관리자에게 문의바랍니다.
|
||||
</li>
|
||||
-->
|
||||
<li>
|
||||
기업사용자 중 퇴사자 발생으로 인해 아이디 찾기가 어려운 회원은 ryujisong@kict.re.kr로 회원정보를 보내주신 뒤 문의바랍니다.
|
||||
</li>
|
||||
|
|
@ -101,7 +98,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="contents-row padT20">
|
||||
<div class="contents-row padT20" style="display: none;">
|
||||
<label for="email" class="control-label marR5">이메일주소</label>
|
||||
<input name="email" id="email" type="text" class="gg-input" placeholder="이메일주소">
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue