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
efb8d8115f
fix(verify-hecto): 데이터 검증시 가격비교 제거
2025-10-10 18:49:54 +09:00
41183b4648
fix(can-list): 국가별로 통화가 표시되도록 수정
2025-10-10 14:32:12 +09:00
36e20bf0d1
fix(payverse-webhook): orderId 비교 추가
...
- orderId와 chargeId 비교 로직 추가
2025-10-03 02:17:48 +09:00
0308e9ad83
fix(payverse): productName 비교 로직 제거
...
- productName에 +가 있는 경우 저장된 데이터와 검증을 위한 데이터가 다르게 나오기 때문에 비교 불가능
2025-10-03 02:10:30 +09:00
06c0374f16
사용하지 않는 print 제거
2025-10-03 01:56:55 +09:00
c5bc610e2f
webhook 호출 IP 확인을 위해 print 추가
2025-10-03 01:48:19 +09:00
a86a24ca34
사용하지 않는 print 제거
2025-10-03 01:46:52 +09:00
cb2e3ea581
fix(payverse-wehook): 한국 원화일 때와 USD일 때 mid 값이 달라야 하는데 성공 여부 비교시 원화 mid로 고정하여 비교하던 로직 수정
2025-10-03 01:29:59 +09:00
42eaf1d5e3
fix(payverse-verify): 결제 성공 여부 판단 로직 수정
...
- processingAmount 대신 requestAmount와 can 가격 비교
- productName, customerId 비교 추가
2025-10-03 01:25:27 +09:00
02ef706fc2
temp: 디버깅을 위해 print 추가
2025-10-03 00:57:50 +09:00
085b217abb
fix(can): 이전 버전의 호환성을 위해 기존의 int price를 유지하도록 수정
2025-10-03 00:02:47 +09:00
0866e0972a
값 확인을 위해 추가했던 println 제거
2025-10-02 22:31:23 +09:00
4b13265737
fix(charge): payverseVerify 결제금액 비교로직 수정
...
- BigDecimal끼리 비교하는데 casting 로직이 추가되어 문제가 생기던 버그 수정
2025-10-02 22:23:06 +09:00
79cd2b8123
debug(charge): 해외결제 DEBUG를 위해 print 임시 추가
2025-10-02 20:40:34 +09:00
8cc9641bbf
feat(charge): payloadJson의 amount
...
- 소수점 아래 불필요한 0을 제거
2025-10-02 20:29:49 +09:00
32935aed88
feat(charge): payloadJson의 amount
...
- 소수점 아래 불필요한 0을 제거
2025-10-02 19:59:04 +09:00
c72adbfc4b
temp(charge): 캔 리스트
...
- 해외 충전 테스트를 위해 전체 캔 리스트 표시
2025-10-02 19:56:23 +09:00
bc378cc619
temp(charge): 캔 리스트
...
- 해외 충전 테스트를 위해 전체 캔 리스트 표시
2025-10-02 19:03:42 +09:00
6327a5d2bf
feat(charge): 캔 충전시 통화(KRW, USD)별로 분기 처리
2025-10-02 18:59:52 +09:00
2ab2a04748
feat(can): 캔 응답 - String 형태 가격 필드 추가
2025-10-02 15:07:57 +09:00
fb0a9e98a1
사용하지 않는 print 제거
2025-10-02 12:20:25 +09:00
e45fe1bf10
feat: 일반 유저용 캔 리스트 조회 API 추가, GeoCountryFilter(GeoCountry.OTHER, GeoCountry.KR 구분용) 추가
2025-10-01 22:29:39 +09:00
b244944f41
feat: 캔 엔티티 currency - length 3으로 고정하여 CHAR(3)에 대응되도록 수정
2025-10-01 21:21:57 +09:00
3c7ba669e2
feat: Payment, AdTrackingHistory 엔티티 price - Decimal(10, 4)에 대응되도록 Column 추가
2025-10-01 21:08:35 +09:00
81e7e7129c
feat: 캔 엔티티 currency - length 3으로 고정하여 CHAR(3)에 대응되도록 수정
2025-10-01 21:05:51 +09:00
d7ad110b9e
feat: 캔 등록/조회 - currency 추가
2025-10-01 20:55:52 +09:00
0c17ea2dcd
fix: 캔 가격, Payment의 price 타입 Int, Double -> BigDecimal로 변경
2025-10-01 20:37:53 +09:00
78ff13a654
temp: 캔 가격 타입 Int -> Double로 변경
2025-10-01 16:07:34 +09:00
863c285049
fix: 불필요한 print 제거
2025-09-30 18:32:12 +09:00
a3d74c0b57
fix: Payverse Webhook 엔드포인트에서 실제 클라이언트 IP를 가져올 수 있도록 수정
2025-09-30 18:22:46 +09:00
51988471cf
temp(payverse): 호출되는 INBOUND_IP 확인하기 위해 출력
2025-09-30 17:55:31 +09:00
aab2417976
fix(payverse): print 제거
2025-09-30 17:22:39 +09:00
1bd6f8da4e
fix(payverse): PVKR 카드 코드면 method를 "카드"로 저장
2025-09-30 17:02:02 +09:00
22bd1bf042
fix(payverse): 결제 payload에 customerId 길이 30자로 제한
...
- customerId를 sha1 기반 30자 이내로 생성하도록 변경하여 스펙 준수
- 불필요한 billkeyReq 제거
2025-09-26 16:51:54 +09:00
d536a65fb4
fix(charge): payverse pg payload
...
- requestAmount의 값을 BigDecimal로 처리
2025-09-26 16:23:11 +09:00
03149a637d
feat(charge): payverse pg - webhook API 추가
2025-09-25 21:18:45 +09:00
bc6c05b3ea
feat(charge): payverse pg - 충전/검증 API 추가
2025-09-25 20:37:39 +09:00
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
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
84ebc1762b
fix(quota): 채팅 쿼터 구매 시 사용 내역 문구
...
- 캐릭터 톡 이용권 구매
2025-08-26 17:28:06 +09:00
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
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
692e060f6d
feat(character-image): 이미지 단독 구매 API 및 결제 연동 추가
...
- 구매 요청/응답 DTO 추가
- 미보유 시 캔 차감 및 구매 이력 저장
- 서명 URL(5분) 반환
2025-08-22 21:37:18 +09:00
13fd262c94
feat(chat-character-image): 캐릭터 이미지 리스트 API 추가 및 보유 판단 로직 적용
2025-08-21 17:39:19 +09:00
8e01ced1f5
feat: 커뮤니티 댓글
...
- 유료 커뮤니티 글을 구매한 경우 비밀 댓글 쓰기 기능 추가
2025-06-12 16:10:32 +09:00
8db5c6443d
fix: 쿠폰 사용 - 쿠폰 사용 완료 안내 문구 수정
2025-06-09 17:17:52 +09:00
9ed717fb95
feat: 쿠폰 사용 - 쿠폰 사용 완료 안내 문구 적용
2025-06-09 16:52:19 +09:00