Files
nxxmdata/bank-backend/scripts/seed-bank-demo.sql

28 lines
1.5 KiB
MySQL
Raw Permalink Normal View History

2025-09-17 18:04:28 +08:00
-- 初始角色(如果不存在则插入)
INSERT INTO bank_roles (name, display_name, level, is_system, status)
SELECT 'admin','系统管理员',100,1,'active'
WHERE NOT EXISTS (SELECT 1 FROM bank_roles WHERE name='admin');
INSERT INTO bank_roles (name, display_name, level, is_system, status)
SELECT 'user','普通用户',20,0,'active'
WHERE NOT EXISTS (SELECT 1 FROM bank_roles WHERE name='user');
-- 管理员账户,密码由脚本动态替换为 bcrypt 哈希REPLACE_ADMIN_BCRYPT
INSERT INTO bank_users (username,email,password,real_name,id_card,role_id,status)
SELECT 'admin','admin@bank.com','REPLACE_ADMIN_BCRYPT','系统管理员','110101199001011234', r.id,'active'
FROM bank_roles r WHERE r.name='admin'
AND NOT EXISTS (SELECT 1 FROM bank_users WHERE username='admin');
-- 测试用户
INSERT INTO bank_users (username,email,password,real_name,id_card,role_id,status)
SELECT 'testuser','test@bank.com','REPLACE_ADMIN_BCRYPT','测试用户','110101199001011235', r.id,'active'
FROM bank_roles r WHERE r.name='user'
AND NOT EXISTS (SELECT 1 FROM bank_users WHERE username='testuser');
-- 测试账户admin名下
INSERT INTO bank_accounts (account_number,user_id,account_type,balance,available_balance,frozen_amount,currency,interest_rate,status)
SELECT '001' || CAST(FLOOR(RAND()*90000000)+10000000 AS CHAR) || '0001', u.id, 'savings', 100000, 100000, 0, 'CNY', 0.035, 'active'
FROM bank_users u WHERE u.username='admin'
AND NOT EXISTS (SELECT 1 FROM bank_accounts a JOIN bank_users u2 ON a.user_id=u2.id WHERE u2.username='admin');