完成租户登录
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
# 租户表数据库创建说明
|
||||
|
||||
## 创建步骤
|
||||
|
||||
### 方法1:执行独立的 SQL 文件(推荐)
|
||||
```bash
|
||||
# 在 MySQL 中执行
|
||||
mysql -u root -p your_database < server/database/yz_tenants.sql
|
||||
```
|
||||
|
||||
### 方法2:手动执行 SQL
|
||||
```sql
|
||||
-- 1. 进入 MySQL
|
||||
mysql -u root -p your_database
|
||||
|
||||
-- 2. 执行 SQL 脚本
|
||||
SOURCE server/database/yz_tenants.sql;
|
||||
```
|
||||
|
||||
### 方法3:在 MySQL 客户端中复制粘贴
|
||||
直接打开 `server/database/yz_tenants.sql` 文件,复制所有内容,在 MySQL 客户端中执行。
|
||||
|
||||
## 创建的表
|
||||
|
||||
**yz_tenants** - 租户管理表
|
||||
|
||||
### 表结构说明
|
||||
|
||||
#### 基本信息字段
|
||||
- `id` - 租户ID(主键,自增)
|
||||
- `name` - 租户名称(必填)
|
||||
- `code` - 租户编码(必填,唯一)
|
||||
- `owner` - 负责人(必填)
|
||||
- `phone` - 联系电话(可选)
|
||||
- `email` - 邮箱地址(可选)
|
||||
|
||||
#### 状态字段
|
||||
- `status` - 状态:`enabled`(启用)或 `disabled`(禁用)
|
||||
- `audit_status` - 审核状态:
|
||||
- `pending` - 待审核
|
||||
- `approved` - 已通过
|
||||
- `rejected` - 已拒绝
|
||||
|
||||
#### 审核信息字段
|
||||
- `audit_comment` - 审核意见(可选)
|
||||
- `audit_by` - 审核人(可选)
|
||||
- `audit_time` - 审核时间(可选)
|
||||
|
||||
#### 其他字段
|
||||
- `remark` - 备注(可选)
|
||||
- `create_time` - 创建时间(自动)
|
||||
- `update_time` - 更新时间(自动)
|
||||
- `create_by` - 创建人(可选)
|
||||
- `update_by` - 更新人(可选)
|
||||
|
||||
### 索引说明
|
||||
- `uk_code` - 租户编码唯一索引
|
||||
- `idx_name` - 租户名称索引
|
||||
- `idx_owner` - 负责人索引
|
||||
- `idx_status` - 状态索引
|
||||
- `idx_audit_status` - 审核状态索引
|
||||
- `idx_create_time` - 创建时间索引
|
||||
|
||||
## 测试数据
|
||||
|
||||
SQL 文件中包含 10 条测试数据,涵盖了以下场景:
|
||||
1. **默认租户** - 已通过审核的系统默认租户
|
||||
2. **示例租户A** - 已通过审核的演示租户
|
||||
3. **示例租户B** - 待审核的租户
|
||||
4. **新申请租户C** - 待审核的新申请租户
|
||||
5. **已拒绝租户D** - 被拒绝的租户示例
|
||||
6. **企业租户E** - 已通过审核的企业级租户
|
||||
7. **测试租户F** - 已通过审核的测试环境租户
|
||||
8. **禁用租户G** - 已通过审核但被禁用的租户
|
||||
9. **小公司租户H** - 待审核的小型公司
|
||||
10. **个人开发者I** - 已通过审核的个人开发者账户
|
||||
|
||||
## 验证创建
|
||||
|
||||
```sql
|
||||
-- 查看租户表结构
|
||||
DESC yz_tenants;
|
||||
|
||||
-- 查看所有租户数据
|
||||
SELECT * FROM yz_tenants;
|
||||
|
||||
-- 查看特定状态的租户
|
||||
SELECT * FROM yz_tenants WHERE audit_status = 'pending';
|
||||
SELECT * FROM yz_tenants WHERE status = 'enabled';
|
||||
|
||||
-- 查看租户统计
|
||||
SELECT
|
||||
audit_status,
|
||||
COUNT(*) as count
|
||||
FROM yz_tenants
|
||||
GROUP BY audit_status;
|
||||
```
|
||||
|
||||
## 如果表已存在
|
||||
|
||||
如果想重新创建表(会清空现有数据):
|
||||
```sql
|
||||
DROP TABLE IF EXISTS yz_tenants;
|
||||
```
|
||||
然后再执行创建脚本。
|
||||
|
||||
## 与其他表的关系
|
||||
|
||||
租户表是系统中重要的基础表:
|
||||
- `yz_files` 表中的 `tenant_id` 字段引用租户编码(VARCHAR 类型,不是外键)
|
||||
- 未来可能会在 `yz_users` 表中添加 `tenant_id` 字段来关联租户
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **租户编码唯一性**:`code` 字段设置了唯一索引,确保每个租户编码都是唯一的
|
||||
2. **审核流程**:新创建的租户默认 `audit_status` 为 `pending`(待审核)
|
||||
3. **状态管理**:租户可以同时拥有 `status` 和 `audit_status` 两个状态字段,分别控制启用状态和审核状态
|
||||
4. **时间字段**:`create_time` 和 `update_time` 会自动管理,无需手动设置
|
||||
|
||||
@@ -99,6 +99,44 @@ CREATE TABLE IF NOT EXISTS yz_program_info (
|
||||
CONSTRAINT yz_fk_program_category FOREIGN KEY (category_id) REFERENCES yz_program_category (category_id) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='程序信息表';
|
||||
|
||||
-- 检查并创建租户表(如果不存在)
|
||||
CREATE TABLE IF NOT EXISTS yz_tenants (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '租户ID',
|
||||
|
||||
-- 基本信息
|
||||
name VARCHAR(100) NOT NULL COMMENT '租户名称',
|
||||
code VARCHAR(50) NOT NULL COMMENT '租户编码(唯一)',
|
||||
owner VARCHAR(50) NOT NULL COMMENT '负责人',
|
||||
phone VARCHAR(20) DEFAULT NULL COMMENT '联系电话',
|
||||
email VARCHAR(100) DEFAULT NULL COMMENT '邮箱地址',
|
||||
|
||||
-- 状态信息
|
||||
status VARCHAR(20) DEFAULT 'enabled' COMMENT '状态:enabled-启用,disabled-禁用',
|
||||
audit_status VARCHAR(20) DEFAULT 'pending' COMMENT '审核状态:pending-待审核,approved-已通过,rejected-已拒绝',
|
||||
|
||||
-- 审核信息
|
||||
audit_comment TEXT DEFAULT NULL COMMENT '审核意见',
|
||||
audit_by VARCHAR(50) DEFAULT NULL COMMENT '审核人',
|
||||
audit_time DATETIME DEFAULT NULL COMMENT '审核时间',
|
||||
|
||||
-- 其他信息
|
||||
remark TEXT DEFAULT NULL COMMENT '备注',
|
||||
|
||||
-- 时间戳
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
create_by VARCHAR(50) DEFAULT NULL COMMENT '创建人',
|
||||
update_by VARCHAR(50) DEFAULT NULL COMMENT '更新人',
|
||||
|
||||
-- 索引
|
||||
UNIQUE KEY uk_code (code),
|
||||
INDEX idx_name (name),
|
||||
INDEX idx_owner (owner),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_audit_status (audit_status),
|
||||
INDEX idx_create_time (create_time)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租户表';
|
||||
|
||||
-- 检查并创建文件表(如果不存在)
|
||||
CREATE TABLE IF NOT EXISTS yz_files (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '文件ID',
|
||||
|
||||
@@ -107,7 +107,49 @@ CREATE TABLE yz_program_info (
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='程序信息表';
|
||||
|
||||
-- =============================================
|
||||
-- 4. 文件管理相关表
|
||||
-- 4. 租户管理相关表
|
||||
-- =============================================
|
||||
|
||||
-- 创建租户表
|
||||
CREATE TABLE yz_tenants (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '租户ID',
|
||||
|
||||
-- 基本信息
|
||||
name VARCHAR(100) NOT NULL COMMENT '租户名称',
|
||||
code VARCHAR(50) NOT NULL COMMENT '租户编码(唯一)',
|
||||
owner VARCHAR(50) NOT NULL COMMENT '负责人',
|
||||
phone VARCHAR(20) DEFAULT NULL COMMENT '联系电话',
|
||||
email VARCHAR(100) DEFAULT NULL COMMENT '邮箱地址',
|
||||
|
||||
-- 状态信息
|
||||
status VARCHAR(20) DEFAULT 'enabled' COMMENT '状态:enabled-启用,disabled-禁用',
|
||||
audit_status VARCHAR(20) DEFAULT 'pending' COMMENT '审核状态:pending-待审核,approved-已通过,rejected-已拒绝',
|
||||
|
||||
-- 审核信息
|
||||
audit_comment TEXT DEFAULT NULL COMMENT '审核意见',
|
||||
audit_by VARCHAR(50) DEFAULT NULL COMMENT '审核人',
|
||||
audit_time DATETIME DEFAULT NULL COMMENT '审核时间',
|
||||
|
||||
-- 其他信息
|
||||
remark TEXT DEFAULT NULL COMMENT '备注',
|
||||
|
||||
-- 时间戳
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
create_by VARCHAR(50) DEFAULT NULL COMMENT '创建人',
|
||||
update_by VARCHAR(50) DEFAULT NULL COMMENT '更新人',
|
||||
|
||||
-- 索引
|
||||
UNIQUE KEY uk_code (code),
|
||||
INDEX idx_name (name),
|
||||
INDEX idx_owner (owner),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_audit_status (audit_status),
|
||||
INDEX idx_create_time (create_time)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租户表';
|
||||
|
||||
-- =============================================
|
||||
-- 5. 文件管理相关表
|
||||
-- =============================================
|
||||
|
||||
-- 创建文件表
|
||||
@@ -146,9 +188,15 @@ CREATE TABLE yz_files (
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件表';
|
||||
|
||||
-- =============================================
|
||||
-- 5. 插入初始数据
|
||||
-- 6. 插入初始数据
|
||||
-- =============================================
|
||||
|
||||
-- 插入默认租户数据
|
||||
INSERT INTO yz_tenants (name, code, owner, phone, email, status, audit_status, audit_comment, audit_by, audit_time, remark, create_by) VALUES
|
||||
('默认租户', 'default', 'admin', '13800138000', 'admin@yunzer.com', 'enabled', 'approved', '系统默认租户,自动通过审核', 'system', NOW(), '系统默认租户,用于初始化数据', 'system'),
|
||||
('示例租户A', 'demo-a', '张三', '13900139000', 'zhangsan@demo.com', 'enabled', 'approved', '资料完整,审核通过', 'admin', DATE_SUB(NOW(), INTERVAL 30 DAY), '演示租户A,用于展示功能', 'admin'),
|
||||
('示例租户B', 'demo-b', '李四', '13700137000', 'lisi@demo.com', 'enabled', 'pending', NULL, NULL, NULL, '待审核租户,资料已提交', 'admin');
|
||||
|
||||
-- 插入默认管理员用户
|
||||
-- 注意:实际使用时需要生成真实的加密密码和盐值
|
||||
INSERT INTO yz_users (username, password, salt, email, nickname, role, status, create_by) VALUES
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
-- 创建租户表
|
||||
-- 创建时间: 2025
|
||||
-- 描述: 云泽系统租户管理表
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- 检查并创建租户表(如果不存在)
|
||||
CREATE TABLE IF NOT EXISTS yz_tenants (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '租户ID',
|
||||
|
||||
-- 基本信息
|
||||
name VARCHAR(100) NOT NULL COMMENT '租户名称',
|
||||
code VARCHAR(50) NOT NULL COMMENT '租户编码(唯一)',
|
||||
owner VARCHAR(50) NOT NULL COMMENT '负责人',
|
||||
phone VARCHAR(20) DEFAULT NULL COMMENT '联系电话',
|
||||
email VARCHAR(100) DEFAULT NULL COMMENT '邮箱地址',
|
||||
|
||||
-- 状态信息
|
||||
status VARCHAR(20) DEFAULT 'enabled' COMMENT '状态:enabled-启用,disabled-禁用',
|
||||
audit_status VARCHAR(20) DEFAULT 'pending' COMMENT '审核状态:pending-待审核,approved-已通过,rejected-已拒绝',
|
||||
|
||||
-- 审核信息
|
||||
audit_comment TEXT DEFAULT NULL COMMENT '审核意见',
|
||||
audit_by VARCHAR(50) DEFAULT NULL COMMENT '审核人',
|
||||
audit_time DATETIME DEFAULT NULL COMMENT '审核时间',
|
||||
|
||||
-- 其他信息
|
||||
remark TEXT DEFAULT NULL COMMENT '备注',
|
||||
|
||||
-- 时间戳
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
create_by VARCHAR(50) DEFAULT NULL COMMENT '创建人',
|
||||
update_by VARCHAR(50) DEFAULT NULL COMMENT '更新人',
|
||||
|
||||
-- 索引
|
||||
UNIQUE KEY uk_code (code),
|
||||
INDEX idx_name (name),
|
||||
INDEX idx_owner (owner),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_audit_status (audit_status),
|
||||
INDEX idx_create_time (create_time)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租户表';
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- =============================================
|
||||
-- 插入测试数据
|
||||
-- =============================================
|
||||
|
||||
-- 清空现有测试数据(可选,注释掉以保留现有数据)
|
||||
-- DELETE FROM yz_tenants WHERE id > 0;
|
||||
|
||||
-- 插入测试租户数据
|
||||
INSERT INTO yz_tenants (
|
||||
name,
|
||||
code,
|
||||
owner,
|
||||
phone,
|
||||
email,
|
||||
status,
|
||||
audit_status,
|
||||
audit_comment,
|
||||
audit_by,
|
||||
audit_time,
|
||||
remark,
|
||||
create_by
|
||||
) VALUES
|
||||
-- 默认租户(已通过审核)
|
||||
('默认租户', 'default', 'admin', '13800138000', 'admin@yunzer.com', 'enabled', 'approved', '系统默认租户,自动通过审核', 'system', NOW(), '系统默认租户,用于初始化数据', 'system'),
|
||||
|
||||
-- 示例租户A(已通过审核)
|
||||
('示例租户A', 'demo-a', '张三', '13900139000', 'zhangsan@demo.com', 'enabled', 'approved', '资料完整,审核通过', 'admin', DATE_SUB(NOW(), INTERVAL 30 DAY), '演示租户A,用于展示功能', 'admin'),
|
||||
|
||||
-- 示例租户B(待审核)
|
||||
('示例租户B', 'demo-b', '李四', '13700137000', 'lisi@demo.com', 'enabled', 'pending', NULL, NULL, NULL, '待审核租户,资料已提交', 'admin'),
|
||||
|
||||
-- 新申请租户C(待审核)
|
||||
('新申请租户C', 'new-tenant-c', '王五', '13600136000', 'wangwu@new.com', 'enabled', 'pending', NULL, NULL, NULL, '新申请的租户,等待审核', 'admin'),
|
||||
|
||||
-- 已拒绝租户D
|
||||
('已拒绝租户D', 'rejected-tenant', '赵六', '13500135000', 'zhaoliu@reject.com', 'disabled', 'rejected', '申请资料不完整,缺少必要信息', 'admin', DATE_SUB(NOW(), INTERVAL 10 DAY), '申请被拒绝的租户示例', 'admin'),
|
||||
|
||||
-- 企业租户E(已通过)
|
||||
('企业租户E', 'enterprise-e', '陈七', '13400134000', 'chenqi@enterprise.com', 'enabled', 'approved', '企业级用户,认证通过', 'admin', DATE_SUB(NOW(), INTERVAL 15 DAY), '大型企业客户租户', 'admin'),
|
||||
|
||||
-- 测试租户F(已通过)
|
||||
('测试租户F', 'test-f', '刘八', '13300133000', 'liuba@test.com', 'enabled', 'approved', '测试环境使用,已通过', 'admin', DATE_SUB(NOW(), INTERVAL 5 DAY), '测试环境租户', 'admin'),
|
||||
|
||||
-- 禁用租户G
|
||||
('禁用租户G', 'disabled-g', '周九', '13200132000', 'zhoujiu@disabled.com', 'disabled', 'approved', '已通过审核但被禁用', 'admin', DATE_SUB(NOW(), INTERVAL 20 DAY), '已禁用的租户示例', 'admin'),
|
||||
|
||||
-- 小公司租户H(待审核)
|
||||
('小公司租户H', 'small-h', '吴十', '13100131000', 'wushi@small.com', 'enabled', 'pending', NULL, NULL, NULL, '小型公司申请,等待审核', 'admin'),
|
||||
|
||||
-- 个人开发者租户I(已通过)
|
||||
('个人开发者I', 'developer-i', '郑十一', '13000130000', 'zhengshiyi@dev.com', 'enabled', 'approved', '个人开发者账户,审核通过', 'admin', DATE_SUB(NOW(), INTERVAL 8 DAY), '个人开发者租户', 'admin');
|
||||
|
||||
-- 查询验证
|
||||
SELECT 'Tenants table created and test data inserted successfully!' as message;
|
||||
SELECT COUNT(*) as total_tenants FROM yz_tenants;
|
||||
SELECT
|
||||
id,
|
||||
name,
|
||||
code,
|
||||
status,
|
||||
audit_status,
|
||||
create_time
|
||||
FROM yz_tenants
|
||||
ORDER BY id;
|
||||
Reference in New Issue
Block a user