feat: 添加用户管理模块 + username/email 唯一约束
- 新增 UserController,实现完整的用户 CRUD 接口 - 扩展 SysUserService 接口和实现类 - 为 sys_user 表添加 username 和 email 唯一约束 - 添加 phone、role_type、status 索引优化查询性能 - 修复 Result 类方法名(failed -> error) 相关接口: - GET /api/users - 获取用户列表(分页) - GET /api/users/:id - 获取用户详情 - POST /api/users - 创建用户 - PUT /api/users/:id - 更新用户 - DELETE /api/users/:id - 删除用户 - GET /api/users/teachers - 获取教师列表 - POST /api/users/change-password - 修改密码 - PUT /api/users/profile - 更新个人资料
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
-- V2: 为 sys_user 表添加唯一约束
|
||||
-- 执行时间:2026-03-13
|
||||
|
||||
-- 1. 先清理可能存在的重复数据(保留 ID 最小的记录)
|
||||
-- 删除重复的用户名(保留 id 最小的)
|
||||
DELETE FROM sys_user
|
||||
WHERE id NOT IN (
|
||||
SELECT id FROM (
|
||||
SELECT MIN(id) as id
|
||||
FROM sys_user
|
||||
WHERE username IS NOT NULL
|
||||
GROUP BY username
|
||||
) as tmp
|
||||
);
|
||||
|
||||
-- 删除重复的邮箱(保留 id 最小的)
|
||||
DELETE FROM sys_user
|
||||
WHERE id NOT IN (
|
||||
SELECT id FROM (
|
||||
SELECT MIN(id) as id
|
||||
FROM sys_user
|
||||
WHERE email IS NOT NULL
|
||||
GROUP BY email
|
||||
) as tmp
|
||||
);
|
||||
|
||||
-- 2. 为 username 添加唯一约束
|
||||
ALTER TABLE sys_user
|
||||
ADD CONSTRAINT uk_username UNIQUE (username);
|
||||
|
||||
-- 3. 为 email 添加唯一约束
|
||||
ALTER TABLE sys_user
|
||||
ADD CONSTRAINT uk_email UNIQUE (email);
|
||||
|
||||
-- 4. 为 phone 添加索引(不唯一,因为可能有没有手机号的情况)
|
||||
CREATE INDEX idx_phone ON sys_user(phone);
|
||||
|
||||
-- 5. 为 role_type 和 status 添加索引,优化查询性能
|
||||
CREATE INDEX idx_role_type ON sys_user(role_type);
|
||||
CREATE INDEX idx_status ON sys_user(status);
|
||||
Reference in New Issue
Block a user