initialize_data.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import json
  2. from Log import logger
  3. from app.models import MenuCapacityModel, WebMenuModel, GroupModel, RoleModel
  4. async def dialog_menu_sync(db):
  5. menu_list = []
  6. with open("env_conf/menu_conf.json", 'r', encoding='utf-8') as file:
  7. # 加载JSON数据
  8. data = json.load(file)
  9. menu_list = data.get("data", [])
  10. db.query(WebMenuModel).delete()
  11. db.query(MenuCapacityModel).delete()
  12. db.commit()
  13. for menu in menu_list:
  14. # print(menu)
  15. agent = menu.pop("agent", [])
  16. for i in agent:
  17. capacity = MenuCapacityModel(menu_id=menu["id"], capacity_id=i, capacity_type=2)
  18. db.add(capacity)
  19. dialog = menu.pop("dialog", [])
  20. for i in dialog:
  21. capacity = MenuCapacityModel(menu_id=menu["id"], capacity_id=i, capacity_type=1)
  22. db.add(capacity)
  23. menu_obj = WebMenuModel(**menu)
  24. db.add(menu_obj)
  25. db.commit()
  26. async def default_group_sync(db):
  27. group = db.query(GroupModel).filter_by(group_type=2).first()
  28. if not group:
  29. logger.error("未初始默认组, 开始初始化!")
  30. try:
  31. group = GroupModel(group_name="默认用户组", group_description="默认组", group_type=2)
  32. db.add(group)
  33. db.commit()
  34. except Exception as e:
  35. logger.error(e)
  36. async def default_role_sync(db):
  37. role = db.query(RoleModel).filter_by(role_type=2).first()
  38. if not role:
  39. logger.error("未初始默认角色, 开始初始化!")
  40. try:
  41. group = RoleModel(id="morenjuese1234567890", name="默认角色", description="默认角色", role_type=2)
  42. db.add(group)
  43. db.commit()
  44. except Exception as e:
  45. logger.error(e)