계정 정지와 출금 정지를 분리해 독립적으로 작동하도록 개편
목차
정지 유형을 이분화하는 구조 개편했음. 기존엔 계정 정지만 있었는데, 이번에 출금 정지를 분리해서 두 기능이 독립적으로 작동하도록 함.
DB 스키마 + 쿼리 계층 정비
먼저 tb_suspend_master 테이블에 suspend_type 컬럼을 추가했고, 기본값을 ACCOUNT로 설정. 그 다음 ***의 8개 쿼리를 손봐서 모두 id 필터를 받도록 수정했음. 핵심은 기존 isSuspended() 조회 로직인데, 여기에 <choose> 분기를 넣어서 ACCOUNT 유형만 필터링하도록 제약. 이렇게 하면 출금 정지 레코드가 로그인 차단으로 오작동하지 않음.
업무 로직 계층 확장
내부 파일에 신규 메서드 3개를 추가함:
- isWithdrawalSuspended() (2개 오버로딩)
- getWithdrawalSuspendInfo()
출금 정지 여부를 별도로 검증하는 전담 메서드들이라 봐도 됨.
API + UI 레이어
내부 클래스에 GET /api/pay/withdraw-check 엔드포인트를 신규 구성. 회원과 시스템 양쪽 출금 정지 상태를 일괄 체크하는 역할. 기존 requestWithdraw 로직 앞에 이 사전 체크를 끼워넣음.
내부 클래스는 list/create/history 핸들러에 id 파라미터를 추가해서 관리 화면에서 유형 필터링이 가능하도록 함.
| 변경 파일 | 역할 |
|---|---|
| *** | 8개 쿼리에 id 필터 적용 |
| 내부 파일 | 출금 정지 전담 메서드 3개 추가 |
| *** | 관리 화면 파라미터 추가 |
| *** | 출금 전 사전 체크 API 신규 |
프론트엔드는 두 군데를 건드렸음. suspend/내부 파일는 관리자 화면인데, 유형 필터 드롭다운과 테이블 내 유형 배지 컬럼을 추가했고, 등록 모달에서도 중지 유형 선택 UI를 넣음. 테이블 colspan도 10에서 11로 늘림.
pay내부 파일는 사용자 출금 페이지. 페이지 진입 시 신규 API를 호출해서 출금 정지 여부를 확인하고, 정지 상태면 frozen 아이콘 UI를 띄운 다음 출금 폼 자체를 숨김. 사용자가 혼란스러워하지 않도록 차단 이유를 명확히 하는 방식.
마지막으로 tn-components.css에 FAQ 아코디언 클래스명 버그를 픽스함.
댓글 0
첫 댓글 달아줘.