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

3.9 KiB
Raw Blame History

数据库定义

用户表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

注:删除用户时需要保证数据一致性。