Commit Graph

12 Commits

Author SHA1 Message Date
MSuMshk
0f900e108d feat(admin): 新增管理员角色、账单、订阅、套餐管理功能
- 新增 AdminRolesController 实现角色 CRUD 和权限管理
- 新增 BillingsController 实现账单查询功能
- 新增 SubscriptionsController 实现订阅管理功能
- 新增 TenantPackagesController 实现套餐管理功能
- 新增租户详情、配额使用、账单列表等查询功能
- 新增 TenantPackage、TenantSubscription 等领域实体
- 新增相关枚举:SubscriptionStatus、TenantPackageType 等
- 更新 appsettings 配置文件
- 更新权限授权策略提供者

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 09:11:44 +08:00
e15ab4f0be feat: 实现租户列表查询接口
- 获取租户列表:GET /api/admin/v1/tenants
- 用于填充租户下拉选择器

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 08:04:12 +00:00
69a9adfc25 refactor: 收敛租户领域至最小集 2026-01-30 03:18:41 +00:00
907c9938ae feat(admin-api): 实现 TD-001 和 TD-002 后端接口
TD-001 - PUT /api/admin/v1/tenants/{tenantId}:
- 新增 UpdateTenantCommand + UpdateTenantCommandHandler
- Controller 新增 Update 端点(tenant:update 权限)
- 校验:租户存在、name 非空、name/contactPhone 冲突返回 409
- 仓储扩展:ITenantRepository.ExistsByNameAsync

TD-002 - GET /api/admin/v1/tenants/{tenantId}/quota-usage-history:
- 新增 CQRS Query/Handler/DTO/Validator
- 支持分页(Page>=1, PageSize 1~100)
- 支持时间范围和 QuotaType 过滤
- 新增 tenant_quota_usage_histories 表(含迁移)
- 写入点:CheckTenantQuotaCommandHandler + PurchaseQuotaPackageCommandHandler

构建验证:dotnet build 通过
数据库迁移:已应用 20251218121053_AddTenantQuotaUsageHistories
2025-12-18 20:19:33 +08:00
ab59e2e3e2 feat: 新增配额包/支付相关实体与迁移
App:新增 operation_logs/quota_packages/tenant_payments/tenant_quota_package_purchases 表

Identity:修正 Avatar 字段类型(varchar(256)->text),保持现有数据不变
2025-12-17 17:27:45 +08:00
2339775fcb feat: 租户审核领单与强制接管 2025-12-15 10:40:50 +08:00
c5a3243bd8 feat: tenants 列表支持名称/联系人/电话/认证状态过滤 2025-12-14 16:23:32 +08:00
8b18d0cb96 feat: admin simple 登录支持 账号@手机号 2025-12-12 22:06:37 +08:00
c7df64f2e1 feat: add public tenant packages listing and sort order 2025-12-11 23:57:04 +08:00
37e7d721f3 docs: 完善参数注释与StyleCop配置 2025-12-04 12:45:26 +08:00
17d143a351 docs: refine tenant repository comments 2025-12-03 23:18:17 +08:00
a536a554c2 feat: 实现租户管理及套餐流程 2025-12-03 16:37:50 +08:00