휴대폰번호 다중번호 인증 체크 로직

This commit is contained in:
hehihoho3@gmail.com 2024-11-18 20:20:36 +09:00
parent 3e2e039c80
commit 4f2a0e28b6
7 changed files with 393 additions and 324 deletions

View File

@ -185,5 +185,8 @@ public interface MjonMsgDataService {
public StatusResponse deleteCertPhoneInfo(MberCertPhoneVO mberCertPhoneVO); public StatusResponse deleteCertPhoneInfo(MberCertPhoneVO mberCertPhoneVO);
public List<MberCertPhoneVO> selectMberCertPhoneListVO(MberCertPhoneVO mberCertPhoneVO);
} }

View File

@ -205,7 +205,7 @@ public class MjonMsgDataDAO extends EgovAbstractDAO {
} }
public SendLogVO selectSysMsgLogCheck(SendLogVO sendLogVO) throws Exception{ public SendLogVO selectSysMsgLogCheck(SendLogVO sendLogVO) throws Exception{
return (SendLogVO) select("mjonMsgDAO.selectSysMsgLogCheck",sendLogVO); return (SendLogVO) select("mjonMsgDAO.selectSysMsgLogCheck_new",sendLogVO);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@ -384,4 +384,9 @@ public class MjonMsgDataDAO extends EgovAbstractDAO {
update("mjonMsgDataDAO.deleteCertPhoneInfo", mberCertPhoneVO); update("mjonMsgDataDAO.deleteCertPhoneInfo", mberCertPhoneVO);
} }
public List<MberCertPhoneVO> selectMberCertPhoneListVO(MberCertPhoneVO mberCertPhoneVO) {
return (List<MberCertPhoneVO>) list("mjonMsgDataDAO.selectMberCertPhoneListVO", mberCertPhoneVO);
}
} }

View File

@ -3178,4 +3178,9 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
return new StatusResponse(HttpStatus.OK, "삭제하였습니다.", LocalDateTime.now()); return new StatusResponse(HttpStatus.OK, "삭제하였습니다.", LocalDateTime.now());
} }
@Override
public List<MberCertPhoneVO> selectMberCertPhoneListVO(MberCertPhoneVO mberCertPhoneVO) {
return mjonMsgDataDAO.selectMberCertPhoneListVO(mberCertPhoneVO);
}
} }

View File

