- 신규 권한: CONTENT_MANAGER 라디오 옵션 및 매핑 추가
- 라벨 변경: '사용 여부' → '권한'
- 검색 버튼 색상: #3bb9f1로 변경
왜: 콘텐츠 관리자 권한 지원 및 UI 용어/가시성 개선
무엇: MemberList.vue 수정으로 옵션/매핑/라벨/컬러 반영
배경: 비ADMIN 계정에서도 관리 열과 수정/삭제/공유 버튼이 노출되어 접근 혼란을 유발.
변경: computed isAdmin(Vuex accountStore.role 우선, localStorage 폴백) 추가 후, 테이블 헤더와 각 행의 관리 영역에 v-if="isAdmin" 적용.
영향: ADMIN 외 권한에서는 UI 요소가 렌더링되지 않음. 기능 동작 변경 없음.
왜: userId/nickname/profileImage는 사용처가 없어 유지보수 단순화. 대신 권한 판별을 위해 role 필요.\n무엇: accountStore에서 세 필드 삭제, role 추가. isAuthenticated 동기화 수정. LOGIN/LOGOUT 로직 role 반영. Axios Authorization 유지.
- onSearchCreators에 300ms 디바운스 로직 추가
- assignDialog.searchDebounceTimer 상태 추가 및 다이얼로그/소멸 시 정리
- 최신 검색어와 응답 불일치 시 결과 반영 방지 가드
- 검색어 비었을 때 로딩/결과 초기화 처리 강화
- 상단 레이아웃을 6/6으로 분할하고 좌측에 현재 `<월> 정산 내역` 라벨 표시
- 총 에이전트 수 표시는 우측 정렬로 유지
- 금액/합계 열 정렬을 text-right → text-center로 통일하여 가독성 향상
- 전역 테이블 셀 가운데 정렬 CSS 추가(th/td)
- 클릭 가능한 금액 셀의 UX 유지(cursor: pointer)
- api/agent: 정산 상세 조회 API 다수 추가(라이브/콘텐츠/커뮤니티/콘텐츠·채널 후원)
- 공통 파라미터 빌더 및 1→0 기반 페이지 변환 유틸 도입으로 Spring Pageable 규약 준수
- 정산 상세 뷰(라이브/콘텐츠/커뮤니티/콘텐츠 후원/채널 후원): 닉네임 표시, 페이지·정렬 파라미터 적용
- 로딩/에러/빈 결과 초기화 처리 강화, 합계 초기화로 실패 시 데이터 오해 방지
- AgentList: 정산 상세 라우팅 시 닉네임 query 전달로 상단 타이틀 표시 개선
- api/agent.js에 소속 관리 API 추가 (조회/검색/소속/해제) 및 Pageable 0-based 처리
- AgentDetail.vue 구현 — 목록/페이지네이션/소속 추가(자정 00:00:00)/소속 해제(날짜+시간)
- AgentList.vue에서 상세 진입 시 닉네임을 쿼리로 전달하여 상세에서 표시
- AgentDetail.vue에 간단한 스타일 클래스 추가
- 에이전트 정산 비율 API 추가 (목록/등록/수정/닉네임 검색)
- AgentSettlementRatio.vue 구현 — 목록 테이블, "에이전트 비율 추가" 버튼, 수정 버튼 및 등록/수정 공용 팝업 추가
- UX: 닉네임 검색(v-autocomplete), 숫자/범위(0~100) 검증, datetime-local 입력값 LocalDateTime 문자열 변환 처리
- 에러/로딩 상태 기본 처리 및 목록 새로고침 흐름 반영
정적 경로(`/agent/settlement-ratio`)가 동적 경로(`/agent/:agentId`)보다 뒤에 있어
동적으로 매칭되던 라우팅 우선순위 문제를 해결했습니다.
- router/index.js: 정적 경로를 동적 경로보다 앞에 배치
- 기능/로직 변경 없음, 라우팅 매칭 순서만 조정
- api: /admin/partner/agent/list 연동을 위한 api/agent.js 추가(getAgentList)
- router: 에이전트 상세 및 5종 정산 상세 라우트 추가(파라미터 agentId 사용)
- AgentDetail.vue와 정산 상세 5개 뷰(플레이스홀더) 추가
- 숫자/통화 포맷 적용 및 클릭 가능한 스타일 클래스 추가
- router: /agent/list, /agent/settlement-ratio 라우트 등록
- SideMenu: ‘크리에이터 관리’ 바로 아래 ‘에이전트 관리’ 섹션 동적 삽입
- views: AgentList.vue, AgentSettlementRatio.vue 스텁 추가
- 콘텐츠 리스트 테이블에 정산요율 컬럼 표시(null/빈값은 공란)
- 수정 다이얼로그에 정산요율 입력 필드 추가(number, 빈값 허용)
- isSettlementRatioDeleted 플래그 추가: 체크 시 입력 비활성화 및 요청 전송 제외
- 수정 요청 시 변경된 값만 전송, 삭제 플래그 true면 settlementRatio 미포함
- created/show/cancel 시 데이터 모델 초기화 로직 반영
- 등록 폼에 언어 v-select 추가(v-if="!is_modify")
- 데이터 모델에 banner.lang 기본값 'ko'와 langItems(ko/ja/en) 추가
- submit 요청에 ISO 639 코드(lang) 포함
- 취소 시 초기화에 언어 기본값 유지
- 등록 폼에 언어 v-select 추가(v-if="!is_modify")
- 데이터 모델에 banner.lang 기본값 'ko'와 langItems(ko/ja/en) 추가
- submit 요청에 ISO 639 코드(lang) 포함
- 취소 시 초기화에 언어 기본값 유지
- refundLive API 요청 파라미터를 canUsage에서 canUsageStr로 변경
- CalculateLive 화면의 환불 함수에서 canUsageStr을 전달하도록 수정
- API URL(/admin/calculate/live/refund) 및 필드 요구사항 반영
1. 크리에이터별 채널 후원 정산 페이지 신규 개발 (/calculate/channel-donation-by-creator) 2. 날짜별 채널 후원 정산 API 경로 변경 (/admin/calculate/channel-donation-by-date) 및 연동 수정 3. 채널 후원 정산 페이지 엑셀 다운로드 방식 유지 (클라이언트 사이드) 4. 크리에이터별 채널 후원 정산 페이지 엑셀 다운로드 인증 추가 (서버 사이드) 5. 크리에이터별 채널 후원 정산 페이지 표에서 날짜 컬럼 제거
- v-autocomplete에 cache-items 적용으로 선택 항목 캐시 유지
- value-comparator를 id 기반(compareMember)으로 지정해 동등성 안정화
- items를 displaySearchItems(선택 ∪ 검색 목록)로 제공해 선택 항목 항상 포함 보장