아이디/비밀번호 찾기 수정(1)

This commit is contained in:
김현욱
2025-12-19 17:14:49 +09:00
parent e11797fa1e
commit 736cacae57
8 changed files with 634 additions and 24 deletions

View File

@@ -358,6 +358,75 @@ public class MbrController {
);
}
/**
* 이메일 인증번호 생성
* @return
* @author
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/insertEmailAuth", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> insertEmailAuth(BOMbrVO vo, BindingResult bindingResult){
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
int random = (int) (Math.random() * 900000) + 100000;
vo.setCrtnb(String.format("%06d", random));
DataMap content = new DataMap();
content = service.insertBOEmailAuth(vo);
/** 자동발송 데이터 세팅 */
Map<String, Object> sopmalInfoMap = new HashMap<>();
BOMaSopmalVO sopmalVo = new BOMaSopmalVO();
sopmalVo.setSopmalCd(user.getSopmalCd());
sopmalInfoMap = maSopmalService.selectBOSopmalFooterInfo(sopmalVo);
DataMap sopmalInfo = (DataMap) sopmalInfoMap.get("sopmalInfo");
/** 개인 인증 자동발송 */
if (content.get("result").equals("success")) {
DataMap paramMap = new DataMap();
// 공통 필수입력 항목
paramMap.put("formDvCd", "FORM_DV_MBR");
paramMap.put("formDtlDvCd", "05");
paramMap.put("sopmalCd", user.getSopmalCd());
paramMap.put("mbrInnb", vo.getMbrInnb());//비회원 = NULL
paramMap.put("recpntNm", vo.getMbrNm());
paramMap.put("recpntEmail", vo.getEmail());
// SMS
paramMap.put("shopname", sopmalInfo.get("sopmalNm"));
paramMap.put("authnum", vo.getCrtnb());
boMssageService.insertBOAtmcsndng(paramMap);
}
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
}
/**
* 이메일 인증
* @return
* @author
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectEmailAuth", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectEmailAuth(BOMbrVO vo, BindingResult bindingResult){
DataMap content = new DataMap();
content = service.selectBOEmailAuth(vo);
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
}
/**
* 회원가입
* @return
@@ -769,6 +838,137 @@ public class MbrController {
paramMap.put("recpntNm", vo.getMbrNm());
paramMap.put("recptnNb", vo.getMbtlnb());
// SMS
paramMap.put("shopName", sopmalInfo.get("sopmalNm"));
paramMap.put("userid", content.get("selectId"));
boMssageService.insertBOAtmcsndng(paramMap);
}
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
}
/**
* 이메일 인증 패스워드 조회
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectPasswordSearchEmail", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectIdPasswordSearchEmail(BOMbrVO vo){
List<Map<String, String>> errorList = new ArrayList<>();
if (StringUtil.isEmpty(vo.getEmail())) {
errorList.add(ValidateResultConverter.setErrorMap("email", "이메일 주소를 입력해 주세요."));
}
if (StringUtil.isEmpty(vo.getMbrId())) {
errorList.add(ValidateResultConverter.setErrorMap("mbrId", "아이디를 입력해 주세요."));
}
if (StringUtil.isEmpty(vo.getMbrNm())) {
errorList.add(ValidateResultConverter.setErrorMap("mbrNm", "이름을 입력해 주세요."));
}
if(errorList != null && !errorList.isEmpty()) {
throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList));
}
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
vo.setSopmalCd(user.getSopmalCd());
vo.setMbrDvCd(service.selectBOMbrDvCd(vo));
String secretKey = commonService.selectSecretkey();
vo.setSecretKey(secretKey);
log.debug("selectIdPasswordSearchEmail vo: {}", vo);
DataMap content = service.selectBOPasswordSearch(vo);
log.debug("selectIdPasswordSearchEmail content: {}", content);
/** 자동발송 데이터 세팅 */
Map<String, Object> sopmalInfoMap = new HashMap<>();
BOMaSopmalVO sopmalVo = new BOMaSopmalVO();
sopmalVo.setSopmalCd(vo.getSopmalCd());
sopmalInfoMap = maSopmalService.selectBOSopmalFooterInfo(sopmalVo);
DataMap sopmalInfo = (DataMap) sopmalInfoMap.get("sopmalInfo");
/** 신규 패스워드 자동발송 */
if (content.get("result").equals("success")) {
DataMap paramMap = new DataMap();
// 공통 필수입력 항목
paramMap.put("formDvCd", "FORM_DV_MBR");
paramMap.put("formDtlDvCd", "04");
paramMap.put("sopmalCd", user.getSopmalCd());
paramMap.put("mbrInnb", vo.getMbrInnb());//비회원 = NULL
paramMap.put("recpntNm", vo.getMbrNm());
paramMap.put("recptnNb", vo.getMbtlnb());
paramMap.put("recpntEmail", vo.getEmail());
// SMS
paramMap.put("shopName", sopmalInfo.get("sopmalNm"));
paramMap.put("password", content.get("newPassword"));
boMssageService.insertBOAtmcsndng(paramMap);
}
return ResponseEntity.ok(
WnbtResponse.builder()
.resBody(new WnbtResponseBody(content))
.build()
);
}
/**
* 이메일 인증 아이디 조회
* @return
*/
@Policy(AuthPolicy.PUBLIC)
@RequestMapping(value="/selectIdSearchEmail", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<WnbtResponse> selectIdSearchEmail(BOMbrVO vo){
List<Map<String, String>> errorList = new ArrayList<>();
if (StringUtil.isEmpty(vo.getEmail())) {
errorList.add(ValidateResultConverter.setErrorMap("email", "이메일 주소를 입력해 주세요."));
}
if (StringUtil.isEmpty(vo.getMbrNm())) {
errorList.add(ValidateResultConverter.setErrorMap("mbrNm", "이름을 입력해 주세요."));
}
if(errorList != null && !errorList.isEmpty()) {
throw new WnbtRestException(ValidateResultConverter.convertCustomValidate(errorList));
}
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
vo.setSopmalCd(user.getSopmalCd());
vo.setMbrDvCd(service.selectBOMbrDvCd(vo));
String secretKey = commonService.selectSecretkey();
vo.setSecretKey(secretKey);
log.debug("selectIdSearchEmail vo: {}", vo);
DataMap content = service.selectBOIdSearch(vo);
log.debug("selectIdSearchEmail content: {}", content);
/** 자동발송 데이터 세팅 */
Map<String, Object> sopmalInfoMap = new HashMap<>();
BOMaSopmalVO sopmalVo = new BOMaSopmalVO();
sopmalVo.setSopmalCd(vo.getSopmalCd());
sopmalInfoMap = maSopmalService.selectBOSopmalFooterInfo(sopmalVo);
DataMap sopmalInfo = (DataMap) sopmalInfoMap.get("sopmalInfo");
/** 전체 아이디 자동발송 */
if (content.get("result").equals("success")) {
DataMap paramMap = new DataMap();
// 공통 필수입력 항목
paramMap.put("formDvCd", "FORM_DV_MBR");
paramMap.put("formDtlDvCd", "03");
paramMap.put("sopmalCd", user.getSopmalCd());
paramMap.put("mbrInnb", vo.getMbrInnb());//비회원 = NULL
paramMap.put("recpntNm", vo.getMbrNm());
paramMap.put("recptnNb", vo.getMbtlnb());
paramMap.put("recpntEmail", vo.getEmail());
// SMS
paramMap.put("shopName", sopmalInfo.get("sopmalNm"));
paramMap.put("userid", content.get("selectId"));