初始化

This commit is contained in:
zg
2026-07-15 16:13:27 +08:00
parent 6d6f559793
commit c4023c1623
276 changed files with 42622 additions and 0 deletions

48
init_menu.py Normal file
View File

@@ -0,0 +1,48 @@
"""为 test 系统初始化菜单和角色"""
import pymysql
conn = pymysql.connect(host='db1.prod.zgitm.com', port=3306, user='mokeegateway', password='mokee.',
database='mokeegateway', charset='utf8mb4')
cur = conn.cursor()
sc = 'test'
# 1. 顶级菜单
cur.execute(f"INSERT INTO sys_menu (system_id,parent_id,menu_name,menu_path,component,icon,menu_type,sort_order,status) SELECT s.id,0,'系统管理','/system','Layout','Setting',1,1,1 FROM sys_system s WHERE s.system_code='{sc}'")
cur.execute(f"INSERT INTO sys_menu (system_id,parent_id,menu_name,menu_path,component,icon,menu_type,sort_order,status) SELECT s.id,0,'业务管理','/biz','Layout','Document',1,2,1 FROM sys_system s WHERE s.system_code='{sc}'")
conn.commit()
# 获取父ID
cur.execute(f"SELECT id FROM sys_menu WHERE menu_name='系统管理' AND system_id=(SELECT id FROM sys_system WHERE system_code='{sc}')")
sys_pid = cur.fetchone()[0]
cur.execute(f"SELECT id FROM sys_menu WHERE menu_name='业务管理' AND system_id=(SELECT id FROM sys_system WHERE system_code='{sc}')")
biz_pid = cur.fetchone()[0]
# 子菜单
subs = [
('用户管理', '/system/user', 'system/user/index', 'User', 2, 1, sys_pid),
('角色管理', '/system/role', 'system/role/index', 'Avatar', 2, 2, sys_pid),
('订单管理', '/biz/order', 'biz/order/index', 'Tickets', 2, 1, biz_pid),
('报表查询', '/biz/report', 'biz/report/index', 'TrendCharts', 2, 2, biz_pid),
]
for nm, path, comp, icon, mtype, sort, pid in subs:
cur.execute(f"INSERT INTO sys_menu (system_id,parent_id,menu_name,menu_path,component,icon,menu_type,sort_order,status) SELECT s.id,{pid},'{nm}','{path}','{comp}','{icon}',{mtype},{sort},1 FROM sys_system s WHERE s.system_code='{sc}'")
conn.commit()
# 2. 角色
cur.execute(f"INSERT IGNORE INTO sys_role (system_id,role_name,role_code,description,status) SELECT s.id,'管理员','admin','系统管理员',1 FROM sys_system s WHERE s.system_code='{sc}'")
cur.execute(f"INSERT IGNORE INTO sys_role (system_id,role_name,role_code,description,status) SELECT s.id,'普通用户','user','普通用户',1 FROM sys_system s WHERE s.system_code='{sc}'")
conn.commit()
# 3. 角色菜单绑定
cur.execute(f"INSERT INTO sys_role_menu (role_id,menu_id) SELECT r.id,m.id FROM sys_role r,sys_menu m,sys_system s WHERE r.role_code='admin' AND r.system_id=s.id AND m.system_id=s.id AND s.system_code='{sc}'")
conn.commit()
print("=== Menus ===")
cur.execute(f"SELECT menu_name,menu_path,menu_type FROM sys_menu WHERE system_id=(SELECT id FROM sys_system WHERE system_code='{sc}') ORDER BY sort_order,id")
for r in cur.fetchall(): print(f" {r[0]:10s} {r[1]:20s} type={r[2]}")
print("=== Roles ===")
cur.execute(f"SELECT role_name,role_code FROM sys_role WHERE system_id=(SELECT id FROM sys_system WHERE system_code='{sc}')")
for r in cur.fetchall(): print(f" {r[0]} ({r[1]})")
cur.execute(f"SELECT COUNT(*) FROM sys_role_menu rm JOIN sys_role r ON rm.role_id=r.id WHERE r.system_id=(SELECT id FROM sys_system WHERE system_code='{sc}')")
print(f"=== Role-Menu bindings: {cur.fetchone()[0]} ===")
cur.close(); conn.close()
print("Done")