operate.py 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. import requests
  2. from model.DateUtils import DateUtils
  3. from model.DataBaseUtils import *
  4. from model.UserAuthUtils import super_auth
  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. # 在2021-9月之后不被前端使用
  30. db = MysqlUtils()
  31. # 返回所有用户
  32. sql = "SELECT user_id,nick_name from t_sys_user where del_flag=0 and status=0"
  33. return db.zx.getData_json(sql)
  34. def group_add(arg):
  35. db = MysqlUtils()
  36. name = arg.get("name")
  37. ids = arg.get("channel_ids")
  38. if name and ids:
  39. sql = "insert into channel_group (name,channel_ids) values (%s,%s)"
  40. db.quchen_text.execute(sql, (name, ids))
  41. def group_del(arg):
  42. db = MysqlUtils()
  43. id = arg.get("id")
  44. if id:
  45. sql = f"delete from channel_group where id={id}"
  46. db.quchen_text.execute(sql)
  47. def group_auth_add(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 = "insert into user_channel_group_auth (user_id,channel_group_id) values (%s,%s)"
  53. db.quchen_text.execute(sql, (user_id, group_id))
  54. def group_auth_del(arg):
  55. db = MysqlUtils()
  56. user_id = arg.get("user_id")
  57. group_id = arg.get("group_id")
  58. if user_id and group_id:
  59. sql = f"delete from user_channel_group_auth where user_id={user_id} and channel_group_id={group_id}"
  60. # print(sql)
  61. db.quchen_text.execute(sql)
  62. def get_channel(arg):
  63. db = MysqlUtils()
  64. user_id = arg.get('user_id')
  65. name = arg.get('name')
  66. if user_id in super_auth():
  67. sql = f"select id,nick_name from t_mp_account where nick_name like '%{name}%' and del_flag=0"
  68. return db.zx.getData_json(sql)
  69. # 普通权限------java,获取本人对应拥有的公众号
  70. rsp = requests.get(f'http://api.zanxiangnet.com/system/api/mp/mpAccount/subAccountWithUser/{user_id}')
  71. channel_list = rsp.json()['data']
  72. data1 = []
  73. for _ in channel_list:
  74. if name in _['nickName']:
  75. data1.append({'id': _['id'], 'nick_name': _['nickName']})
  76. # # 加上配置的号
  77. sql2 = f"""select GROUP_CONCAT(channel_ids) from user_channel_group_auth a
  78. left join channel_group b on a.channel_group_id=b.id
  79. where user_id={user_id}"""
  80. data2 = db.quchen_text.getOne(sql2)
  81. if data2:
  82. data2_2 = tuple(data2.split(','))
  83. sql3 = f"""select id,nick_name from t_mp_account where nick_name like '%{name}%' and id in {str(data2_2)}"""
  84. data3 = db.zx.getData_json(sql3)
  85. else:
  86. data3 = []
  87. data4 = data1 + data3
  88. return data4[:100] # 给100个
  89. def get_pitcher(arg):
  90. user_id = arg.get('user_id')
  91. if user_id in super_auth():
  92. user_list = []
  93. url = 'http://api.zanxiangnet.com/erp/api/user/allPutUser'
  94. rsp = requests.get(url)
  95. for _ in rsp.json()['data']:
  96. user_list.append({'user_id': _['userId'], 'nick_name': _['nickName']})
  97. return user_list
  98. user_list = []
  99. rsp = requests.get(url=f'http://api.zanxiangnet.com/erp/api/user/subUser/{user_id}')
  100. for _ in rsp.json()['data']:
  101. user_list.append({'user_id': _['userId'], 'nick_name': _['nickName']})
  102. return user_list
  103. def get_user_name_by_id(user_id):
  104. rsp = requests.get(url=f'http://api.zanxiangnet.com/erp/api/user/subUser/{user_id}')
  105. nick_name = None
  106. for _ in rsp.json()['data']:
  107. if str(_['userId']) == str(user_id):
  108. nick_name = _['nickName']
  109. return nick_name
  110. if __name__ == '__main__':
  111. # print(get_pitcher({'user_id':78}))
  112. # print(get_user_name_by_id(78))
  113. user_channel_group({})