feat(shop): 포인트 상점 구현 — 계좌 슬롯(500P)·AI 통계 크레딧(1000P→10회)
- member 테이블: extra_wallet_slots, ai_stat_credits 컬럼 추가(ALTER IF NOT EXISTS) - MemberMapper: 상점 관련 5개 메서드 추가(getExtraWalletSlots/getAiStatCredits/incrementExtraWalletSlots/addAiStatCredits/decrementAiStatCredit) - ShopService: buyWalletSlot(500P, max 3개), buyAiStatPack(1000P→10회) 구현 - ShopController: GET /api/account/shop/status, POST /api/account/shop/buy - AccountService.freeWalletLimit: bonus=0 TODO → memberMapper.getExtraWalletSlots 실제 조회 - AccountService.aiComment: FREE 회원 크레딧 차감 로직 추가, 소진 시 402 반환 - AccountController.aiComment: current 파라미터 전달 - WebConfig: /api/account/ai-comment 를 premiumInterceptor 에서 제거(서비스 레이어에서 처리) - BackupController: @DeleteMapping import 누락 수정 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
75d5c9fa9b
commit
6db6cb055e
@@ -65,6 +65,10 @@ CREATE TABLE IF NOT EXISTS iap_purchase (
|
||||
KEY idx_iap_member (member_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- 포인트 상점: 추가 계좌 슬롯(무료 회원 500P/개, 최대 3개), AI 통계 크레딧(1000P → 10회)
|
||||
ALTER TABLE member ADD COLUMN IF NOT EXISTS extra_wallet_slots INT NOT NULL DEFAULT 0 COMMENT '포인트 상점 구매 추가 계좌 슬롯 수 (최대 3)' AFTER points;
|
||||
ALTER TABLE member ADD COLUMN IF NOT EXISTS ai_stat_credits INT NOT NULL DEFAULT 0 COMMENT '포인트 상점 구매 AI 통계 크레딧 잔여 횟수' AFTER extra_wallet_slots;
|
||||
|
||||
-- 포인트 적립/차감 이력 (감사 + 일일 지급 한도 계산용).
|
||||
CREATE TABLE IF NOT EXISTS point_history (
|
||||
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||
|
||||
Reference in New Issue
Block a user