[LibraryProject] 블랙리스트 구제 신청 관리 기능 구현

2024. 4. 26. 18:39libraryProject

728x90
반응형

 안녕하세요. 진득 코딩입니다. 이번 시간에는 관리자 모드 기능인 블랙리스트 구제 신청을 수락 혹은 거절하는 기능에 대해서 살펴보도록 하겠습니다. 먼저 view부터 살펴보고 코드를 살펴보도록 하겠습니다.

view

관리자 index

 사서나 관리자 권한으로 로그인을 한 뒤 관리자 모드를 눌러서 나오는 관리자 index입니다. 왼쪽 sidenav에서 회원 관리 배너 안에 있는 블랙리스트 구제 신청 버튼을 누르면 블랙리스트 구제 신청 관리 기능을 사용하실 수 있습니다.

  블랙리스트 구제 신청 버튼을 누르면 블랙리스트 구제 신청 목록이 나오게 됩니다. 해당 목록에서는 아직 처리되지 않은 블랙리스트 구제 신청 목록을 확인하실 수 있습니다. 신청 내용부터 신청자 주소까지 많은 정보를 보실 수 있습니다. 상세 정보를 보고 싶은 구제 신청 목록의 신청 번호를 누르시면 상세 보기 화면으로 넘어가게 됩니다.

블랙리스트 구제 신청 정보 상세 보기

 각각의 정보들이 테이블 별로 나뉘어 출력이 됩니다. 해당 화면에 있는 정보들을 확인하여 관리자는 해당 구제 신청을 수락할지 거절할지 선택하실 수 있습니다.

기능 전 save_blacklist 컬럼

 수락이나 거절을 하지 않았을 때의 save_blacklist 행입니다. process는 0으로 아직 처리 되지 않았음을 의미하고 rankid를 보시면 아직 해당 아이디의 권한이 40으로 블랙리스트 권한인 것을 확인하실 수 있습니다.

기능 후 블랙리스트 구제 신청 목록

 해당 기능을 수락이나 거절 중 한 가지 버튼을 눌러서 처리를 하게 된다면 해당 처리된 구제 신청은 목록에서 사라지게 됩니다. 해당 기능은 컬럼 중 process가 0이 아닌 것을 판단하여 해당 목록에 출력할지 여부를 판단하게 됩니다.

수락 후 save_blacklist 컬럼
거절 후 save_blacklist 컬럼
수락 후 member 컬럼

 수락과 거절을 한 후의 컬럼의 변화입니다. save_blacklist 테이블만 봤을 때는 수락했을 때는 process가 1로 바뀌게 되고 rankid가 10으로 바뀐 것을 확인하실 수 있습니다. 반면에 거절 후에는 process 컬럼은 1로 처리가 된 것으로 표시되지만 rankid는 여전히 40인 것을 확인하실 수 있습니다. 수락을 하게 되면 member 테이블에 있는 rankid 컬럼도 40에서 10으로 바뀌게 된 것을 확인하실 수 있습니다. rankid 컬럼은 member테이블의 3번째 컬럼입니다.

 

code

controller1
controller2

 블랙리스트 구제 신청 관리 관련된 컨트롤러의 메소드들입니다. listAll은 process 컬럼이 0인 테이블에 있는 모든 정보를 가져와 list에 담아서 활용하고 listOne은 save_code를 활용하여 해당 행에 해당하는 정보만 가져와서 bean에 담습니다. ok 메서드에서는 수락하는 기능을 가지고 있으며 save_id를 활용하여 process를 1로 바꾸고 rankid를 10으로 바꾼 후에 member 테이블에 접근하여 userid를 활용하여 해당 유저의 rankid를 10으로 바꾸게 됩니다. no 메서드는 거절하는 기능을 수행하며 save_id를 활용하여 process만 1로 바꾸어 rankid를 유지합니다.

service

 모든 기능들은 DB에 접근해야하기 때문에 librarianDao에 있는 맞는 메서드를 찾아서 호출하게 됩니다. 이때 save_code는 DB 기능 중 자동적으로 숫자를 올려주는 AI 기능을 사용하기 위해 int로 선언하였습니다.

DAO

 모든 DAO는 해당 요청에 맞는 mapper에 있는 메서드를 호출하게 됩니다. mapper의 이름을 매번 호출하는건 비효율적이어서 namespaces로 해당 mapper를 선언한 후 모두 namespaces를 사용하여 mapper에 있는 메서드를 호출하였습니다.

mapper

 마지막으로 mapper입니다. 목록 조회에서는 모든 컬럼을 다 select하는 질의문을 사용하였습니다. 상세 조회하는 메서드에서는 save_code를 활용하여 해당 코드에 맞는(기본키) 정보만 불러올 수 있도록 하였습니다. 수락 기능에서는 save_code를 사용하여 해당되는 행의 process를 1로 바꾸고 rankid를 10으로 바꿀 수 있도록 update 질의문을 사용하였습니다. levelUp메서드는 member 테이블에 접근하여 해당 userid를 10으로 바꾸는 기능을 가지고 있습니다. 거절하는 메서드에서는 save_code를 활용하여 해당 신청만 process를 1로 바꾸고 rankid는 40으로 바꿔서 rankid가 유지되어 해당 권한을 유지하도록 하였습니다.


 블랙리스트 구제 신청 관리 기능에 대해서 설명하면서 관리자 모드에서의 회원 관련 기능들에 대한 설명이 끝나게 되었습니다. 관리자 모드에 있는 권한에서는 가장 마지막에 구현한 기능이기 때문에 시간에도 많이 쫓기고 밤도 많이 새서 제정신이 아닌 상태에서 구현했던 기억이 있어서 굉장히 인상깊은 기능입니다. 다음 시간에는 게시판 관리 기능들에 대해서 살펴보도록 하겠습니다.

728x90
반응형
LIST