feat(1895): 暂停积分系统 ENABLE_CREDIT_SYSTEM=false(保留全部代码/表/接口) #1996

Merged
auto-approve-bot merged 1 commits from feat/1895-disable-credit-system into develop 2026-09-20 01:39:03 +08:00

1 Commits

Author SHA1 Message Date
xiaoxia 44315013bd feat(1895): 暂停积分系统总开关 ENABLE_CREDIT_SYSTEM(默认 false),代码/表/接口全保留
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 40s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m18s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m55s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 3m19s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m18s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 3m37s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m51s
AI Code Review / AI Code Review (pull_request) Successful in 6m36s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 7m54s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 8m57s
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 6m51s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 23s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 49s
产品要求暂停积分扣减、全量功能对登录用户免费,但保留积分体系代码便于未来恢复。

配置(packages/config/base.py):
- 新增 credits_enabled 字段,主环境变量 ENABLE_CREDIT_SYSTEM=false(默认关闭)
- 旧 POINTS_ENABLED 保留为兼容别名(points_enabled_compat),两者任一 true 即启用
- settings.points_enabled 改为 property(credits_enabled OR compat)并保留 setter,
  现有所有业务代码/测试的 if settings.points_enabled 与赋值写法零改动
- 恢复积分只需 ENABLE_CREDIT_SYSTEM=true,无需改代码

关闭时行为:
- 所有 @points_gate 装饰的路由(AI视频/封面/预览/数字人/AI改写/AI标题/抖音解析)
  直接透传,不扣分不拦截(装饰器原已读取该开关)
- lipsync/TTS/音色克隆试听/叙事模式/注册送积分 等手动扣分点不实例化 PointsService
- POST /points/check 恒返回 allowed=True、required_points=0(未知 scene 仍 400)
- POST /points/deduct 变 no-op,不扣分、余额不变,返回 success
- 积分余额/流水/规则/充值包/会员状态/每日额度等查询接口全部保留可用,数据不再变动
- 积分表、repository、domain service、充值/退款接口均不删除

.env.example 更新为 ENABLE_CREDIT_SYSTEM=false + 旧开关说明。

测试:新增 test_credit_system_switch.py 12 用例(配置默认值/两环境变量/旧setter、
check 放行与0积分、未知scene仍400、开启时计费、deduct no-op/开启正常、查询接口
可用、业务路由不扣分);修正 test_points_routes 2 个计费用例显式打开开关。
积分/配额/会员/配置相关 422 个测试全绿。
2026-09-20 01:25:52 +08:00