operate.py 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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. pitcher_id = arg.get('pitcher_id')
  67. # 获取公众号列表
  68. rsp = requests.get('http://api.zanxiangnet.com/system/api/mp/mpAccount/search/3')
  69. channel_list = []
  70. channel_dict = {}
  71. for _ in rsp.json()['data']:
  72. channel_list.append((_['id'], _['nickName']))
  73. channel_dict[_['id']] = _['nickName']
  74. if user_id in super_auth():
  75. return channel_list[:100]
  76. select_id = user_id
  77. # 通过pitcher_id,来添加
  78. if pitcher_id:
  79. select_id = pitcher_id
  80. # 普通权限------java,获取本人对应拥有的公众号
  81. rsp = requests.get(f'http://api.zanxiangnet.com/system/api/mp/mpAccount/subAccountWithUser/3/{select_id}')
  82. channel_list = rsp.json()['data']
  83. data1 = []
  84. for _ in channel_list:
  85. if name in _['nickName']:
  86. data1.append({'id': _['id'], 'nick_name': _['nickName']})
  87. # # 加上配置的号
  88. sql2 = f"""select GROUP_CONCAT(channel_ids) from user_channel_group_auth a
  89. left join channel_group b on a.channel_group_id=b.id
  90. where user_id={select_id}"""
  91. data2 = db.quchen_text.getOne(sql2)
  92. data3 = []
  93. if data2:
  94. data2_2 = tuple(data2.split(','))
  95. for _ in data2_2:
  96. data3.append(channel_dict[int(_)])
  97. data4 = data1 + data3
  98. return data4[:100] # 给100个
  99. def get_pitcher(arg):
  100. user_id = arg.get('user_id')
  101. if user_id in super_auth():
  102. user_list = []
  103. url = 'http://api.zanxiangnet.com/system/api/mp/mpAccount/allPutUser/3'
  104. rsp = requests.get(url)
  105. for _ in rsp.json()['data']:
  106. user_list.append({'user_id': _['userId'], 'nick_name': _['nickName']})
  107. return user_list
  108. user_list = []
  109. rsp = requests.get(url=f'http://api.zanxiangnet.com/erp/api/user/subUser/3/{user_id}')
  110. for _ in rsp.json()['data']:
  111. user_list.append({'user_id': _['userId'], 'nick_name': _['nickName']})
  112. return user_list
  113. def get_user_name_by_id(user_id):
  114. rsp = requests.get(url=f'http://api.zanxiangnet.com/erp/api/user/subUser/3/{user_id}')
  115. nick_name = None
  116. for _ in rsp.json()['data']:
  117. if str(_['userId']) == str(user_id):
  118. nick_name = _['nickName']
  119. return nick_name
  120. if __name__ == '__main__':
  121. # print(get_pitcher({'user_id':78}))
  122. # print(get_user_name_by_id(78))
  123. user_channel_group({})