6.0 KiB
6.0 KiB
数据库定义
用户表(Users)
| 字段名 | 类型 | 描述 | 备注 |
|---|---|---|---|
| Id | int | 用户ID | 主键自增 |
| Username | varchar(20) | 用户名 | 唯一 |
| varchar(20) | 邮箱 | 唯一 | |
| PassHash | varchar(255) | 密码哈希 | |
| Role | Enum('Admin','User') | 用户角色 | |
| IsBan | boolean | 是否禁用 | |
| Balance | Decimal(10) | 余额 | |
| CreatedAt | Timestamp | 创建时间 | 默认当前时间 |
API表(Apis)
| 字段名 | 数据类型 | 描述 | 备注 |
|---|---|---|---|
| Id | int | 主键,自增 | |
| Name | varchar(20) | api名称 | |
| Endpoint | varchar(255) | api地址 | |
| Method | enum('GET','POST','PUT',DELETE) | 调用方法 | |
| PackageId | int | 套餐Id | 默认为空(免费无限制) |
| IsThirdParty | boolean | 是否第三方API | |
| IsActive | boolean | 是否启用 | |
| CreatedAt | timestamp | 创建时间 | 默认当前时间 |
API调用表(ApiCallLogs)
| 字段名 | 数据类型 | 描述 | 备注 |
|---|---|---|---|
| Id | int | 主键,自增 | |
| UserId | int | 外键 | 用户ID |
| ApiId | int | 外键 | APIID |
| CallTime | timestamp | 调用时间 | 默认当前时间 |
| CallResult | int | 调用结果状态码 |
订单表(Orders)
| 字段名 | 数据类型 | 描述 | 备注 |
|---|---|---|---|
| Id | int | 主键,自增 | |
| UserId | int | 外键 | 用户ID |
| OrderNumber | varchar(50) | 订单号 | 唯一订单编号,适合与外部系统对接 |
| ThirdPartyOrderId | varchar(100) | 第三方系统订单编号 | 可用于追踪第三方支付 |
| Amount | decimal(10,2) | 订单金额 | 正数充值或消费,负数表示退款 |
| OrderType | enum('Recharge','Purchase', 'Refund') | 订单类型 | 充值、购买、退款等 |
| Status | enum('Pending','Completed','Cancelled','Failed') | 订单状态 | 订单状态:进行中、完成、取消等 |
| CreatedAt | timestamp | 创建时间 | 订单创建时间 |
| UpdatedAt | timestamp | 更新时间 | 订单状态更新时间 |
| Description | varchar(255) | 订单描述 | 可选的详细信息,解释订单用途 |
操作日志表(OperationLogs)
| 字段名 | 数据类型 | 描述 | 备注 |
|---|---|---|---|
| Id | int | 主键,自增 | |
| UserId | int | 操作人ID | 操作者的用户ID(通常是管理员) |
| Operation | varchar(20) | 操作类型 | 描述操作的具体内容,例如“禁用用户” |
| TargetType | varchar(50) | 目标类型 | 操作的对象类型,例如“用户” |
| TargetId | int | 目标对象ID | 操作对象的具体ID |
| CreatedAt | timestamp | 操作时间 | 操作发生时间 |
| IpAddress | varchar(45) | 操作来源IP | |
| UserAgent | varchar(255) | 操作设备信息 | |
| Description | varchar(255) | 操作描述 | 可选的详细说明,解释操作原因等 |
套餐表(ApiPackages)
| 字段名 | 数据类型 | 描述 | 备注 |
|---|---|---|---|
| Id | int | 主键,自增 | |
| Name | varchar(20) | 套餐名称 | |
| CallLimit | int | 最大调用次数 | |
| Price | decimal(10,2) | 价格 | |
| ExpiryDate | timestamp | 套餐过期时间 | 可用于控制套餐是否过期 |
| CreatedAt | timestamp | 创建时间 |
用户套餐关系表(UserPackages)
| 字段名 | 数据类型 | 描述 | 备注 |
|---|---|---|---|
| Id | int | 主键,自增 | |
| UserId | int | 外键 | 用户ID |
| PackageId | int | 外键 | 套餐ID |
| RemainingCalls | int | 剩余调用次数 | |
| PurchasedAt | timestamp | 购买时间 |
Caution
注:删除用户时需要保证数据一致性。