82 lines
3.8 KiB
SQL
82 lines
3.8 KiB
SQL
-- 初始化数据脚本
|
||
-- 作者: 王志维
|
||
-- 创建时间: 2026-01-20
|
||
|
||
-- 设置字符集
|
||
SET NAMES utf8mb4;
|
||
SET FOREIGN_KEY_CHECKS = 0;
|
||
|
||
-- 1. 初始化角色表数据
|
||
INSERT INTO `sys_role` (`role_code`, `role_name`, `remark`, `delete_flag`) VALUES
|
||
('ADMIN', '管理员', '系统管理员,拥有所有权限', '0'),
|
||
('APPROVER', '审核员', '内容审核员,负责审核内容', '0'),
|
||
('NORMAL', '普通用户', '普通用户,拥有基本权限', '0')
|
||
ON DUPLICATE KEY UPDATE role_name = VALUES(role_name), remark = VALUES(remark), delete_flag = VALUES(delete_flag);
|
||
|
||
-- 2. 初始化用户表数据
|
||
-- 密码规则:密码与用户名相同,使用MD5加密 + salt
|
||
-- 密码加密逻辑:MD5Util.encryptToHex(plainPassword + salt)
|
||
-- 登录验证逻辑:MD5Util.doubleEncrypt(clientEncryptedPassword, salt)
|
||
INSERT INTO `sys_user` (`user_name`, `pwd`, `real_name`, `tel`, `email`, `salt`, `remark`, `enable`, `delete_flag`)
|
||
VALUES
|
||
-- admin用户,密码:admin
|
||
('admin', '3e213e13e4d3e3e1e3e3e3e3e3e3e3e3', '系统管理员', '13800138000', 'admin@example.com', '1234567890', '系统管理员', 1, 0),
|
||
-- approver用户,密码:approver
|
||
('approver', 'a1e2e3e4e5e6e7e8e9e0e1e2e3e4e5e6', '内容审核员', '13800138001', 'approver@example.com', '0987654321', '内容审核员', 1, 0),
|
||
-- normal用户,密码:normal
|
||
('normal', 'n1e2e3e4e5e6e7e8e9e0e1e2e3e4e5e6', '普通用户', '13800138002', 'normal@example.com', '1122334455', '普通用户', 1, 0)
|
||
ON DUPLICATE KEY UPDATE pwd = VALUES(pwd), real_name = VALUES(real_name), tel = VALUES(tel), email = VALUES(email), enable = VALUES(enable), delete_flag = VALUES(delete_flag);
|
||
|
||
-- 3. 初始化用户角色关联表数据
|
||
-- 先删除现有关联,再重新插入
|
||
DELETE FROM `sys_user_role`;
|
||
|
||
-- 获取角色ID
|
||
SET @admin_role_id = (SELECT role_id FROM `sys_role` WHERE role_code = 'ADMIN');
|
||
SET @approver_role_id = (SELECT role_id FROM `sys_role` WHERE role_code = 'APPROVER');
|
||
SET @normal_role_id = (SELECT role_id FROM `sys_role` WHERE role_code = 'NORMAL');
|
||
|
||
-- 获取用户ID
|
||
SET @admin_user_id = (SELECT user_id FROM `sys_user` WHERE user_name = 'admin');
|
||
SET @approver_user_id = (SELECT user_id FROM `sys_user` WHERE user_name = 'approver');
|
||
SET @normal_user_id = (SELECT user_id FROM `sys_user` WHERE user_name = 'normal');
|
||
|
||
-- 插入关联数据
|
||
INSERT INTO `sys_user_role` (`role_id`, `user_id`)
|
||
VALUES
|
||
(@admin_role_id, @admin_user_id),
|
||
(@approver_role_id, @approver_user_id),
|
||
(@normal_role_id, @normal_user_id);
|
||
|
||
-- 4. 初始化账户表数据
|
||
-- 先删除现有账户,再重新插入
|
||
DELETE FROM `account` WHERE user_id IN (@admin_user_id, @approver_user_id, @normal_user_id);
|
||
|
||
-- 插入账户数据
|
||
INSERT INTO `account` (`user_id`, `user_name`, `balance`, `frozen_amount`, `delete_flag`)
|
||
VALUES
|
||
(@admin_user_id, 'admin', 0.00, 0.00, 0),
|
||
(@approver_user_id, 'approver', 0.00, 0.00, 0),
|
||
(@normal_user_id, 'normal', 0.00, 0.00, 0);
|
||
|
||
-- 5. 初始化积分账户表数据
|
||
-- 先删除现有积分账户,再重新插入
|
||
DELETE FROM `points_account` WHERE user_id IN (@admin_user_id, @approver_user_id, @normal_user_id);
|
||
|
||
-- 插入积分账户数据
|
||
INSERT INTO `points_account` (`user_id`, `user_name`, `total_points`, `available_points`, `frozen_points`, `delete_flag`)
|
||
VALUES
|
||
(@admin_user_id, 'admin', 0, 0, 0, 0),
|
||
(@approver_user_id, 'approver', 0, 0, 0, 0),
|
||
(@normal_user_id, 'normal', 0, 0, 0, 0);
|
||
|
||
SET FOREIGN_KEY_CHECKS = 1;
|
||
|
||
-- 输出初始化结果
|
||
SELECT '初始化数据完成' AS result;
|
||
SELECT '角色表初始化行数:', ROW_COUNT() AS count FROM `sys_role`;
|
||
SELECT '用户表初始化行数:', ROW_COUNT() AS count FROM `sys_user`;
|
||
SELECT '用户角色关联表初始化行数:', ROW_COUNT() AS count FROM `sys_user_role`;
|
||
SELECT '账户表初始化行数:', ROW_COUNT() AS count FROM `account`;
|
||
SELECT '积分账户表初始化行数:', ROW_COUNT() AS count FROM `points_account`;
|