operate.py 3.4 KB

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