operate.py 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. from model.DateUtils import DateUtils
  2. from model.DataBaseUtils import *
  3. from config.common_config import super_auth
  4. import pandas as pd
  5. du = DateUtils()
  6. def user_channel(arg):
  7. db = MysqlUtils()
  8. # 返回所有公众号
  9. sql = "select id,nick_name from t_mp_account where del_flag=0"
  10. return db.zx.getData_json(sql)
  11. def user_channel_group(arg):
  12. db = MysqlUtils()
  13. di = db.zx.get_data_dict("select cast(id as char) ,nick_name from t_mp_account where del_flag=0")
  14. user_id = arg.get('user_id')
  15. if user_id:
  16. sql = f"""SELECT id,name,channel_ids from channel_group where id in
  17. (select channel_group_id from user_channel_group_auth where user_id={user_id})"""
  18. else:
  19. # 不传user_id 返回所有组
  20. sql = "select id,name,channel_ids from channel_group"
  21. data = db.quchen_text.getData_json(sql)
  22. for i in data:
  23. sr =''
  24. for j in i['channel_ids'].split(','):
  25. sr+=di[j]+','
  26. i['channel_names']=sr
  27. return data
  28. def user(arg):
  29. db = MysqlUtils()
  30. # 返回所有用户
  31. sql = "SELECT user_id,nick_name from t_sys_user where del_flag=0 and status=0"
  32. return db.zx.getData_json(sql)
  33. def group_add(arg):
  34. db = MysqlUtils()
  35. name = arg.get("name")
  36. ids = arg.get("channel_ids")
  37. if name and ids:
  38. sql = "insert into channel_group (name,channel_ids) values (%s,%s)"
  39. db.quchen_text.execute(sql,(name,ids))
  40. def group_del(arg):
  41. db = MysqlUtils()
  42. id = arg.get("id")
  43. if id:
  44. sql = f"delete from channel_group where id={id}"
  45. db.quchen_text.execute(sql)
  46. def group_auth_add(arg):
  47. db = MysqlUtils()
  48. user_id = arg.get("user_id")
  49. group_id = arg.get("group_id")
  50. if user_id and group_id:
  51. sql = "insert into user_channel_group_auth (user_id,channel_group_id) values (%s,%s)"
  52. db.quchen_text.execute(sql, (user_id, group_id))
  53. def group_auth_del(arg):
  54. db = MysqlUtils()
  55. user_id = arg.get("user_id")
  56. group_id = arg.get("group_id")
  57. if user_id and group_id:
  58. sql = f"delete from user_channel_group_auth where user_id={user_id} and channel_group_id={group_id}"
  59. # print(sql)
  60. db.quchen_text.execute(sql)
  61. def get_channel(arg):
  62. db = MysqlUtils()
  63. user_id= arg.get('user_id')
  64. name = arg.get('name')
  65. if user_id in super_auth:
  66. sql = f"select id,nick_name from t_mp_account where nick_name like '%{name}%' and del_flag=0"
  67. return db.zx.getData_json(sql)
  68. op = f" nick_name like '%{name}%'" if name else ''
  69. sql = f"""select id,nick_name from t_mp_account where {op} and (oper_user_id in
  70. (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
  71. 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})))"""
  72. data1 = db.zx.getData_json(sql)
  73. sql2 = f"""select GROUP_CONCAT(channel_ids) from user_channel_group_auth a
  74. left join channel_group b on a.channel_group_id=b.id
  75. where user_id={user_id}"""
  76. data2 = db.quchen_text.getOne(sql2)
  77. if data2:
  78. data2_2 = tuple(data2.split(','))
  79. sql3 = f"""select id,nick_name from t_mp_account where nick_name like '%{name}%' and id in {str(data2_2)}"""
  80. data3 = db.zx.getData_json(sql3)
  81. else:
  82. data3 = []
  83. return data1 + data3
  84. def get_pitcher(arg):
  85. user_id = arg.get('user_id')
  86. db = MysqlUtils()
  87. if user_id in super_auth:
  88. sql = """
  89. select a.user_id,nick_name from t_sys_user a
  90. left join t_sys_user_role c on a.user_id =c.user_id
  91. where a.del_flag=0 and c.role_id in (7,9) group by a.user_id,nick_name"""
  92. return db.zx.getData_json(sql)
  93. sql = f"""select b.user_id,b.nick_name from t_sys_user_group_relation a
  94. left join t_sys_user b on a.user_id =b.user_id
  95. left join t_sys_user_role c on b.user_id =c.user_id
  96. where c.role_id in (7,9) and a.group_id=(select id from t_sys_user_group where del_flag=0 and group_user_id={user_id})
  97. group by b.user_id,b.nick_name
  98. """
  99. # print(db.zx.getData_json(sql))
  100. return db.zx.getData_json(sql)
  101. def get_user_name_by_id(user_id):
  102. db = MysqlUtils()
  103. sql = "select nick_name from t_sys_user where user_id="+str(user_id)
  104. return db.zx.getOne(sql)
  105. if __name__ == '__main__':
  106. # print(get_pitcher({'user_id':78}))
  107. # print(get_user_name_by_id(78))
  108. user_channel_group({})