Commit Graph

118 Commits

Author SHA1 Message Date
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