today_is

[ spring 프로젝트 ] 마이페이지 - 회원정보수정(이메일 인증), list 출력 본문

project

[ spring 프로젝트 ] 마이페이지 - 회원정보수정(이메일 인증), list 출력

ye_rang 2024. 3. 18. 13:13

 이메일 인증 

 

javax.mail  을 이용하여 mailComponent 를 만들어서 

이메일 인증 기능을 추가해보겠다

 
 
 
 
 

 

 

 

 

초기에는 왼쪽화면처럼 아이디만 입력할 수 있도록 하고

"계정이 존재합니다" 라는 조건을 만족하면,

이메일 입력창이 활성화 된다

 

 

이전 실습에서 배웠던 hidden을 이용하여, 입력을 비활성화 하는 방법을 떠올렸다

 

 

 

 

 

 

 

 

 

3가지의 분기를 이용하여,

 

반환값이 -1 이라면 빈 문자열을 입력한 상태.

반환값이 1 이라면 재설정할 비밀번호를 2번 입력한 것이 일치할때.

반환값이 0 이라면 입력이 불일치할때로 나뉜다

 

 

 

 

 

이전 실습과 다르게 추가된 부분이 있다면,

 

숫자와 대문자 중에서 랜덤으로 값을 받아와서

 

총 7글자 문자열을 인증번호로 이용한다.

 

 

 

 

 

 

  list 출력  

 

나는 마이페이지를 담당했기 때문에

 

내가 받은 쿠폰 목록, 채팅 목록, 리뷰 목록 ... 등등

 

목록을 출력해야하는 일이 많았다.

 

우리 팀은 테이블을 너무 정규화 시켜놔서

 

어떤 목록을 출력하려고 해도 join을 필수적으로 사용해야했다.

 

 

 

 

 

 

(..중략..)
//	MypageRepository


// 구매 목록
@Select("SELECT o.pickupcode, o.orderDate, o.pickupTime, o.amount, s.name"
			+ "	FROM orders o"
			+ "	JOIN store s ON o.store_idx = s.idx"
			+ "	where userid = #{userid}"
			+ "	order by o.orderDate desc")
List<OrdersDTO> shoppingList(String userid);

	

// 나만의 냉장고 목록
@Select("	SELECT si.totalCount, si.resCount, si.status, p.name"
			+ "	FROM storageItem si"
			+ "	JOIN orderDetail od ON si.orderDetail_idx = od.idx"
			+ "	JOIN product p ON od.product_idx = p.idx"
			+ "	where userid = #{userid} and si.status = 0")
List<StorageitemDTO> shoppingStatus0(String userid);

 

 

join 을 계속하다보니까, 

 

 

기능별로 테이블을 분류 시켜두는건 좋지만

 

테이블을 지나치게 정규화 시켜놓으면 좋지 않다는 것을 느꼈다.

 

테이블 개수가 너무 많아서 관리가 더 어려운 느낌이 들었다