ql_apimanager_backend/DatabaseDefine.md
2024-10-24 02:35:13 +00:00

75 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 数据库定义
### 用户表Users
| 字段名 | 类型 | 描述 | 备注 |
| --------- | -------------------- | -------- | ------------ |
| Id | int | 用户ID | 主键自增 |
| Username | varchar(20) | 用户名 | 唯一 |
| Email | 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 | 调用结果状态码 | |
### 支付记录表Payments
| 字段名 | 数据类型 | 描述 | 备注 |
| ----------- | ---------------------------- | ---------- | ---------------------------------- |
| Id | int | 主键,自增 | |
| UserId | int | 外键 | 用户ID |
| Amount | decimal(10,2) | 支付金额 | 正数充值,负数扣费 |
| PaymentType | enum('Recharge','Deduction') | 支付类型 | 充值或扣费,后续增加退款等其余类型 |
| PaymentAt | timestamp | 充值时间 | |
### 套餐表(ApiPackages)
| 字段名 | 数据类型 | 描述 | 备注 |
| --------- | ------------- | ------------ | ---- |
| Id | int | 主键,自增 | |
| Name | varchar(20) | 套餐名称 | |
| CallLimit | int | 最大调用次数 | |
| Price | decimal(10,2) | 价格 | |
| CreatedAt | timestamp | 创建时间 | |
### 用户套餐关系表UserPackages
| 字段名 | 数据类型 | 描述 | 备注 |
| -------------- | --------- | ------------ | ------ |
| Id | int | 主键,自增 | |
| UserId | int | 外键 | 用户ID |
| PackageId | int | 外键 | 套餐ID |
| RemainingCalls | int | 剩余调用次数 | |
| PurchasedAt | timestamp | 购买时间 | |
> [!CAUTION]
>
> 注:删除用户时需要保证数据一致性。