Commit Graph
100 Commits
Author SHA1 Message Date
klaus 3c32559c5d feat(series-banner): 시리즈 배너를 언어별로 등록하고 노출한다 2026-04-02 16:59:31 +09:00
klaus d3b1f4bcd4 fix(chat-banner): 관리자 배너 목록에 언어 표기를 추가한다 2026-04-02 15:51:50 +09:00
klaus ee14389786 feat(chat-banner): 다국어 캐릭터 배너 등록과 노출을 지원한다
배너를 언어별로 저장하고 요청 언어 우선 조회 후 한국어로 fallback 하도록 맞춘다.
2026-04-02 15:32:42 +09:00
klaus 06acfae1c9 fix(chat): AI 캐릭터 성인 접근 판정을 국가별 정책에 맞춘다 2026-04-02 14:15:28 +09:00
klaus 8705389ddd fix(can-coupon): 쿠폰 사용 본인인증 예외를 성인 노출 정책에 맞춘다 2026-04-02 11:28:21 +09:00
klaus 38fd826fe4 feat(live-room): 라이브 캡쳐 녹화 가능 여부를 생성 조회에 반영한다 2026-03-30 21:27:40 +09:00
klaus a4ffab0351 fix(member-social): 애플 로그인 aud 검증에 serviceId를 포함한다 2026-03-30 09:21:59 +09:00
klaus 2160e7b9dd fix(live-room): 진행중 목록 성인 노출 정책과 JP 강제 매핑 검증을 정리한다 2026-03-28 22:53:44 +09:00
klaus 0efdfbeed8 fix(channel-donation): 후원 목록 탈퇴 닉네임 접두사를 제거한다 2026-03-28 19:06:04 +09:00
klaus feb1ab9f13 fix(content-preference): 조회 API 선호도 쿼리 파라미터를 제거한다 2026-03-28 18:09:39 +09:00
klaus ff47a7686a fix(content-preference): 조회 선호도 오버라이드 파라미터를 제거해 저장값만 사용한다 2026-03-28 00:51:19 +09:00
klaus ae68886bdb fix(content-preference): 멤버 콘텐츠 선호 신규 생성 정책을 저장값 기준으로 정리한다 2026-03-27 21:37:59 +09:00
klaus a87bd147dc feat(content-preference): 콘텐츠 조회 설정 서버 저장 전환을 반영한다 2026-03-27 13:33:51 +09:00
klaus 1ba3cb8a40 fix(member): 회원 차단을 요청 ID 단건만 적용한다 2026-03-25 20:42:24 +09:00
klaus 447735cad5 fix(content): 차단된 구매자의 오디오 상세 조회를 허용한다 2026-03-24 19:21:58 +09:00
klaus 681ee11784 feat(live-room): 라이브 생성 태그 기반 19금 전환 조건 확장 2026-03-24 11:42:29 +09:00
klaus bbb82a27c7 feat(deploy): EC2 배포 스크립트에 JVM 옵션 로드 기능 추가 2026-03-23 18:29:10 +09:00
klaus cfc679611c feat(db): Aurora Serverless v2(0.5~2 ACU) 최적화용 Hikari 풀 설정 추가
- maximumPoolSize=10, minimumIdle=0, idleTimeout=2m, maxLifetime=30m, connectionTimeout=10s, keepalive=0 적용
- 환경변수 미설정 시 안전한 기본값으로 동작하도록 `${DB_POOL_*}` 기본값 제공
- 유휴 시 커넥션 상주 최소화로 다운스케일 유도 및 비용/성능 균형 개선
2026-03-23 13:55:51 +09:00
klaus fe093a942c perf(explorer:creator-profile): 라이브방 목록 N+1 제거 및 예약/결제 여부 일괄 조회
- member 연관 로딩에 fetch join 적용으로 N+1 제거
- reservations 컬렉션 접근 제거 → QLiveReservation 기반 방 ID 일괄 조회로 isReservation 계산
- useCan per-room 조회 제거 → 방 ID 집합 일괄 조회(Set)로 isPaid 계산
- 기존 비즈니스 로직(날짜 포맷, 성인/성별 필터, PRIVATE 플래그 등) 유지
2026-03-19 16:45:36 +09:00
klaus 2e0f0c5044 fix(explorer): getCreatorProfile 라이브 응답의 coverImageUrl을 크리에이터 프로필 이미지로 교체
- ExplorerQueryRepository의 LiveRoomResponse 매핑에서 커버 이미지 → 프로필 이미지로 변경
- 프로필 이미지 URL 규칙 적용: null/빈→기본 이미지, https로 시작 시 원본 유지, 상대 경로는 CloudFront 접두
- 응답 스키마/필드명은 호환성 유지를 위해 그대로 유지
2026-03-19 16:34:08 +09:00
klaus f26c97861e feat(live-room): 라이브 룸 채팅 얼림 상태 저장/조회 기능 추가
- `LiveRoomInfo`에 `isChatFrozen` 필드(기본 false) 추가하여 Redis에 상태 저장 가능
- `GetRoomInfoResponse`에 `isChatFrozen` 노출 및 `LiveRoomService.getRoomInfo` 매핑 반영
- 요청 DTO `SetChatFreezeRequest(roomId, isChatFrozen)` 추가
- `PUT /live/room/info/set/chat-freeze` 엔드포인트 추가(크리에이터 권한 검증 포함)
2026-03-19 16:20:47 +09:00
klaus ddfb194716 fix(live-room): 라이브 방 후원 랭킹 조회에 기간 설정을 반영한다 2026-03-17 15:35:07 +09:00
klaus 3ac6aeaf9d feat(creator-community): 커뮤니티 게시물 고정 기능을 추가한다 2026-03-16 18:07:36 +09:00
klaus 5d7bb8590f fix(can): 캔 사용 내역 조회시 환불된 사용 내역은 조회되지 않도록 수정 2026-03-16 16:01:42 +09:00
klaus 9007bd6593 fix(can): 캔 사용 내역 조회 DISTINCT 오류를 수정한다 2026-03-16 15:46:37 +09:00
klaus 8cf1ef5c69 docs(can): 캔 사용 내역 작업 문서를 정리한다 2026-03-16 15:26:21 +09:00
klaus 21c02deda1 refactor(can): 캔 사용 내역 조회 로직을 쿼리 기반으로 개선한다 2026-03-16 15:25:58 +09:00
klaus a2f84111cc docs(agent-rules): 테스트와 주석 작성 규칙을 보강한다 2026-03-16 15:25:25 +09:00
klaus e2cbca1b84 feat(admin-calculate): 관리자 라이브 환불 처리와 정산 응답 식별자를 추가한다 2026-03-16 12:25:50 +09:00
klaus 02196eba4c fix(admin-chat-character): JP 리전 캐릭터 등록 성별 값을 일본어로 변환한다 2026-03-16 11:17:03 +09:00
klaus 7251939107 fix(fcm): 시스템 카테고리 알림 저장 제외 정책을 서비스에 반영한다 2026-03-13 22:57:37 +09:00
klaus 205cfe0899 docs(push-notification): 푸시 시스템 카테고리 저장 정책 보완 작업 문서를 추가한다 2026-03-13 22:57:15 +09:00
klaus b13a9888d4 feat(creator-community): 커뮤니티 댓글 알림 딥링크에 게시글 식별자를 포함한다 2026-03-13 18:54:14 +09:00
klaus 5b547cb73c fix(push-notification-list): 푸시 알림 조회 기간 타임존 기준을 로컬 1주로 통일한다 2026-03-13 18:09:34 +09:00
klaus 71636e0ac2 fix(live-recommend): 팔로잉 전체 채널 조회의 group by 오류를 수정한다 2026-03-13 13:42:01 +09:00
klaus 3287e718c4 fix(push-notification-list): 푸시 알림 조회 JSON 함수 쿼리 파싱 오류를 수정한다 2026-03-12 17:09:08 +09:00
klaus f69ace570a feat(fcm): 푸시 알림함 저장 및 카테고리 조회를 지원한다 2026-03-11 19:33:07 +09:00
klaus f5c3c62e68 feat(fcm): 푸시 딥링크 파라미터를 추가해 알림 화면 이동을 지원한다 2026-03-09 14:19:57 +09:00
klaus bf6dac173a fix(admin-calculate): 관리자 정산 조회 캐시를 제거하고 응답 직렬화를 명시한다 2026-03-06 12:00:30 +09:00
klaus 32d32ebcb8 docs(admin-charge): 관리자 충전 상세 캔 수량 추가 계획과 검증 기록을 반영한다 2026-03-05 17:46:46 +09:00
klaus 20ebcf812e feat(admin-charge): 관리자 충전 상세 응답에 캔 수량 필드를 추가한다 2026-03-05 17:46:24 +09:00
klaus 901afcff97 refactor(admin-charge): 충전 상세 응답 QueryProjection 조회로 구조를 단순화한다 2026-03-05 17:32:34 +09:00
klaus ee03934496 fix(admin-charge): 관리자 충전 상세 응답 식별자를 chargeId로 변경한다 2026-03-05 17:13:06 +09:00
klaus 21d26b76f4 feat(admin-charge): 관리자 캔 환불 API로 미사용 7일 이내 환불을 처리한다 2026-03-05 17:05:05 +09:00
klaus 12f3a76c57 docs(admin-member): 관리자 사용자 차단 계획과 검증 기록을 추가한다 2026-03-05 15:38:58 +09:00
klaus 70530f87fc fix(auth): 활성 계정 조회 조건을 본인인증 식별 조합으로 강화한다 2026-03-05 15:38:47 +09:00
klaus 94eb11ad5a test(admin-member): 관리자 사용자 차단 서비스 테스트를 추가한다 2026-03-05 15:38:34 +09:00
klaus 6b274b9529 feat(admin-member): 관리자 사용자 차단 기능을 추가한다 2026-03-05 15:38:26 +09:00
klaus c422bb3d6e fix(calculate): 관리자 정산 목록 조회와 엑셀 다운로드에 페이징 기반 조회를 적용한다 2026-03-05 14:12:35 +09:00
klaus 96ab4da1b0 feat(calculate): 관리자 정산 목록 응답에 totalCount와 items 구조를 추가한다 2026-03-05 14:12:26 +09:00
klaus 0ba23f7987 docs(calculate): 관리자 정산 페이징 작업 계획과 검증 기록을 남긴다 2026-03-05 14:12:19 +09:00
klaus d51edfc9a2 fix(calculate): 크리에이터별 정산 조회 GROUP BY 오류를 수정한다 2026-03-05 13:47:24 +09:00
klaus 6ac94174c8 fix(calculate): 관리자 정산 엑셀 다운로드를 스트리밍 방식으로 전환한다 2026-03-05 12:21:57 +09:00
klaus 07f8d22024 fix(calculate): 콘텐츠 후원 정산 비율을 70퍼센트로 통일한다 2026-03-05 11:47:55 +09:00
klaus 1fbad0f2bb fix(channel-donation): 관리자 채널후원 정산 조회를 날짜별과 크리에이터별로 분리하고 엑셀 다운로드를 추가한다 2026-03-03 14:42:42 +09:00
klaus ad872923ee fix(channel-donation): 후원 조회 월 경계를 UTC 전달 기준으로 보정한다 2026-03-03 12:07:23 +09:00
klaus de8917b312 fix(channel-donation): 기부 목록 조회 월 범위를 한국 시간 기준으로 계산한다 2026-03-03 11:11:30 +09:00
klaus 3e4e23eb73 fix(live-room): 최근 종료 라이브 조회와 캐시 무효화를 최적화한다 2026-02-27 14:42:29 +09:00
klaus a85bc67f7a fix(channel-donation): 채널 후원 조회 기간을 월 경계 기준으로 통일한다 2026-02-27 13:57:04 +09:00
klaus 44a67f1f0f fix(explorer): 채널 후원을 크리에이터 후원랭킹 집계에 반영한다 2026-02-27 12:08:10 +09:00
klaus 331361fde6 fix(explorer): 크리에이터 프로필 응답에서 activitySummary 필드를 제거한다 2026-02-27 11:43:02 +09:00
klaus e6ecf8aca1 feat(channel-donation-calculate): 채널 후원 정산 응답에 기간 합계를 추가한다 2026-02-26 19:44:37 +09:00
klaus 19d3544c72 feat(channel-donation-calculate): 채널 후원 정산 조회 기능을 추가한다 2026-02-26 18:57:02 +09:00
klaus dd9cd788ca fix(recommend-live): 차단 관계를 추천 조회에 반영하고 캐시를 무효화한다 2026-02-26 03:33:09 +09:00
klaus e7252574d2 fix(content-series): 차단 접근 오류 메시지 키를 분리한다 2026-02-26 01:41:06 +09:00
klaus 389727cdb5 fix(series): 오리지널 시리즈 조회에 양방향 차단 필터를 적용한다 2026-02-26 01:27:14 +09:00
klaus d5db08faca fix(rank): 홈 콘텐츠 랭킹 차단 크리에이터를 양방향으로 필터링한다 2026-02-26 01:08:26 +09:00
klaus 1f611ef46e fix(rank): 인기 크리에이터 차단 필터를 양방향으로 적용한다 2026-02-25 22:23:37 +09:00
klaus 39c215c042 fix(member-block): 동일인 판별 조건을 name birth di gender 조합으로 강화한다 2026-02-25 22:03:57 +09:00
klaus 5f63574daa fix(profile): 사용하지 않는 blogUrl 제거, 잘못 제거된 youtubeUrl 다시 추가 2026-02-25 21:10:40 +09:00
klaus a983ed1562 fix(profile): 사용하지 않는 blogUrl 제거, 잘못 제거된 youtubeUrl 다시 추가 2026-02-25 21:03:14 +09:00
klaus 4e12eaddfe fix(channel-donation): 후원 메시지 캔 수량을 천단위 콤마로 표시한다 2026-02-25 20:40:54 +09:00
klaus d398d4780a fix(profile): 사용하지 않는 websiteUrl, blogUrl 제거 2026-02-25 14:21:50 +09:00
klaus 16cc26f3f9 fix(explorer): JSON 직렬화 키를 명시해 응답 필드 매핑을 고정한다 2026-02-25 11:56:34 +09:00
klaus 02cb4aa29c fix(profile): non-null 응답 호환을 위해 누락된 SNS 필드를 복구한다 2026-02-24 19:30:09 +09:00
klaus 772883993b feat(profile): 카카오 오픈채팅 URL 필드로 프로필 응답과 수정을 통일한다 2026-02-24 17:22:29 +09:00
klaus 1650ed402c feat(channel-donation): 채널 후원 기능 추가 2026-02-23 22:54:10 +09:00
klaus fa5e65b432 fix(explorer): 미래 라이브 포함으로 음수 D+ 노출을 방지한다 2026-02-23 16:51:53 +09:00
klaus 2cf797869b docs(agents): 검증 기록 누적 작성 규칙을 보강한다 2026-02-23 16:26:14 +09:00
klaus 10e1c1eed0 feat(explorer): 크리에이터 상세정보 조회 API를 추가한다 2026-02-23 16:25:57 +09:00
klaus cc74628107 fix(block-member): 양방향 차단 관계의 댓글·응원·콘텐츠 노출을 차단한다 2026-02-23 14:08:23 +09:00
klaus 07fb6202a8 fix(member): 동일 본인인증 계정 차단을 함께 적용한다 2026-02-23 11:00:00 +09:00
klaus ecef49393b feat(member): 팬심M 및 X URL 필드를 프로필 응답에 연동한다 2026-02-20 19:31:13 +09:00
klaus c3a2ca66f8 fix(comment-nickname): deleted_ 로 시작하는 닉네임 접두사 노출을 제거한다 2026-02-20 18:48:13 +09:00
klaus 211eb3507c refactor(commit): 커밋 정책을 commit-policy 스킬로 분리한다 2026-02-20 16:26:11 +09:00
klaus 6cf9a353f4 docs(opencode): /commit 커스텀 커맨드 추가 작업 기록을 남긴다 2026-02-20 16:25:58 +09:00
klaus a178fb6558 docs(lsp): Markdown LSP 설정 반영 기록 문서를 추가한다 2026-02-20 11:47:24 +09:00
klaus fe5eefde31 fix(commit): AGENTS 규칙과 커밋 메시지 검사 스크립트를 정합화한다 2026-02-20 11:47:18 +09:00
klaus aaf6a1779f AGENTS 작업 가이드를 최신 규칙으로 개편한다 2026-02-20 11:14:26 +09:00
klaus a3affbaa85 사용하지 않는 코드 제거 2026-02-13 18:00:18 +09:00
klaus 1b039bccea Group_concat 제거 및 애플리케이션 레벨 데이터 병합 적용
EnumPath 사용 시 발생하는 Hibernate QueryException을 해결하기 위해 group_concat 사용을 전면 제거함.
연재 요일 데이터를 개별 쿼리로 조회한 후 메모리에서 시리즈 ID를 기준으로 그룹화하여 결과를 생성하도록 수정함.
2026-02-13 17:49:31 +09:00
klaus a76c3ba34a EnumPath에 stringValue()를 적용하여 group_concat 오류 해결
Querydsl에서 Enum 타입을 group_concat 함수의 인자로 사용할 때 발생하는
Hibernate QueryException을 해결하기 위해 EnumPath에 stringValue()
를 적용하여 문자열로 변환한 후 함수를 호출하도록 수정함.
2026-02-13 17:26:53 +09:00
klaus 43c5a8e8cb 시리즈 발행 요일 정렬 보정 2026-02-13 17:09:44 +09:00
klaus 999507ee15 번역 제목 조회 방식 수정 2026-02-13 16:47:22 +09:00
klaus 88612b3479 번역 제목 조회 방식 수정 2026-02-13 16:37:13 +09:00
klaus ec077d23f0 인기 캐릭터 번역 조회 개선 2026-02-13 15:46:54 +09:00
klaus 01a1a05d77 시리즈 목록 조회 쿼리 최적화 2026-02-13 15:15:31 +09:00
klaus ac0def6187 OriginalAudioDrama 리스트 조회 쿼리 최적화
OriginalAudioDrama 리스트 조회 시 엔티티 대신 DTO를 직접 조회하도록 개선
콘텐츠 개수, 신규 콘텐츠 여부, 번역 제목을 서브쿼리와 조인을 통해 한 번에 가져오도록 하여 기존의 N+1 문제와 다수의 추가 쿼리 발생을 해결
2026-02-13 12:10:13 +09:00
klaus 341f24c643 HomeService fetchData 리팩토링 및 DB JOIN 기반 번역 적용
fetchData 함수에서 별도로 수행하던 번역 데이터 조회를 DB JOIN 및
COALESCE를 사용하도록 개선하여 성능을 최적화함.

- AudioContentRepository, RankingRepository 등에 locale 파라미터 추가
- DB 레벨에서 번역된 제목을 조회하도록 쿼리 수정
- HomeService에서 불필요한 getTranslatedContentList 호출 제거
2026-02-13 10:37:06 +09:00
klaus 46b0989795 홈 API 응답에서 사용하지 않는 큐레이션 제거 2026-02-12 19:29:01 +09:00