Klaus
fd83abb46c
feat(chat): 글로벌/방 쿼터 정책 개편, 결제/조회/차단/이관 로직 반영
...
글로벌: 무료 40, UTC 20:00 lazy refill(유료 제거)
방: 무료 10, 무료 0 순간 now+6h, 경과 시 lazy refill(무료=10, next=null)
전송: 유료 우선, 무료 사용 시 글로벌/룸 동시 차감, 조건 불충족 예외
API: 방 쿼터 조회/구매 추가(구매 시 30캔, UseCan에 roomId:characterId 기록)
next 계산: enter/send에서 경계 케이스 처리(max(room, global))
대화 초기화: 유료 쿼터 새 방으로 이관
2025-09-09 22:42:14 +09:00
Klaus
42ed4692af
feat(chat): 채팅방 초기화 API 추가 및 세션 종료 실패 시 롤백 처리
...
- /api/chat/room/{chatRoomId}/reset POST 엔드포인트 추가
- 초기화 절차: 30캔 결제 → 기존 방 나가기 → 동일 캐릭터로 새 방 생성 → 응답 반환
- 결제 시 CanUsage.CHAT_ROOM_RESET 신규 항목 사용(본인 귀속)
- ChatQuotaService.resetFreeToDefault 추가 및 초기화 성공 시 무료 10회로 리셋(nextRechargeAt 초기화)
- 사용내역 타이틀에 "캐릭터 톡 초기화" 노출(CanService)
- ChatRoomResetRequest DTO(container 포함) 추가
- leaveChatRoom에 throwOnSessionEndFailure 옵션 추가(기본 false 유지)
- endExternalSession에 throwOnFailure 옵션 추가: 최대 3회 재시도 후 실패 시 예외 전파 가능
- 채팅방 초기화 흐름에서는 외부 세션 종료 실패 시 예외를 던져 트랜잭션 롤백되도록 처리
2025-08-27 17:16:18 +09:00
Klaus
84ebc1762b
fix(quota): 채팅 쿼터 구매 시 사용 내역 문구
...
- 캐릭터 톡 이용권 구매
2025-08-26 17:28:06 +09:00
Klaus
6ecac8d331
feat(quota)!: AI 채팅 쿼터(무료/유료) 도입 및 입장/전송 응답에 상태 포함
...
- ChatQuota 엔티티/레포/서비스/컨트롤러 추가
- 입장 시 Lazy refill 적용, 전송 시 무료 우선 차감 및 잔여/리필 시간 응답 포함
- ChatRoomEnterResponse에 totalRemaining/nextRechargeAtEpoch 추가
- SendChatMessageResponse 신설 및 send API 응답 스키마 변경
- CanUsage에 CHAT_QUOTA_PURCHASE 추가, CanPaymentService/CanService에 결제 흐름 반영
2025-08-26 13:22:49 +09:00
Klaus
12574dbe46
feat(chat-room, payment): 유료 메시지 구매 플로우 구현 및 결제 연동(이미지 보유 처리 포함)
...
- 채팅 유료 메시지 구매 API 추가: POST /api/chat/room/{chatRoomId}/messages/{messageId}/purchase
- ChatRoomService.purchaseMessage 구현: 참여/유효성/가격 검증, 이미지 메시지 보유 시 결제 생략, 결제 완료 시 ChatMessageItemDto 반환
- CanPaymentService.spendCanForChatMessage 추가: UseCan에 chatMessage(+이미지 메시지면 characterImage) 연동 저장 및 게이트웨이 별 정산 기록(setUseCanCalculate)
- Character Image 결제 경로에 정산 기록 호출 누락분 보강
- ChatMessageItemDto 변환 헬퍼(toChatMessageItemDto) 추가 및 접근권한(hasAccess) 계산 일원화
2025-08-25 14:01:10 +09:00
Klaus
692e060f6d
feat(character-image): 이미지 단독 구매 API 및 결제 연동 추가
...
- 구매 요청/응답 DTO 추가
- 미보유 시 캔 차감 및 구매 이력 저장
- 서명 URL(5분) 반환
2025-08-22 21:37:18 +09:00
Klaus
13fd262c94
feat(chat-character-image): 캐릭터 이미지 리스트 API 추가 및 보유 판단 로직 적용
2025-08-21 17:39:19 +09:00
Klaus
8e01ced1f5
feat: 커뮤니티 댓글
...
- 유료 커뮤니티 글을 구매한 경우 비밀 댓글 쓰기 기능 추가
2025-06-12 16:10:32 +09:00
Klaus
8db5c6443d
fix: 쿠폰 사용 - 쿠폰 사용 완료 안내 문구 수정
2025-06-09 17:17:52 +09:00
Klaus
9ed717fb95
feat: 쿠폰 사용 - 쿠폰 사용 완료 안내 문구 적용
2025-06-09 16:52:19 +09:00
Klaus
54c0322398
feat: 쿠폰 사용 - 포인트 쿠폰이면 포인트 충전 되도록 로직 수정
2025-06-09 15:16:11 +09:00
Klaus
e3c33c71a0
feat: 쿠폰 생성, 쿠폰 리스트
...
- 쿠폰 타입(캔, 포인트) 추가
2025-06-09 14:47:33 +09:00
Klaus
30e1e461e3
유저 정보 조회
...
- 성별, 가입일, 충전횟수 추가
2025-03-12 02:51:42 +09:00
Klaus
72d10f9443
캔 충전
...
- 트래킹 로직 적용
2025-03-04 17:05:41 +09:00
Klaus
24dc521f83
관리자 충전이벤트
...
- 패키지명 변경 (admin/event -> admin/event/charge)
2025-01-15 12:29:06 +09:00
Klaus
c8f96a10f0
캔 사용내역 - 오디션 투표
...
- "[오디션 투표] 오디션명"으로 변경
2025-01-03 01:29:42 +09:00
Klaus
b10c102f94
오디션 투표 API
...
- 투표시 어떤 오디션 지원에 투표했는지 기록
- 캔 사용내역에 "[오디션 투표] 닉네임" 추가
2025-01-03 01:03:38 +09:00
Klaus
82b109e3bd
오디션 투표 API
...
- 투표시 어떤 오디션 지원에 투표했는지 기록
- 캔 사용내역에 "[오디션 투표] 닉네임" 추가
2025-01-03 00:45:49 +09:00
Klaus
cd0c066978
앱 - 오디션 투표 API
2025-01-03 00:09:53 +09:00
Klaus
ba0151bca0
라이브 방
...
- 하트 후원 기능 추가
2024-10-16 17:50:39 +09:00
Klaus
c8c081b3fd
라이브 방
...
- 하트 후원 기능 추가
2024-10-16 17:32:50 +09:00
Klaus
c8d7bdb8b7
pg 결제
...
- pg사가 카카오페이이면 "카카오페이-'결제수단'"으로 기록
2024-08-27 16:24:17 +09:00
Klaus
bb897fe965
pg 결제
...
- 결제수단 pg사 이름으로 추가
2024-08-27 16:14:29 +09:00
Klaus
1551e3231c
pg 결제
...
- pg 사 기록시 pg로 기록하지 않고 결제에서 받아오는 pg사 이름으로 수정
2024-08-27 16:04:20 +09:00
Klaus
e373e6ab0f
라이브 후원
...
- 비밀 후원 추가
2024-08-23 15:10:34 +09:00
Klaus
4a264d90d4
구매내역
...
- 알람 슬롯 구매 내역 표시
2024-07-25 22:07:43 +09:00
Klaus
766d9668c2
알람
...
- 추가 슬롯 구매 기능 추가
2024-07-25 21:53:29 +09:00
Klaus
abb60f5743
알람
...
- 추가 슬롯 개수와 가격 조회 기능 추가
2024-07-25 21:28:17 +09:00
Klaus
e3bacfb8cb
유료라이브 캔 지불 여부 판단로직
...
- 환불된 건은 지불되지 않은 걸로 판단하도록 수정
2024-07-08 12:09:02 +09:00
Klaus
9d7bd8e9ab
PG결제
...
- 헥토파이낸셜 검증코드 추가
2024-06-29 19:00:16 +09:00
Klaus
fcfcb9845f
캔 사용내역 제목 수정
...
- 콘텐츠 구매 -> [콘텐츠 구매] 콘텐츠 제목
- 게시글 보기 -> [게시글 보기] 크리에이터 닉네임
2024-05-23 21:44:54 +09:00
Klaus
059d5260a9
커뮤니티 게시글 구매 API
2024-05-23 21:36:11 +09:00
Klaus
87f22f45aa
커뮤니티 게시글 조회
...
- 응답값에 가격, 구매여부 추가
2024-05-23 12:32:22 +09:00
Klaus
b0988cca70
PG 심사를 위한 캔 충전 로직 추가
2024-05-17 21:14:49 +09:00
Klaus
81e1f7f6b1
PG 심사를 위한 캔 충전 로직 추가
2024-05-17 18:16:27 +09:00
Klaus
a3442b8f2f
구글 인 앱 결제 검증코드 수정
2024-05-03 18:58:42 +09:00
Klaus
bbb193a787
구글 인 앱 결제
...
- consumeWithRetry 조건에서 acknowledge 제거
2024-04-30 17:17:33 +09:00
Klaus
1d6c74162e
구글 인 앱 결제
...
- 재시도 횟수 3으로 수정
2024-04-19 01:36:49 +09:00
Klaus
8f84483826
구글 인 앱 결제
...
- acknowledge 과정 추가
2024-04-19 01:00:09 +09:00
Klaus
4089590bdf
안드로이드 인 앱 결제 - consume 재시도 5번으로 변경
2024-04-16 10:50:20 +09:00
Klaus
c40220f766
안드로이드 인 앱 결제 - 방어코드 추가
2024-04-15 21:24:39 +09:00
Klaus
bfc78b0ef9
결제 테이블에 구글결제의 경우 orderId 추가
2024-04-05 11:55:46 +09:00
Klaus
8e5ed5bbc1
캔 사용
...
- 구글 인 앱 결제한 캔을 사용하면 pg캔이 사용된 것처럼 보이는 것 수정
2024-04-01 21:32:48 +09:00
Klaus
ccf8b0220e
구글 인 앱구매 검증
...
- 충전 이벤트가 private method consumeWithRetry 에 구현되어 있어서 실행되지 않던 현상 수정
2024-03-29 01:56:24 +09:00
Klaus
fbc90b69d9
구글 인 앱 결제 검증
...
- 재시도 로직 추가
2024-03-23 05:04:13 +09:00
Klaus
d72055c7d3
구글 인 앱 결제 처리과정 축소
...
- 기존에는 충전과 검증 API가 분리되어 있었지만 PG와 다르게 chargeId가 필요하지 않아 충전 API에서 구글서버에 검증을 하도록 수정
2024-03-23 00:20:02 +09:00
Klaus
2e9a187935
구글 인 앱 결제 검증 과정 try/catch로 예외 처리
2024-03-22 20:38:08 +09:00
Klaus
e3f0145264
구글 인 앱 결제 검증 수정
...
- 현재 : 구매상태 확인 후 충전 완료 처리
- 수정 : 구매상태와 소비상태를 확인 후 소비되지 않았으면 소비 후 충전 완료 처리
2024-03-22 20:22:35 +09:00
Klaus
34b5dcccfc
구글 인 앱 결제 검증 수정
...
- 현재 : 구매상태 확인 후 충전 완료 처리
- 수정 : 구매상태와 소비상태를 확인 후 소비되지 않았으면 소비 후 충전 완료 처리
2024-03-22 19:02:15 +09:00
Klaus
4023476685
구글 인 앱 결제 검증 수정
...
- 현재 : 구매상태 확인 후 충전 완료 처리
- 수정 : 구매상태와 소비상태를 확인 후 소비되지 않았으면 소비 후 충전 완료 처리
2024-03-22 18:54:03 +09:00