123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- import requests
- import time
- from urllib.parse import urlencode
- from config.using_config import sha256_token, sha256_account
- from model.UserAuthUtils import get_g_token_sha256
- from model.DateUtils import DateUtils
- from model.DataBaseUtils import *
- from model.UserAuthUtils import super_auth
- du = DateUtils()
- def user_channel(arg):
- g_time = int(time.time())
- base_url = 'https://api.zanxiangnet.com'
- params = '/erp/api/resource/search/3'
- g_token = get_g_token_sha256(g_time, params)
- params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token, 'g_account': sha256_account})
- url = base_url + params + '?' + params_other_urlencode
- rsp = requests.get(url)
- channel_list = []
- for _ in rsp.json()['data']:
- channel_list.append({'id': _['id'], 'nick_name': _['resourceName']})
- return channel_list
- def user_channel_group(arg):
- db = MysqlUtils()
- g_time = int(time.time())
- base_url = 'https://api.zanxiangnet.com'
- params = '/erp/api/resource/search/3'
- g_token = get_g_token_sha256(g_time, params)
- params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token, 'g_account': sha256_account})
- url = base_url + params + '?' + params_other_urlencode
- rsp = requests.get(url)
- channel_dict = {}
- for _ in rsp.json()['data']:
- channel_dict[str(_['id'])] = _['resourceName']
- user_id = arg.get('user_id')
- if user_id:
- sql = f"""SELECT id,name,channel_ids from channel_group where id in
- (select channel_group_id from user_channel_group_auth where user_id={user_id})"""
- else:
- # 不传user_id 返回所有组
- sql = "select id,name,channel_ids from channel_group"
- data = db.quchen_text.getData_json(sql)
- for i in data:
- sr = ''
- for j in i['channel_ids'].split(','):
- sr += channel_dict[j] + ','
- i['channel_names'] = sr
- return data
- def user(arg):
- # 在2021-9月之后不被前端使用
- # 返回所有用户
- g_time = int(time.time())
- base_url = 'https://api.zanxiangnet.com'
- params = '/erp/api/user/search/3'
- g_token = get_g_token_sha256(g_time, params)
- params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token, 'g_account': sha256_account})
- url = base_url + params + '?' + params_other_urlencode
- rsp = requests.get(url)
- user_list = []
- for _ in rsp.json()['data']:
- user_list.append({'user_id': _['userId'], 'nick_name': _['nickName']})
- return user_list
- def group_add(arg):
- db = MysqlUtils()
- name = arg.get("name")
- ids = arg.get("channel_ids")
- if name and ids:
- sql = "insert into channel_group (name,channel_ids) values (%s,%s)"
- db.quchen_text.execute(sql, (name, ids))
- def group_del(arg):
- db = MysqlUtils()
- id = arg.get("id")
- if id:
- sql = f"delete from channel_group where id={id}"
- db.quchen_text.execute(sql)
- def group_auth_add(arg):
- db = MysqlUtils()
- user_id = arg.get("user_id")
- group_id = arg.get("group_id")
- if user_id and group_id:
- sql = "insert into user_channel_group_auth (user_id,channel_group_id) values (%s,%s)"
- db.quchen_text.execute(sql, (user_id, group_id))
- def group_auth_del(arg):
- db = MysqlUtils()
- user_id = arg.get("user_id")
- group_id = arg.get("group_id")
- if user_id and group_id:
- sql = f"delete from user_channel_group_auth where user_id={user_id} and channel_group_id={group_id}"
- db.quchen_text.execute(sql)
- def get_channel(arg):
- db = MysqlUtils()
- user_id = arg.get('user_id')
- name_cahnnel = arg.get('name')
- pitcher_id = arg.get('pitcher_id')
- # 获取公众号列表
- g_time = int(time.time())
- base_url = 'https://api.zanxiangnet.com'
- params = '/erp/api/resource/search/3'
- g_token = get_g_token_sha256(g_time, params)
- params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token, 'g_account': sha256_account})
- url = base_url + params + '?' + params_other_urlencode
- print("1------------------------->"+url)
- rsp = requests.get(url)
- channel_list_all = []
- channel_dict = {}
- for _ in rsp.json()['data']:
- # channel_list.append((_['id'], _['nickName']))
- if name_cahnnel and name_cahnnel in _['resourceName']:
- channel_list_all.append({'id': _['id'], 'nick_name': _['resourceName']})
- if not name_cahnnel:
- channel_list_all.append({'id': _['id'], 'nick_name': _['resourceName']})
- channel_dict[_['id']] = _['resourceName']
- print("2------------------------->"+channel_list_all)
- if user_id in super_auth() and not pitcher_id:
- # return channel_list_all[:100]
- return channel_list_all
- select_id = user_id
- # 通过pitcher_id,来添加
- if pitcher_id:
- select_id = pitcher_id
- print("3------------------------->")
- # 普通权限------java,获取本人对应拥有的公众号
- g_time = int(time.time())
- base_url = 'https://api.zanxiangnet.com'
- params = f'/erp/api/resource/subUserResourceList/3/{user_id}/投手,运营'
- g_token = get_g_token_sha256(g_time, params)
- params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token, 'g_account': sha256_account})
- # 防止urlencode自动换行
- params_other_urlencode = params_other_urlencode.replace('%0A', '')
- url = base_url + params + '?' + params_other_urlencode
- print("4------------------------->"+url)
- rsp = requests.get(url)
- channel_list = rsp.json()['data']
- data1 = []
- for _ in channel_list:
- if name_cahnnel in _['resourceName']:
- if not name_cahnnel:
- data1.append({'id': _['id'], 'nick_name': _['resourceName']})
- elif name_cahnnel in _['nickName']:
- data1.append({'id': _['id'], 'nick_name': _['resourceName']})
- # # 加上配置的号
- sql2 = f"""select GROUP_CONCAT(channel_ids) from user_channel_group_auth a
- left join channel_group b on a.channel_group_id=b.id
- where user_id={select_id}"""
- data2 = db.quchen_text.getOne(sql2)
- data3 = []
- if data2:
- data2_2 = tuple(data2.split(','))
- for _ in data2_2:
- data3.append({'id': int(_), 'nick_name': channel_dict[int(_)]})
- data4 = data1 + data3
- print("5------------------------->"+data4)
- return data4[:100] # 给100个
- def get_pitcher(arg):
- user_id = arg.get('user_id')
- if user_id in super_auth():
- user_list = []
- g_time = int(time.time())
- base_url = 'https://api.zanxiangnet.com'
- params = '/erp/api/user/search/3'
- params_others = '?resourceTags=投手'
- g_token = get_g_token_sha256(g_time, params)
- params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token, 'g_account': sha256_account})
- url = base_url + params + params_others + '&' + params_other_urlencode
- rsp = requests.get(url)
- for _ in rsp.json()['data']:
- user_list.append({'user_id': _['userId'], 'nick_name': _['nickName']})
- return user_list
- user_list = []
- g_time = int(time.time())
- base_url = 'https://api.zanxiangnet.com'
- params = f'/erp/api/user/subUser/3/{user_id}'
- g_token = get_g_token_sha256(g_time, params)
- params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token, 'g_account': sha256_account})
- url = base_url + params + '?' + params_other_urlencode
- rsp = requests.get(url)
- for _ in rsp.json()['data']:
- user_list.append({'user_id': _['userId'], 'nick_name': _['nickName']})
- return user_list
- def get_user_name_by_id(user_id):
- g_time = int(time.time())
- base_url = 'https://api.zanxiangnet.com'
- params = f'/erp/api/user/subUser/3/{user_id}'
- g_token = get_g_token_sha256(g_time, params)
- params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token, 'g_account': sha256_account})
- url = base_url + params + '?' + params_other_urlencode
- rsp = requests.get(url)
- nick_name = None
- for _ in rsp.json()['data']:
- if str(_['userId']) == str(user_id):
- nick_name = _['nickName']
- return nick_name
- if __name__ == '__main__':
- print(get_channel({'user_id': 78}))
- # print(get_user_name_by_id({'user_id':78,'name':''}))
- # print(get_user_name_by_id(78))
|