93 lines
6.2 KiB
Markdown
93 lines
6.2 KiB
Markdown
# 数据库定义
|
||
|
||
### 用户表(Users)
|
||
|
||
| 字段名 | 类型 | 描述 | 备注 |
|
||
| --------- | -------------------- | -------- | ------------ |
|
||
| Id | int | 用户ID | 主键自增 |
|
||
| Username | varchar(20) | 用户名 | 唯一 |
|
||
| Email | varchar(20) | 邮箱 | 唯一 |
|
||
| PassHash | varchar(255) | 密码哈希 | |
|
||
| Role | Enum('Admin','User') | 用户角色 | |
|
||
| IsBan | boolean | 是否禁用 | |
|
||
| IsDelete | 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 | 是否启用 | |
|
||
| isDelete | 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]
|
||
>
|
||
> 注:删除用户时需要保证数据一致性。 |