提交所有代码到 qiaoxinjiu 分支

This commit is contained in:
qiaoxinjiu
2026-05-11 14:29:16 +08:00
parent 01a4ac8ea1
commit 2fea5adb44
59 changed files with 4957 additions and 1603 deletions

View File

@@ -0,0 +1,75 @@
#!/usr/bin/env python
# encoding: UTF-8
import psycopg2
def generate_menu_sql():
try:
conn = psycopg2.connect(
host="39.170.26.156",
port=8366,
dbname="test",
user="postgres",
password="difyai123456"
)
cursor = conn.cursor()
# 查询自动化模块的权限
cursor.execute("""
SELECT code, name, action
FROM permission
WHERE module = 'automation' AND is_delete = 0
ORDER BY id;
""")
permissions = cursor.fetchall()
print("自动化模块权限列表:")
print("-" * 60)
print(f"{'权限代码':<30} {'权限名称':<20} {'action'}")
print("-" * 60)
for p in permissions:
print(f"{p[0]:<30} {p[1]:<20} {p[2]}")
# 查询已存在的menu
cursor.execute("SELECT code FROM menu WHERE is_delete = 0")
existing_menus = {row[0] for row in cursor.fetchall()}
conn.close()
# 生成SQL
sql_lines = []
sql_lines.append("-- ==============================================")
sql_lines.append("-- 自动化执行模块 - 权限对应的按钮菜单")
sql_lines.append("-- ==============================================")
sql_lines.append("")
sort_order = 1
for code, name, action in permissions:
menu_code = f"automation_{action}"
if menu_code in existing_menus:
print(f"跳过已存在的菜单: {menu_code}")
continue
sql_lines.append(f"-- {name} 按钮")
sql_lines.append(f"INSERT INTO menu (name, code, type, path, component, icon, permission_code, parent_id, sort, visible, status, is_delete)")
sql_lines.append(f"SELECT '{name}', '{menu_code}', 3, '', '', '', '{code}',")
sql_lines.append(f" (SELECT id FROM menu WHERE code = 'automation_list'), {sort_order}, 1, 1, 0")
sql_lines.append(f"WHERE NOT EXISTS (SELECT 1 FROM menu WHERE code = '{menu_code}');")
sql_lines.append("")
sort_order += 1
sql_lines.append("COMMIT;")
# 写入文件
with open("automation_menus.sql", "w", encoding="utf-8") as f:
f.write("\n".join(sql_lines))
print(f"\n已生成 SQL 文件: automation_menus.sql")
print(f"共生成 {sort_order - 1} 条菜单记录")
except Exception as e:
print("Error: " + str(e))
if __name__ == "__main__":
generate_menu_sql()