a6b815ad05
fix(series-main): 완료 시리즈 랜덤 정렬
2025-11-19 17:48:07 +09:00
d89122802a
fix(series): 시리즈 리스트 랜덤 정렬로 조회할 수 있도록 기능 추가
2025-11-19 17:45:46 +09:00
690432d6ee
fix(latest-content): 최신 콘텐츠 전체보기에서 유/무료 모두 조회되도록 수정
2025-11-18 19:21:15 +09:00
bc358d18de
fix(latest-content): 최신 콘텐츠 전체보기에서 사용하는 theme에서 제외하는 theme 없이 모두 조회하도록 수정
2025-11-18 18:56:09 +09:00
add88aca35
fix(series-list): 시리즈 리스트 조회시 정렬 수정
2025-11-17 22:24:01 +09:00
b6971f6a8d
fix(series-list): creator의 시리즈를 볼 떄와 다른 페이지에서 시리즈 리스트를 볼 때 정렬 순서 분리
2025-11-17 21:13:52 +09:00
f83dd47c7c
fix(security-config): 홈 > 콘텐츠 랭킹을 로그인 하지 않아도 조회가 가능하도록 수정
2025-11-17 15:58:23 +09:00
146f733f5d
feat(chat-character): 추천 캐릭터 개수 20 -> 30개로 변경
2025-11-17 15:50:40 +09:00
806fcfe7db
feat(home): 추천 콘텐츠 개수 20 -> 30개로 변경
2025-11-17 15:49:06 +09:00
04e7c90407
fix(character): isNew -> new로 변경
2025-11-14 05:39:56 +09:00
f278497526
fix(character): isNew -> new로 변경
2025-11-14 05:37:24 +09:00
597bd8f8ae
feat(chat-character): Character DTO에 isNew 매핑 적용(N+1 제거)
...
- 내용: 서비스 매핑에서 보조 쿼리 결과를 이용해 `isNew` 채움
2025-11-13 22:44:13 +09:00
e4c1cf5a9a
feat(repo): 최근 3일 내 이미지 보유 캐릭터 id 일괄 조회 쿼리 추가
...
- 내용: `findCharacterIdsWithRecentImages(characterIds, since)` 추가
- 본문: 왜(이유) – N+1 제거, 무엇 – IN 기반 벌크 조회
2025-11-13 22:41:20 +09:00
9f6bdf6ed8
feat(series-main): 장르별 시리즈 group 조건 수정
...
- audioContent.id를 그룹 조건에서 제거
2025-11-13 19:59:54 +09:00
4f89b0189e
feat(series-main): 시리즈 홈, 요일별 시리즈, 장르별 시리즈 API 추가
2025-11-13 16:02:11 +09:00
27be9a4fc2
feat(series-banner): 시리즈 배너의 등록, 수정, 삭제, 조회 및 정렬 순서 일괄 변경 기능이 추가
2025-11-13 11:37:46 +09:00
9464cc5ed4
feat(series): 완결된 시리즈를 조회할 수 있도록 isCompleted 파라미터 추가
2025-11-13 10:22:55 +09:00
39760e16ff
feat(series): 오직 보이스온에서만(오리지널) 제공하는 콘텐츠도 조회할 수 있도록 isOriginal 파라미터 추가
2025-11-12 17:25:38 +09:00
bf149c45ad
feat(admin-series): 관리자 시리즈 리스트 응답에 publishedDaysOfWeek(리스트)와 isOriginal(Boolean) 추가
2025-11-12 16:37:28 +09:00
4f52ec0663
fix(admin-series): 시리즈 수정 API 추가
2025-11-12 14:58:48 +09:00
3ed306ae8c
fix(content): 콘텐츠 리스트 조회 API
...
- 로그인 된 사용자만 사용할 수 있도록 수정
2025-11-12 13:56:37 +09:00
ee35244296
feat(content): 콘텐츠 리스트 조회 API
2025-11-12 13:47:30 +09:00
fe76ecdfa9
feat(chat-character): 보온 주간 차트 콘텐츠 정렬 기준 추가
...
- 매출, 판매량, 댓글 수, 좋아요 수, 후원
2025-11-11 23:02:58 +09:00
16b6c13309
feat(chat-character): 추천 캐릭터 조회 및 메인/새로고침 API 반영
2025-11-11 17:01:50 +09:00
80c44373c7
refactor(home): 추천 dedup 자료구조를 LinkedHashMap에서 Set+List로 교체
2025-11-11 14:46:36 +09:00
a538bb766d
feat(home): 홈 추천 콘텐츠 조회 및 전용 엔드포인트 추가
...
- HomeService: getRecommendContentList 추가 및 fetchData에 recommendContentList 주입
- HomeController: GET /api/home/recommend-contents 엔드포인트 추가
- 추천 로직은 랜덤 20개, 성인/타입/차단 필터 반영
2025-11-11 14:21:37 +09:00
26c09de7c9
feat(admin-can): 관리자 캔 충전 API를 다중 회원 일괄 충전으로 확장
...
- AdminCanChargeRequest: memberId → memberIds(List<Long>)로 변경
- AdminCanService.charge: memberIds 선조회 후 다건 충전 로직 추가
- 잘못된/비어있는 회원번호 검증 및 트랜잭션 롤백으로 정합성 보장
배경: 관리자 일괄 충전 요구사항 반영으로 여러 회원에게 동일 수량의 캔을 한 번에 충전할 수 있도록 개선. 중복 ID는 제거하여 중복 충전을 방지하고, 하나라도 유효하지 않으면 전체 롤백되도록 처리하여 데이터 정합성 확보.
2025-11-10 15:15:10 +09:00
82bd93c1ae
feat(admin-member): 닉네임 검색으로 회원 id, nickname 반환 API 추가
2025-11-10 14:39:44 +09:00
e24e8372a8
feat(home): 포인트 사용 가능 콘텐츠 리스트 추가
2025-11-10 13:58:17 +09:00
eab7dc4521
feat(home-free-content): 최신 콘텐츠 조회 함수 getLatestContentByTheme에 orderbyRandom flag를 추가하여 랜덤으로 정렬한 후 데이터를 가져올 수 있도록 수정
2025-11-10 12:14:24 +09:00
5ca666c7fa
feat(home-latest-content): 최신 콘텐츠 조회시 정렬 조건 변경
...
- 기존: id 내림차순
- 변경: 오픈일 내림차순
2025-11-07 20:48:08 +09:00
8fb3bd578f
feat(live-room-heart): like-heart API의 request에 heartCount를 추가하여 왕하트(100개)를 쓸 수 있도록 수정
2025-11-03 11:30:42 +09:00
01fad8d93c
feat(change message): 비비드 넥스트 -> 주식회사 소다라이브
2025-11-03 11:24:48 +09:00
a05ada5df0
feat(can-use-status): PAYVERSE로 충전한 캔을 사용한 내역도 포함되도록 수정
2025-10-22 23:13:24 +09:00
34480385d3
UseCalculate에 PAYVERSE로 충전한 캔 로그 데이터를 쌓도록 수정
2025-10-22 22:22:03 +09:00
fd68ed87a3
fix(can-use): PAYVERSE로 충전한 캔이 사용되지 않는 버그 수정
2025-10-22 21:34:39 +09:00
779fc5c5a5
feat(chat): 채팅권 구매 가격과 채팅횟수 변경
...
- 기존: 30캔, 채팅 40개
- 변경: 10캔, 채팅 12개
2025-10-22 16:40:54 +09:00
08ebb311fb
feat(home): 인기 캐릭터 추가
2025-10-20 14:47:13 +09:00
12cdd25be7
feat(creator-profile-live): LiveRoomResponse에 utc 기반의 라이브 시작 시간 추가
2025-10-16 15:05:23 +09:00
59700493eb
feat(explorer): 크리에이터 프로필에 최신/총/소장 콘텐츠 정보 추가
...
- ExplorerService.getCreatorProfile에서 다음 정보 계산/반환
- 최신 오디오 콘텐츠 1개(`latestContent`)
- 전체 콘텐츠 수(`totalContentCount`)
- 조회 유저의 소장 콘텐츠 수(`ownedContentCount`)
- ExplorerQueryRepository.getOwnedContentCount 추가
- 활성 KEEP 또는 유효한 RENTAL 주문 기준으로 distinct 카운트
- GetCreatorProfileResponse 스키마 확장
- `latestContent`, `totalContentCount`, `ownedContentCount` 필드 추가
- AudioContentService.getLatestCreatorAudioContent 사용해 최신 콘텐츠 조회 로직 보강
- 성인 콘텐츠 노출 여부 및 구매/대여 상태 반영
- OrderRepository의 주문 타입 조회 로직을 활용해 보유/대여 상태 표시
API 응답 필드가 추가되어 프로필 화면 구성 정보를 보강합니다. (호환성 유지)
2025-10-14 15:35:15 +09:00
88c3a84972
perf(admin-charge): 통화별 합계를 DB 그룹 집계로 이관하여 전송량/CPU 감소
2025-10-11 05:41:14 +09:00
db0d3a6ef3
refactor(admin-charge): QGetChargeStatusQueryDto의 currency가 null이면 KRW로 설정되도록 coalesce("KRW") 적용
2025-10-11 05:07:21 +09:00
3d29d27441
refactor(admin-charge): QGetChargeStatusQueryDto의 currency가 null이 되지 않도록 coalesce("") 사용
2025-10-11 04:52:58 +09:00
b5f66603bd
refactor(admin-charge): QGetChargeStatusQueryDto의 currency가 null이 되지 않도록 coalesce("") 사용
2025-10-11 04:39:15 +09:00
976eeaa443
refactor(admin-charge): GetChargeStatusDetailResponse의 amount 타입을 Int에서 BigDecimal로 변경
...
- 충전 금액 계산을 좀 더 명확하게 하기 위해서 변경
2025-10-11 03:54:47 +09:00
25d1d813f1
refactor(admin-charge): HQL 파싱 에러 해결 위해 RIGHT → substring/length 치환
2025-10-11 03:37:46 +09:00
778f0c3ba2
fix(admin/charge): 통화별 리스트와 합계 행 추가 및 전체 합계 로직 수정
...
- 기존 로직은 통화 구분 없이 전체 합계를 계산·표시하여 통화가 혼재된 데이터에서 오해의 소지가 있었음.
- 관리 화면 요구사항: 통화(currency)별 합계를 명확히 제공.
2025-10-11 03:12:10 +09:00
38c50a4f8a
fix(admin/charge): 통화별 리스트와 합계 행 추가 및 전체 합계 로직 수정
...
- 기존 로직은 통화 구분 없이 전체 합계를 계산·표시하여 통화가 혼재된 데이터에서 오해의 소지가 있었음.
- 관리 화면 요구사항: 통화(currency)별 합계를 명확히 제공.
2025-10-11 02:31:15 +09:00
c497f321bb
fix(admin-charge-status-detail): pgChargeAmount와 can의 가격을 가져와서 사용하는 로직을 제거하고 payment에 기록된 가격으로 계산하도록 수정
2025-10-10 23:32:36 +09:00
84c0768c8b
fix(admin-charge-status): pgChargeAmount와 can의 가격을 가져와서 사용하는 로직을 제거하고 payment에 기록된 가격으로 계산하도록 수정
2025-10-10 22:31:36 +09:00