tianyuan-api-server/apps/user/user.sql

73 lines
5.8 KiB
MySQL
Raw Normal View History

2024-10-02 00:57:17 +08:00
CREATE TABLE users (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
username VARCHAR(100) NOT NULL UNIQUE COMMENT '用户名',
password VARCHAR(100) NOT NULL COMMENT '用户密码',
phone VARCHAR(15) NOT NULL UNIQUE COMMENT '用户手机号',
auth_status ENUM('unverified','pending', 'approved', 'rejected') DEFAULT 'unverified' COMMENT '认证状态unverified=未提交pending=待审核approved=审核通过rejected=审核拒绝',
2024-10-12 20:41:55 +08:00
disable TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否禁用0=未禁用1=禁用',
internal TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否内部人员0=否1=是',
quota_exceeded TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否额度用完0=否1=是',
2024-10-02 00:57:17 +08:00
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '用户创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '用户更新时间',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表,存储用户的基本信息';
CREATE TABLE enterprise_info (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '企业信息ID',
user_id BIGINT NOT NULL UNIQUE COMMENT '关联的用户ID',
enterprise_name VARCHAR(150) NOT NULL UNIQUE COMMENT '企业名称',
credit_code VARCHAR(150) NOT NULL UNIQUE COMMENT '企业统一信用代码',
legal_person VARCHAR(150) NOT NULL COMMENT '法人代表',
business_license VARCHAR(1024) NOT NULL COMMENT '营业执照存储路径',
enterprise_contact VARCHAR(100) NOT NULL COMMENT '企业联系方式',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '企业信息创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '企业信息更新时间',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企业信息表,存储认证通过的企业详细信息';
CREATE TABLE enterprise_auth (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '认证ID',
user_id INT(11) NOT NULL COMMENT '关联的用户ID',
enterprise_name VARCHAR(150) NOT NULL COMMENT '企业名称',
credit_code VARCHAR(150) NOT NULL COMMENT '企业统一信用代码',
legal_person VARCHAR(150) NOT NULL COMMENT '法人代表',
business_license VARCHAR(1000) NOT NULL COMMENT '营业执照存储路径',
enterprise_contact VARCHAR(100) NOT NULL COMMENT '企业联系方式',
auth_status ENUM('unverified','pending', 'approved', 'rejected') DEFAULT 'unverified' COMMENT '认证状态unverified=未提交pending=待审核approved=审核通过rejected=审核拒绝',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '认证创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '认证更新时间',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企业认证表,存储企业认证的相关信息';
2024-10-12 20:41:55 +08:00
CREATE TABLE wallets (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '钱包ID',
user_id INT(11) NOT NULL UNIQUE COMMENT '用户ID',
balance DECIMAL(10, 2) DEFAULT 0.00 COMMENT '钱包余额',
version INT(11) DEFAULT 0 COMMENT '乐观锁版本号',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='钱包表,存储用户的余额信息';
CREATE TABLE deductions (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '扣款记录ID',
user_id INT(11) NOT NULL COMMENT '用户ID',
amount DECIMAL(10, 2) NOT NULL COMMENT '扣款金额',
transaction_id VARCHAR(50) NOT NULL UNIQUE COMMENT '交易流水号',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '扣款时间',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='扣款记录表,存储用户的扣款历史记录';
CREATE TABLE api_requests (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '请求记录ID',
transaction_id VARCHAR(50) NOT NULL UNIQUE COMMENT '交易ID',
user_id INT(11) NOT NULL COMMENT '用户ID',
product_code VARCHAR(100) NOT NULL COMMENT '产品编码',
status ENUM('success', 'failed') DEFAULT 'success' COMMENT '请求状态success=成功failed=失败',
charges TINYINT(1) NOT NULL COMMENT '是否需要付费',
remark VARCHAR(255) COMMENT '备注',
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '请求时间',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='API请求记录表存储API请求的相关信息';