operate.py 3.8 KB

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