220826~08/29_광고 관리 플랫폼 대행사 센터 제작 8_에이전트 그룹 관리 기능 구현 및 페이지 제작

창고·2022년 8월 29일
0

해당 게시글은 개인 프로젝트인 "광고 관리 플랫폼 대행사 센터 제작"
#34 "에이전트 그룹 관리 기능 구현 + 뷰 적용" 이슈를 다루고 있습니다.

1. 에이전트 관리 기능 테스트 정의

(1) 비즈니스 로직 테스트 정의 및 구현 (service)

  • 에이전트 관리 기능에 대한 비즈니스 로직 관련 테스트를 정의하고 기능을 추가
    • 정렬 기능 (이름순 / 생성일자 순)
    • 페이지네이션 기능
    • 에이전트 그룹 리스트 조회
    • 에이전트 그룹 생성
    • 에이전트 그룹 수정 (이름)
    • 에이전트 그룹 삭제
    • 에이전트 그룹 상세 정보 조회 (이름, 프로필, 소속된 에이전트)
    • 에이전트 그룹 상세 정보 - 소속된 에이전트 조회 (에이전트 관리 상세 페이지로 리다이렉션)
    • 에이전트 그룹 상세 정보 - 에이전트 생성
    • 에이전트 그룹 내 소속된 에이전트 수 카운트

(2) 결과

  • 수정 기능은 기존에 배웠던 강의에서 다루지 않는 '소속 그룹' 변경 건이라 추가 레퍼런스 조사가 필요할 듯 하여 보류하였음
  • 삭제 기능의 경우 실제 삭제가 아닌 '삭제된 상태'로 변경하는 내용이라 마찬가지로 추가 레퍼런스 조사가 필요할 듯 하여 보류하였음

2. 컨트롤러 기능 추가 및 뷰 구현

(1) 컨트롤러 테스트 정의 (controller)

  • 수정, 삭제 기능을 추가하려 하였으나 위의 사유로 일단 보류

(2) 페이지 제작 (Thymeleaf)

  • Thymeleaf Decoupled Logic으로 각 페이지 기능을 구현하였음
  • 구현하지 않았던 상세 페이지 추가 완료
  • 에이전트 관리 페이지 index
  • 에이전트 관리 상세 페이지
  • 에이전트 그룹 관리 생성 / 수정 폼 (추후 폼을 새로 띄우는 방식으로 수정)
  • css 및 디자인 작업은 모든 페이지 기능 구현 완료 후 일괄 수정 예정

3. 미흡한 점, 개선이 필요한 내용

(1) 기능 구현 간에 확인된 내용

  • 삭제 기능의 경우, 단순히 삭제 처리를 하는 것이 아니라 데이터 보존 및 다른 비즈니스 로직 처리 시의 이슈로 에이전트 객체를 '삭제됨' 상태로 수정을 하는 것으로 처리해야 하는데 이 역시 레퍼런스를 찾아봐야 할 것으로 보임
  • 에이전트 그룹의 PK가 String 타입인데 생성 / 수정 시 ID를 save 하려고 하면 IdentifierGenerationException 이 발생, id를 직접 식별자 할당해야하는 이슈가 발생하여
    에이전트 그룹 id를 long 타입으로 바꾸고 자동 할당으로 바꿔야 할 것으로 보임.
    일단 기능 먼저 구현하였고 전반적인 기능 추가가 이뤄지면 리팩토링 진행 예정.
profile
공부했던 내용들을 모아둔 창고입니다.

0개의 댓글