feat: 会员+积分系统后端 (#1895) #1919

Merged
auto-approve-bot merged 7 commits from feature/1895-membership-points into develop 2026-09-15 09:23:26 +08:00

7 Commits

Author SHA1 Message Date
CI Bot 10a8d76052 style: auto-format with black + isort + ruff + prettier [skip ci-format-check]
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 46s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 48s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m10s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m15s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 2m44s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m4s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m7s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 5m49s
AI Code Review / AI Code Review (pull_request) Successful in 7m51s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 7m56s
CI/CD Pipeline / CI Gate (pull_request) Successful in 2s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 5m35s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 30s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 36s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 30h1m0s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 30h8m55s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 30h8m59s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 30h9m1s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 30h8m24s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 30h8m24s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 30h8m25s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 30h0m27s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 30h0m27s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 30h0m27s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 30h8m13s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 30h8m23s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 30h8m26s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 30h0m25s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 30h8m14s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 30h8m19s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 30h8m21s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 30h8m29s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 30h43m47s
2026-09-15 01:14:39 +00:00
xiaoxia f69752024a test: add comprehensive unit tests for repositories and points_gate (#1895)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 37s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 39s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m6s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m12s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m53s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 3m3s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 6m9s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 30h16m54s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 30h17m2s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 30h17m5s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 30h16m24s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 30h16m27s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 30h16m27s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 30h16m29s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 30h16m29s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 30h16m34s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 30h16m19s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 30h16m30s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 30h16m18s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 30h16m31s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 30h52m2s
- test_points_repositories.py: 18 tests covering all 4 SA repository implementations
- test_points_gate.py: 10 tests covering points_gate decorator sync/async/edge cases
- Total unit tests: 68 (was 40)
2026-09-15 09:06:32 +08:00
xiaoxia 0a4bf5c856 fix: resolve ruff B904 lint error in points routes
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 41s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 43s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m12s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m29s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m1s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 3m1s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m15s
AI Code Review / AI Code Review (pull_request) Successful in 6m38s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 6m39s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 9m2s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Failing after 1s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 6m11s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 30h24m34s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 30h33m28s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 30h33m39s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 30h33m40s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 30h32m57s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 30h32m59s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 30h33m0s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 30h33m2s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 30h33m6s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 30h33m6s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 30h33m12s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 30h24m3s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 30h24m3s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 30h24m3s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 30h32m54s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 30h23m59s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 30h32m54s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 30h33m7s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 30h33m7s
2026-09-15 08:49:51 +08:00
CI Bot 78d96c5d2b style: auto-format with black + isort + ruff + prettier [skip ci-format-check]
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 40s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 40s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m13s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m17s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 2m34s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 2m45s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m58s
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 30h37m14s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 30h37m19s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 30h37m58s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 30h38m6s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 30h36m44s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 30h36m45s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 30h36m45s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 30h37m32s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 30h37m32s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 30h37m33s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 30h36m40s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 30h36m40s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 30h37m25s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 30h37m25s
2026-09-15 00:45:35 +00:00
xiaoxia d60fa86d70 feat: add Alembic migration 076 for membership & points system (#1895)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m37s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 16s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 36s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m4s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 2m57s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m50s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 3m36s
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 30h39m43s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 30h39m53s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 30h41m44s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 30h39m19s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 30h39m20s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 30h39m32s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 30h41m10s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 30h41m11s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 30h39m5s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 30h39m7s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 30h39m14s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 30h39m36s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 30h41m12s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 31h15m8s
- Add is_member, member_type, member_expires_at, points_balance to users table
- Create points_accounts, points_transactions, points_orders, daily_usage_records tables
- Include proper indexes, constraints and downgrade path
2026-09-15 08:41:50 +08:00
CI Bot c480bf1b44 style: auto-format with black + isort + ruff + prettier [skip ci-format-check]
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 7s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 22s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 53s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 30h43m43s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 30h43m52s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 30h43m58s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 30h43m14s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 30h43m18s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 30h43m24s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 30h43m24s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 30h43m24s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 30h43m29s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 30h43m18s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 30h43m9s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 30h43m13s
2026-09-15 00:39:34 +00:00
xiaoxia c3e1ab62ed feat: add membership & points system backend (#1895)
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 1s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 1s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 1m57s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m26s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 2m51s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 3m17s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m18s
CI/CD Pipeline / Validate - Style (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Security (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 30h47m23s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 30h47m29s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 30h47m31s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 30h46m59s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 30h46m57s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 30h46m49s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 30h46m54s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 30h46m54s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 30h46m54s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 30h46m55s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 30h46m55s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 30h46m49s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 30h46m56s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 30h46m57s
- Add migration 008_membership_points.sql: users table new fields + 4 new tables
- Add domain objects: PointsAccount, PointsTransaction, PointsOrder, DailyUsageRecord
- Add repository ports & SQLAlchemy adapter implementations
- Add PointsService with balance/charge/refund/recharge/daily-usage logic
- Add points_rules configuration (9 scenes, packages, membership pricing)
- Add points_gate middleware decorator for AI feature entry points
- Add API routes: points balance/transactions/rules/packages/check/deduct/refund/recharge
- Add API routes: membership status, daily usage
- Add unit tests for points_rules (20 tests) and points_service (20 tests)
2026-09-15 08:35:55 +08:00