@ -109,6 +109,7 @@ import itn.let.uat.uap.service.EgovLoginPolicyService;
import itn.let.uat.uap.service.LoginPolicyVO; import itn.let.uat.uap.service.LoginPolicyVO;
import itn.let.uat.uia.service.AuthCertVO; import itn.let.uat.uia.service.AuthCertVO;
import itn.let.uat.uia.service.EgovLoginService; import itn.let.uat.uia.service.EgovLoginService;
import itn.let.uat.uia.service.MberCertPhoneVO;
import itn.let.uss.umt.service.EgovMberManageService; import itn.let.uss.umt.service.EgovMberManageService;
import itn.let.uss.umt.service.EgovUserManageService; import itn.let.uss.umt.service.EgovUserManageService;
import itn.let.uss.umt.service.MberManageConfigVO; import itn.let.uss.umt.service.MberManageConfigVO;
@ -2043,9 +2044,23 @@ public class EgovLoginController {
String message = "로그인 성공했습니다."; String message = "로그인 성공했습니다.";
/* 일시 : 2024.11.18
* 내용 : 다중 인증번호 조회
* 작업자 : 이호영
*/
List<MberCertPhoneVO> mberCertPhoneList = mjonMsgDataService.selectMberCertPhoneList(resultVO.getId());
modelAndView.addObject("status", "success"); modelAndView.addObject("status", "success");
modelAndView.addObject("msg", message); modelAndView.addObject("msg", message);
modelAndView.addObject("data", resultVO); modelAndView.addObject("data", resultVO);
modelAndView.addObject("mberCertPhoneList", mberCertPhoneList);
return modelAndView; return modelAndView;
@ -3580,6 +3595,11 @@ public class EgovLoginController {
code = randomCode.append(Integer.toString(random.nextInt(10))).toString(); code = randomCode.append(Integer.toString(random.nextInt(10))).toString();
} }
contents = contents.replace("%code%", code); contents = contents.replace("%code%", code);
System.out.println("contents : "+ contents);
System.out.println("contents : "+ contents);
System.out.println("contents : "+ contents);
System.out.println("contents : "+ contents);
System.out.println("contents : "+ contents);
mjonMsgVO.setSmsTxt(contents); mjonMsgVO.setSmsTxt(contents);
mjonMsgVO.setReserveYn("N"); mjonMsgVO.setReserveYn("N");
@ -3601,9 +3621,25 @@ public class EgovLoginController {
userManageVO.setEmplyrNm(mjonMsgVO.getSearchNm()); userManageVO.setEmplyrNm(mjonMsgVO.getSearchNm());
userManageVO.setMoblphonNo(mjonMsgVO.getCallTo()); userManageVO.setMoblphonNo(mjonMsgVO.getCallTo());
List<UserManageVO> usedNmList = userManageService.selectUserIdAjax2(userManageVO);
boolean TorF = usedNmList.size() > 0 ? true : false;
MberCertPhoneVO mberCertPhoneVO = new MberCertPhoneVO();
mberCertPhoneVO.setMbtlnum(mjonMsgVO.getCallTo());
mberCertPhoneVO.setMberId(mjonMsgVO.getUserId());
List<MberCertPhoneVO> mberCertPhoneList = mjonMsgDataService.selectMberCertPhoneListVO(mberCertPhoneVO);
boolean TorF = mberCertPhoneList.size() > 0 ? true : false;
if (!TorF) { if (!TorF) {
@ -3617,6 +3653,7 @@ public class EgovLoginController {
} }
List<UserManageVO> usedNmList = userManageService.selectUserIdAjax2(userManageVO);
if(!usedNmList.get(0).getMberSttus().equals("Y")) { if(!usedNmList.get(0).getMberSttus().equals("Y")) {
String mberSttus = usedNmList.get(0).getMberSttus(); String mberSttus = usedNmList.get(0).getMberSttus();

View File

@ -43,6 +43,7 @@ import itn.let.utl.user.service.MjonNoticeSendUtil;
/** /**
* 사용자관리에 관한 비지니스 클래스를 정의한다. * 사용자관리에 관한 비지니스 클래스를 정의한다.
*
* @author 공통서비스 개발팀 조재영 * @author 공통서비스 개발팀 조재영
* @since 2009.04.10 * @since 2009.04.10
* @version 1.0 * @version 1.0
@ -124,6 +125,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
/** /**
* 입력한 사용자아이디의 중복여부를 체크하여 사용가능여부를 확인 * 입력한 사용자아이디의 중복여부를 체크하여 사용가능여부를 확인
*
* @param checkId 중복여부 확인대상 아이디 * @param checkId 중복여부 확인대상 아이디
* @return 사용가능여부(아이디 사용회수 int) * @return 사용가능여부(아이디 사용회수 int)
* @throws Exception * @throws Exception
@ -135,6 +137,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
/** /**
* 화면에 조회된 사용자의 정보를 데이터베이스에서 삭제 * 화면에 조회된 사용자의 정보를 데이터베이스에서 삭제
*
* @param checkedIdForDel 삭제대상 업무사용자아이디 * @param checkedIdForDel 삭제대상 업무사용자아이디
* @throws Exception * @throws Exception
*/ */
@ -163,7 +166,8 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
} }
// 그룹삭제 // 그룹삭제
//기존에는 전부 deleteAuthorGroup 처리했지만, 관리자는 삭제말고 EMPLYR_STTUS_CODE = 'D' update로 수정하면서 if문 추가 // 기존에는 전부 deleteAuthorGroup 처리했지만, 관리자는 삭제말고 EMPLYR_STTUS_CODE = 'D' update로
// 수정하면서 if문 추가
if (!id[0].equals("USR03")) { if (!id[0].equals("USR03")) {
authorGroup.setUniqId(id[1]); authorGroup.setUniqId(id[1]);
try { try {
@ -189,7 +193,6 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
String pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); String pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId());
userManageVO.setPassword(pass); userManageVO.setPassword(pass);
// 자동가입 여부 조회 자동가입이 아니면 (P) 세팅 // 자동가입 여부 조회 자동가입이 아니면 (P) 세팅
SiteManagerVO tempSiteManagerVO = new SiteManagerVO(); SiteManagerVO tempSiteManagerVO = new SiteManagerVO();
if (!"Y".equals(siteManagerDAO.selectSiteManagerVO(tempSiteManagerVO).getJoinAutoYn())) { if (!"Y".equals(siteManagerDAO.selectSiteManagerVO(tempSiteManagerVO).getJoinAutoYn())) {
@ -212,6 +215,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
/** /**
* 등록된 사용자 검색조건에 맞는 사용자의 정보를 데이터베이스에서 읽어와 화면에 출력 * 등록된 사용자 검색조건에 맞는 사용자의 정보를 데이터베이스에서 읽어와 화면에 출력
*
* @param uniqId 상세조회대상 업무사용자 아이디 * @param uniqId 상세조회대상 업무사용자 아이디
* @return userManageVO 업무사용자 상세정보 * @return userManageVO 업무사용자 상세정보
* @throws Exception * @throws Exception
@ -224,6 +228,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
/** /**
* 등록된 특정 사용자의 정보를 데이터베이스에서 읽어와 화면에 출력 * 등록된 특정 사용자의 정보를 데이터베이스에서 읽어와 화면에 출력
*
* @param userSearchVO 검색조건 * @param userSearchVO 검색조건
* @return List<UserManageVO> 업무사용자 목록정보 * @return List<UserManageVO> 업무사용자 목록정보
* @throws Exception * @throws Exception
@ -236,6 +241,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
/** /**
* 등록된 특정 사용자목록의 전체수를 확인 * 등록된 특정 사용자목록의 전체수를 확인
*
* @param userSearchVO 검색조건 * @param userSearchVO 검색조건
* @return 총사용자갯수(int) * @return 총사용자갯수(int)
* @throws Exception * @throws Exception
@ -247,6 +253,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
/** /**
* 화면에 조회된 사용자의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 * 화면에 조회된 사용자의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영
*
* @param userManageVO 업무사용자 수정정보 * @param userManageVO 업무사용자 수정정보
* @throws Exception * @throws Exception
*/ */
@ -261,6 +268,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
/** /**
* 사용자정보 수정시 히스토리 정보를 추가 * 사용자정보 수정시 히스토리 정보를 추가
*
* @param userManageVO 업무사용자 수정정보 * @param userManageVO 업무사용자 수정정보
* @return result 등록결과 * @return result 등록결과
* @throws Exception * @throws Exception
@ -272,6 +280,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
/** /**
* 업무사용자 암호 수정 * 업무사용자 암호 수정
*
* @param userManageVO 업무사용자 수정정보(비밀번호) * @param userManageVO 업무사용자 수정정보(비밀번호)
* @throws Exception * @throws Exception
*/ */
@ -282,6 +291,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
/** /**
* 사용자가 비밀번호를 기억하지 못할 비밀번호를 찾을 있도록 * 사용자가 비밀번호를 기억하지 못할 비밀번호를 찾을 있도록
*
* @param passVO 업무사용자 암호 조회조건정보 * @param passVO 업무사용자 암호 조회조건정보
* @return userManageVO 업무사용자 암호정보 * @return userManageVO 업무사용자 암호정보
* @throws Exception * @throws Exception
@ -331,9 +341,6 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
} }
@Override @Override
public void updateUserSttusCode(UserManageVO userManageVO) throws Exception { public void updateUserSttusCode(UserManageVO userManageVO) throws Exception {
userManageDAO.updateUserSttusCode(userManageVO); userManageDAO.updateUserSttusCode(userManageVO);
@ -406,7 +413,6 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
return userManageDAO.selectUserInfo(mberManageVO); return userManageDAO.selectUserInfo(mberManageVO);
} }
@Override @Override
public void updateUserInfo(MberManageVO mberManageVO) throws Exception { public void updateUserInfo(MberManageVO mberManageVO) throws Exception {
userManageDAO.updateUserInfo(mberManageVO); userManageDAO.updateUserInfo(mberManageVO);
@ -492,7 +498,6 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
return userManageDAO.selectAdminSmsNoticeYn(userManageVO); return userManageDAO.selectAdminSmsNoticeYn(userManageVO);
} }
public void updateUserAdminSmsNoticeYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception { public void updateUserAdminSmsNoticeYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception {
if (!"".equals(checkedIdForUpt)) { if (!"".equals(checkedIdForUpt)) {
String[] uptId = checkedIdForUpt.split(","); String[] uptId = checkedIdForUpt.split(",");
@ -598,17 +603,13 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
userManageDAO.updateUserSmishingYn(userManageVO); userManageDAO.updateUserSmishingYn(userManageVO);
/* /*
// B선 전송사 이용고객 => 전송사 JJ로 변경안함 * // B선 전송사 이용고객 => 전송사 JJ로 변경안함 MberManageVO mberManageVO = new
MberManageVO mberManageVO = new MberManageVO(); * MberManageVO(); mberManageVO.setMberId(userManageVO.getMberId()); String
mberManageVO.setMberId(userManageVO.getMberId()); * blineCode = mberManageService.selectBlineCodeByMberId(mberManageVO); if
String blineCode = mberManageService.selectBlineCodeByMberId(mberManageVO); * (blineCode != null && blineCode.equals("N")) { // 전송사 JJ로 변경
if (blineCode != null && blineCode.equals("N")) { * mberManageVO.setHotlineAgentName("첫결제 JJ");
// 전송사 JJ로 변경 * mberManageVO.setHotlineAgentCode("05"); mberManageVO.setAdmUserId("admin");
mberManageVO.setHotlineAgentName("첫결제 JJ"); * mjonMsgAgentStsService.updateMberHotlineAgentCodeInfo(mberManageVO); }
mberManageVO.setHotlineAgentCode("05");
mberManageVO.setAdmUserId("admin");
mjonMsgAgentStsService.updateMberHotlineAgentCodeInfo(mberManageVO);
}
*/ */
} }
@ -709,7 +710,8 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
// 이번달에 입력된 후불 결제요청 데이터가 있는지 확인 - 혹시나 중복 입력을 방지하기 위함 // 이번달에 입력된 후불 결제요청 데이터가 있는지 확인 - 혹시나 중복 입력을 방지하기 위함
int paymentCnt = userManageDAO.selectUserPrePaymentPGdataCount(umVO.getMberId()); int paymentCnt = userManageDAO.selectUserPrePaymentPGdataCount(umVO.getMberId());
if(paymentCnt > 0) continue; if (paymentCnt > 0)
continue;
// 회원 정보 조회 // 회원 정보 조회
MberManageVO mberManageVO = mberManageDAO.selectMber(umVO.getMberId()); // 멤버ID에서 유니크ID로 수정 필요 MberManageVO mberManageVO = mberManageDAO.selectMber(umVO.getMberId()); // 멤버ID에서 유니크ID로 수정 필요
@ -724,15 +726,12 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
mjonPayDAO.updateMemberCash(mjonPayVO); mjonPayDAO.updateMemberCash(mjonPayVO);
/* /*
* JSPark 2023.01.10 => 포인트는 선충전하지 않음 * JSPark 2023.01.10 => 포인트는 선충전하지 않음 // point 넣기 mjonPayVO =
// point 넣기 * this.setAdvPointVO(umVO);
mjonPayVO = this.setAdvPointVO(umVO); *
* //POINT 테이블 mjonPayDAO.insertPoint(mjonPayVO);
//POINT 테이블 *
mjonPayDAO.insertPoint(mjonPayVO); * //회원정보 POINT 업데이트 mjonPayDAO.updateMemberPoint(mjonPayVO);
//회원정보 POINT 업데이트
mjonPayDAO.updateMemberPoint(mjonPayVO);
*/ */
// 지난 사용금액 조회 // 지난 사용금액 조회
@ -788,14 +787,13 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
rcptType = "9"; rcptType = "9";
taxVO.setTaxTrgt("C"); taxVO.setTaxTrgt("C");
/* /*
if(mberManageVO.getCandidateNo1() != null) { * if(mberManageVO.getCandidateNo1() != null) { String candiNo1 =
String candiNo1 = mberManageVO.getCandidateNo1(); * mberManageVO.getCandidateNo1(); String candiNo2 =
String candiNo2 = mberManageVO.getCandidateNo2(); * mberManageVO.getCandidateNo2();
*
regNo = candiNo1 + candiNo2; //주민등록번호 * regNo = candiNo1 + candiNo2; //주민등록번호 }
} * taxVO.setRepName(mberManageVO.getCandidateNm());//후보자 성명
taxVO.setRepName(mberManageVO.getCandidateNm());//후보자 성명 * taxVO.setAddr(mberManageVO.getCandidateAddr());//후보자 주소
taxVO.setAddr(mberManageVO.getCandidateAddr());//후보자 주소
*/ */
regNo = mberManageVO.getTaxCIhidNum(); // 세금계산서 개인 주민등록번호 regNo = mberManageVO.getTaxCIhidNum(); // 세금계산서 개인 주민등록번호
taxVO.setRepName(mberManageVO.getTaxCNm()); // 세금계산서 개인 성명 taxVO.setRepName(mberManageVO.getTaxCNm()); // 세금계산서 개인 성명
@ -825,9 +823,8 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
/** /**
* @param mjonPayVO * @param mjonPayVO
* @return * @return
* @throws Exception * @throws Exception cash table 넣기 2022.04.12 JSP => mjonPayVO.getMoid() =>
* cash table 넣기 * userId 사용 제거 (휴대폰결제에서만 사용)
* 2022.04.12 JSP => mjonPayVO.getMoid() => userId 사용 제거 (휴대폰결제에서만 사용)
*/ */
private MjonPayVO setAdvCashVO(UserManageVO userManageVO) throws Exception { private MjonPayVO setAdvCashVO(UserManageVO userManageVO) throws Exception {
@ -847,7 +844,6 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
@Override @Override
public Map<String, Object> selectFaxSendList(FaxGroupDataVO faxGroupDataVO) { public Map<String, Object> selectFaxSendList(FaxGroupDataVO faxGroupDataVO) {
Map<String, Object> resultMap = new HashMap<String, Object>(); Map<String, Object> resultMap = new HashMap<String, Object>();
// 기본 내림차순 정렬 // 기본 내림차순 정렬
@ -858,8 +854,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
} }
if (StringUtils.isEmpty(faxGroupDataVO.getSearchStartDate()) if (StringUtils.isEmpty(faxGroupDataVO.getSearchStartDate())
&& StringUtils.isEmpty(faxGroupDataVO.getSearchEndDate()) && StringUtils.isEmpty(faxGroupDataVO.getSearchEndDate())) {
) {
faxGroupDataVO.setSearchStartDate(DateUtil.getTodayYearAndMonthAndFirstDay()); faxGroupDataVO.setSearchStartDate(DateUtil.getTodayYearAndMonthAndFirstDay());
faxGroupDataVO.setSearchEndDate(DateUtil.getTodayYearAndMonthAndLastDay()); faxGroupDataVO.setSearchEndDate(DateUtil.getTodayYearAndMonthAndLastDay());
} }
@ -891,5 +886,4 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
return resultMap; return resultMap;
} }
} }

View File

@ -3774,6 +3774,24 @@
AND CERT_USE_YN = 'Y' AND CERT_USE_YN = 'Y'
</select> </select>
<select id="mjonMsgDataDAO.selectMberCertPhoneListVO" parameterClass="mberCertPhoneVO" resultClass="mberCertPhoneVO">
SELECT
MBTLNUM AS mbtlnum,
'-' AS frstRegistPnttm
FROM
lettngnrlmber
WHERE MBER_ID = #mberId#
UNION ALL
SELECT
MBTLNUM AS mbtlnum,
FRST_REGIST_PNTTM AS frstRegistPnttm
FROM
lettngnrlmber_cert_phone
WHERE MBER_ID = #mberId#
AND MBTLNUM = #mbtlnum#
AND CERT_USE_YN = 'Y'
</select>
<insert id="mjonMsgDataDAO.insertMberCertPhoneInfo" parameterClass="mberCertPhoneVO"> <insert id="mjonMsgDataDAO.insertMberCertPhoneInfo" parameterClass="mberCertPhoneVO">

View File

@ -178,6 +178,8 @@ function actionLogin(){
success : function(data) { success : function(data) {
//alert(data.status); //alert(data.status);
//alert(data.data.moblphonNo); //alert(data.data.moblphonNo);
console.log('===========');
console.log(data.mberCertPhoneList);
if (data.status=="success"){ if (data.status=="success"){
//번호인증팝업 띄우기 //번호인증팝업 띄우기
@ -190,8 +192,14 @@ function actionLogin(){
$("#input_list_item_5").show(); $("#input_list_item_5").show();
$("#input_list_item_6").show(); $("#input_list_item_6").show();
$("#hp_text2").val(data.data.moblphonNo); // $("#hp_text2").val(data.data.moblphonNo);
var $select = $('#hp_text2');
data.mberCertPhoneList.forEach(function(item) {
$select.append($('<option>', {
value: item.mbtlnum, // option의 value 값
text: item.mbtlnum // option의 화면에 보이는 텍스트
}));
});
}else if (data.status=="fail"){ }else if (data.status=="fail"){
@ -589,8 +597,7 @@ function fn_click_banner_add_stat(bannerMenuCode){
<label for="list_inputType1" class="label">휴대폰번호</label> <label for="list_inputType1" class="label">휴대폰번호</label>
<!-- <input type="text" id="hp_text2" class="list_inputType1" placeholder="가입휴대폰번호" style="width: 250px;" --> <!-- <input type="text" id="hp_text2" class="list_inputType1" placeholder="가입휴대폰번호" style="width: 250px;" -->
<!-- onfocus="this.placeholder=''" onblur="this.placeholder='가입휴대폰번호'" maxlength="20" readonly> --> <!-- onfocus="this.placeholder=''" onblur="this.placeholder='가입휴대폰번호'" maxlength="20" readonly> -->
<select id="hp_text2" name="callFromList" class="sel_number list_selType1" style="width:70%;"> <select id="hp_text2" class="list_selType1" style="width:70%;">
<option value="">등록된 발신 번호가 없습니다.</option>
</select> </select>
</div> </div>
<div class="login_del"> <div class="login_del">