TradeMate Dev
|
2a107a42f3
|
feat: credit-based billing system
- New DB models: credit_packages, subscription_plans, user_credits, credit_consumptions, credit_purchases
- CreditService: balance, deduct, add_credits, grant_free_trial, history
- User API: /api/v1/credits/* (balance/history/packages/purchase/subscribe)
- Admin API: /api/v1/admin/credit-* (CRUD packages/plans, user credits, consumptions)
- PaymentService.create_credit_order + handle_callback for credit purchases
- Credit deduction on: discovery, translate, marketing, ai_chat, followup
- Free trial 30 credits on registration
- Documentation: docs/CREDIT_SYSTEM.md
|
2026-06-12 10:39:45 +08:00 |
|
TradeMate Dev
|
9e9c7ac270
|
fix: additional code quality and performance improvements
Code quality:
- Remove empty except blocks with proper logging
- Create shared pagination utility function
- Remove duplicate UUID validation code
- Fix dead code in translation.py
Performance:
- Fix N+1 query in followup engine (use join instead of loop)
- Add eager loading for customer health scores
- Create database indexes for common query patterns:
- customers: (user_id, status), (user_id, last_contact_at)
- payment_transactions: (user_id, created_at)
- followup_logs: (user_id, customer_id)
- notifications: (user_id, is_read)
Configuration:
- Centralize magic numbers in config.py:
- Payment prices
- File upload limits
- Rate limiting settings
- Pagination defaults
- Update auth.py to use centralized rate limiting config
- Update customer/product imports to use centralized upload limits
- Update import_service.py to use centralized MAX_ROWS
|
2026-06-11 18:25:08 +08:00 |
|