2023-03-09 01:58:02
@Service
public class CertServiceImpl implements CertService {
@Autowired
private JavaMailSender mailSender;
@Inject
CertDAO cdao;
@Override
public List<String> FindId(String user_email) {
return cdao.FindId(user_email);
}
@Override
public void sendUserId(String user_email, List<String> genie_id) {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setTo(user_email);
simpleMailMessage.setSubject("아이디 찾기");
StringBuffer sb = new StringBuffer();
sb.append("가입하신 아이디는");
sb.append(System.lineSeparator());
for(int i=0;i<genie_id.size()-1;i++) {
sb.append(genie_id.get(i));
sb.append(System.lineSeparator());
}
sb.append(genie_id.get(genie_id.size()-1)).append("입니다");
simpleMailMessage.setText(sb.toString());
new Thread(new Runnable() {
public void run() {
mailSender.send(simpleMailMessage);
}
}).start();
}
아이디 찾기
하단은 아이디와 비밀번호를 찾기 위한 Service 계층의 코드입니다.
JavaMailSender를 통해 아이디를 찾도록 했고 제일 위의 FindId 메서드에서 아이디를 찾아온 후,
밑에 있는 sendUserId 메서드를 통해 반환 값의 이메일로 아이디를 전송하는 방식입니다.
쓰레드로 처리한 이유는 메일 전송까지 시간이 걸려서 한번에 처리하기 위해서 입니다.
Link
Github(링크)
Code
@Override
public int overlapCheck(String value, String valueType) {
Map<String, String> map = new HashMap<>();
map.put("value", value);
map.put("valueType", valueType);
return cdao.overlapCheck(value, valueType);
}
@Override
public boolean emailCheck(String genie_id, String user_email) {
Map<String, Object> map = new HashMap<>();
map.put("genie_id", genie_id);
map.put("user_email", user_email);
String result = cdao.emailCheck(map);
if("1".equals(result)) {
return true;
}
return false;
}
@Override
public void sendAuthNum(String user_email, String authNum) {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
simpleMailMessage.setTo(user_email);
simpleMailMessage.setSubject("비밀번호 찾기 인증번호");
String text = "인증번호는 " + authNum + "입니다";
simpleMailMessage.setText(text);
new Thread(new Runnable() {
public void run() {
mailSender.send(simpleMailMessage);
}
}).start();
}
@Override
public int PwdEditOk(UserVO vo) {
return cdao.PwdEditOk(vo);
}
}
비밀번호 찾기
하단의 코드는 우선 아이디와 이메일이 DB에 등록되어있는지 확인한 후, 값이 있다면 이메일로 인증번호를 보내는 방식입니다.
'개발 > scheduler' 카테고리의 다른 글
JPA+QueryDSL + Paging (0) | 2024.08.03 |
---|---|
아이디와 비밀번호 찾기 (추가) (0) | 2024.08.01 |
회원가입 구현 코드 (0) | 2024.08.01 |
로그인 페이지 구현 (0) | 2024.08.01 |
spring @Autowired nullpointException (0) | 2024.08.01 |