[LibraryProject] 정회원 전환 신청 관리 기능 구현

2024. 4. 17. 17:03libraryProject

728x90
반응형

 안녕하세요. 진득 코딩입니다. 이번 시간에는 관리자 모드에서 정회원 전환 신청을 관리하는 기능에 대해서 살펴보도록 하겠습니다.

관리자 index

 먼저 관리자가 보는 화면을 먼저 살펴보도록 하겠습니다. 관리자나 사서가 관리자 모드에 들어오게 되면 보이는 관리자 index 화면입니다. sidenav에서 회원관리 배너 안에 있는 정회원 전환 신청을 누르게 되면 해당 기능을 사용할 수 있는 화면으로 넘어가게 됩니다.

전체 목록

 정회원 전환 신청을 누르게 되면 제일 먼저 정회원 전환 신청 목록을 보실 수있습니다. 준회원들이 신청한 정회원 전환 신청 목록들을 모두 볼 수 있습니다. 현재에는 테스트로 신청을 1개밖에 안해서 1개의 신청만을 확인하실 수 있습니다. 처리할 신청의 신청 번호를 누르게 되면 해당 신청에 대한 상세보기를 보실 수 있습니다.

상세 보기

상세보기에서는 위와 같은 정보들을 확인하실 수 있습니다. 신청인의 정보와 신청 내용을 확인하고 정회원 전환 수락과 거절 두 가지 기능을 할 수 있습니다.

수락/거절 후 목록

 수락과 거절 둘 중 어떤 처리를 해도 상관없이 처리가 된 신청은 목록에서 보이지않게 됩니다. 해당 기능에 대해서는 DB와 mapper에서 좀 더 자세히 살펴보도록 하겠습니다.

수락했을때 DB
거절했을 때 DB
member table userid

 수락했을 때와 거절했을 때의 DB의 모습입 니다. 둘다 process가 1로 바뀌어서 처리가 됨을 표시하고 있지만 수락했을 때에는 userid가 20으로 바뀌어있지만 거절했을 때에는 10으로 유지되어 있습니다. 회원 테이블인 member table의 userid도 20으로 바뀌어 있는 것을 확인하실 수 있습니다.

controller1

 코드를 살펴보도록 하겠습니다. 전체 목록 보기에서는 list를 model에 담아서 사용하였고 상세 보기에서는 bean을 model에 담아서 데이터를 다루었습니다. 둘 다 libarrianService에 있는 메서드를 호출하는 모습입니다.

controller2

 수락하기 기능에서는 toRegularOk 메서드를 통해서 toRegular table에 데이터를 넣어주고 toRegularSelectOne 메서드를 이용하여 들어간 데이터를 다시 가져와서 bean에 담습니다. 해당 bean안에서 userid를 가져와서 toRegularLevelUp 메서드를 이용하여 member 테이블에 있는 해당 회원의 rankid를 20으로 바꿔줍니다. 거절 기능에서는 toRegularOk와 똑같지만 mapper에서 rankid만 20이 아닌 10으로 변경하는 메서드인 toRegularNo 메서드를 사용하고 toRegularLevelUp를 사용하지 않습니다.

service

 모든 기능은 DB에 접근하는 기능이기 때문에 각각의 서비스 메서드가 모두 해당 기능을 하는 DAO를 호출합니다.

DAO

 호출받은 DAO가 각각의 기능을 하는 mapper를 호출하여 mybatis를 통해 필요한 쿼리문을 실행시킵니다.

mapper

 기본적인 전체 조회나 상세보기는 평범한 쿼리문이기 때문에 사진으로 대체하고 toRegularOk, toRegularNo, toRegularLevelUp 쿼리문을 살펴보겠습니다. 모두 업데이트 구문이지만 ok에서는 rankid를 20으로 바꾸는 반면에 no에서는 10으로 바꾸는 것을 보실 수 있습니다. 또한 levelup 메서드에서는 toregular 테이블이 아닌 member 테이블에 접근하여 rankid를 20으로 바꾸시는 것을 확인하실 수 있습니다.

728x90
반응형
LIST