tianyuan-api-server/apps/user/user.sql
2024-10-16 20:46:46 +08:00

92 lines
7.4 KiB
SQL
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.

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=审核拒绝',
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=是',
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='企业认证表,存储企业认证的相关信息';
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请求的相关信息';
CREATE TABLE `recharge` (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
user_id INT(11) NOT NULL COMMENT '用户ID',
transaction_id VARCHAR(64) NOT NULL UNIQUE COMMENT '交易ID唯一',
out_trade_no VARCHAR(64) NOT NULL UNIQUE COMMENT '外部订单号,唯一',
amount DECIMAL(10, 2) NOT NULL COMMENT '充值金额',
payment_method TINYINT NOT NULL COMMENT '充值方式 1-支付宝在线支付, 2-对公转账',
remark VARCHAR(255) 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 `user_config` (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`gift_amount` DECIMAL(10, 2) DEFAULT 0.00 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='用户配置表';