UserAuthUtils.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. from model.DataBaseUtils import MysqlUtils
  2. def get_auth_user(user_id):
  3. """获取用户拥有所有用户(包括自己)的权限"""
  4. db = MysqlUtils()
  5. sql = f"""select b.nick_name from t_sys_user_group_relation a
  6. left join t_sys_user b USING(user_id)
  7. where a.group_id=(select id from t_sys_user_group where del_flag=0 and group_user_id={user_id})
  8. union
  9. select nick_name from t_sys_user where user_id='{user_id}'
  10. """
  11. return db.zx.getOneList(sql)
  12. def get_auth_channel(user_id):
  13. """获取用户拥有的所有公众号权限"""
  14. db = MysqlUtils()
  15. sql=f"""select nick_name from t_mp_account where
  16. oper_user_id in (select user_id from t_sys_user_group_relation where group_id=(select id from t_sys_user_group where del_flag=0 and group_user_id={user_id})) or
  17. put_user_id in (select user_id from t_sys_user_group_relation where group_id=(select id from t_sys_user_group where del_flag=0 and group_user_id={user_id})) or
  18. oper_user_id = {user_id} or put_user_id = {user_id}
  19. """
  20. data1 = db.zx.getOneList(sql)
  21. sql2 = f"""select GROUP_CONCAT(channel_ids) from user_channel_group_auth a
  22. left join channel_group b on a.channel_group_id=b.id
  23. where user_id={user_id}"""
  24. data2 = db.quchen_text.getOne(sql2)
  25. if data2:
  26. data2_2 = tuple(data2.split(','))
  27. sql3 = f"""select nick_name from t_mp_account where id in {str(data2_2)}"""
  28. data3= db.zx.getOneList(sql3)
  29. # print(data3)
  30. else:
  31. data3 =[]
  32. return tuple(data1+data3)
  33. def super_auth():
  34. "获取超级数据权限的用户列表"
  35. db = MysqlUtils()
  36. sql = "select user_id from t_sys_user_role where role_id =39"
  37. return db.zx.getOneList(sql)
  38. def get_role(user_id):
  39. """获取用户的角色"""
  40. db = MysqlUtils()
  41. sql = "select role_id from t_sys_user_role where user_id ="+str(user_id)
  42. return db.zx.getOneList(sql)
  43. def get_user_name_by_id(user_id):
  44. db = MysqlUtils()
  45. sql = "select nick_name from t_sys_user where user_id =" + str(user_id)
  46. return db.zx.getOne(sql)
  47. if __name__ == '__main__':
  48. # print(get_auth_channel(109))
  49. # print(get_role(78))
  50. print(f"ssed{tuple([1,3,4])}")