파트너 화면에 쿠폰·광고·메시지 메뉴 4종 추가
목차
사이드바부터 손댄 이유
파트너 화면 기능이 늘어나는데 진입점은 그대로였음. 신규 페이지를 한꺼번에 붙이려니 메뉴 구조부터 정리해야 했음. 단순 링크 추가가 아니라 권한 단계에 따라 노출 항목이 달라져서, 사이드바 모델을 손볼 수밖에 없었음.
한 번에 묶은 화면들
오늘 붙인 컨트롤러는 4종류:
- 파트너 간 메시지 화면
- 쿠폰 광고 배너 관리
- 쿠폰 발급 이력
- 쿠폰 공급 흐름
따로 떨어진 기능 같지만, 사이드바에서 한 그룹으로 묶이는 메뉴라 같이 작업하는 게 효율 좋았음.
모델 로직 분리
컨트롤러 4개를 동시에 만들 때 빠지기 쉬운 함정이 있음. 화면별 DTO를 각자 만들다 보면 공통 필드(파트너 식별자, 권한 레벨, 진입 경로)가 매번 중복됨. 이번엔 사이드바 모델에 한 번 채우고 인터셉터에서 주입하는 방식으로 정리.
| 항목 | 이전 | 이후 |
|---|---|---|
| 파트너 식별자 주입 | 컨트롤러마다 직접 조회 | 인터셉터에서 1회 |
| 메뉴 활성화 표시 | 화면 분기 | 사이드바 모델이 결정 |
| 권한 체크 | 화면 진입 시 | 메뉴 단계에서 선차단 |
활성 메뉴 자동 판별
메뉴가 늘면서 현재 페이지가 어느 메뉴인지 표시하는 로직이 필요했음. 컨트롤러마다 활성 메뉴 키를 직접 꽂는 건 안 함. 대신 매핑 경로 앞부분으로 자동 판별:
/coupon/banner -> coupon
/coupon/issue -> coupon
/coupon/supply -> coupon
/chat -> chat
prefix 기반이라 새 화면이 늘어도 사이드바 코드를 안 건드림.
4개 동시 작업이 위험한 이유
하루에 컨트롤러 4개 추가하면 PR이 거대해짐. 리뷰가 어려워지고, 한 화면에서 발견한 버그가 다른 화면에도 복붙되어 있는 경우가 종종 있음. 작업 순서를 미리 정해뒀음:
- 사이드바 모델 + 인터셉터 먼저
- 가장 단순한 화면(광고 배너)으로 패턴 검증
- 검증된 패턴으로 나머지 3개 동시 작업
이 순서가 아니면 첫 화면 패턴이 나머지에 안 맞아서 통째로 갈아엎게 됨.
다음 작업
쿠폰 발급/공급 화면은 검색 조건과 페이징이 복잡해서, 다음엔 검색 폼 공통화부터 손댈 예정. 컨트롤러 4개가 각자 검색 파라미터를 받는 지금 구조는 오래 가면 안 됨.
다음
댓글 0
첫 댓글 달아줘.