cxyu 3 rokov pred
rodič
commit
4014f6dbe0
2 zmenil súbory, kde vykonal 159 pridanie a 82 odobranie
  1. 83 27
      data_manage/operate.py
  2. 76 55
      model/UserAuthUtils.py

+ 83 - 27
data_manage/operate.py

@@ -1,4 +1,7 @@
 import requests
+import time
+from urllib.parse import urlencode
+from model.UserAuthUtils import get_g_token
 from model.DateUtils import DateUtils
 from model.DataBaseUtils import *
 from model.UserAuthUtils import super_auth
@@ -7,19 +10,33 @@ du = DateUtils()
 
 
 def user_channel(arg):
-    rsp = requests.get('http://api.zanxiangnet.com/system/api/mp/mpAccount/search/3')
+    g_time = int(time.time())
+    base_url = 'https://api.zanxiangnet.com'
+    params = '/erp/api/resource/search/3'
+    g_token = get_g_token(g_time, params)
+    params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+    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': _['nickName']})
+        channel_list.append({'id': _['id'], 'nick_name': _['resourceName']})
     return channel_list
 
 
 def user_channel_group(arg):
     db = MysqlUtils()
-    rsp = requests.get('http://api.zanxiangnet.com/system/api/mp/mpAccount/search/3')
+
+    g_time = int(time.time())
+    base_url = 'https://api.zanxiangnet.com'
+    params = '/erp/api/resource/search/3'
+    g_token = get_g_token(g_time, params)
+    params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+    url = base_url + params + '?' + params_other_urlencode
+    rsp = requests.get(url)
+
     channel_dict = {}
     for _ in rsp.json()['data']:
-        channel_dict[str(_['id'])] = _['nickName']
+        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  
@@ -39,7 +56,14 @@ def user_channel_group(arg):
 def user(arg):
     # 在2021-9月之后不被前端使用
     # 返回所有用户
-    rsp = requests.get('http://api.zanxiangnet.com/erp/api/user/search/3?powerLevelMin=0')
+    g_time = int(time.time())
+    base_url = 'https://api.zanxiangnet.com'
+    params = '/erp/api/user/search/3'
+    g_token = get_g_token(g_time, params)
+    params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+    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']})
@@ -79,23 +103,31 @@ def group_auth_del(arg):
     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}"
-        # print(sql)
         db.quchen_text.execute(sql)
 
 
 def get_channel(arg):
     db = MysqlUtils()
     user_id = arg.get('user_id')
-    name = arg.get('name')
+    name_cahnnel = arg.get('name')
     pitcher_id = arg.get('pitcher_id')
     # 获取公众号列表
-    rsp = requests.get('http://api.zanxiangnet.com/system/api/mp/mpAccount/search/3')
+    g_time = int(time.time())
+    base_url = 'https://api.zanxiangnet.com'
+    params = '/erp/api/resource/search/3'
+    g_token = get_g_token(g_time, params)
+    params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+    url = base_url + params + '?' + params_other_urlencode
+    rsp = requests.get(url)
     channel_list_all = []
     channel_dict = {}
     for _ in rsp.json()['data']:
         # channel_list.append((_['id'], _['nickName']))
-        channel_list_all.append({'id': _['id'], 'nick_name': _['nickName']})
-        channel_dict[_['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']
     if user_id in super_auth() and not pitcher_id:
         return channel_list_all[:100]
     select_id = user_id
@@ -104,12 +136,23 @@ def get_channel(arg):
         select_id = pitcher_id
 
     # 普通权限------java,获取本人对应拥有的公众号
-    rsp = requests.get(f'http://api.zanxiangnet.com/system/api/mp/mpAccount/subAccountWithUser/3/{select_id}')
+    g_time = int(time.time())
+    base_url = 'https://api.zanxiangnet.com'
+    params = '/erp/api/resource/search/3'
+    g_token = get_g_token(g_time, params)
+    params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+    params_other = f'?userIds={user_id}'
+    url = base_url + params + params_other + '&' + params_other_urlencode
+    rsp = requests.get(url)
+
     channel_list = rsp.json()['data']
     data1 = []
     for _ in channel_list:
-        if name in _['nickName']:
-            data1.append({'id': _['id'], 'nick_name': _['nickName']})
+        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
@@ -129,22 +172,43 @@ def get_pitcher(arg):
     user_id = arg.get('user_id')
     if user_id in super_auth():
         user_list = []
-        url = 'http://api.zanxiangnet.com/system/api/mp/mpAccount/allPutUser/3'
+        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(g_time, params)
+        params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+        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 = []
-    rsp = requests.get(url=f'http://api.zanxiangnet.com/erp/api/user/subUser/3/{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(g_time, params)
+    params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+    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):
-    rsp = requests.get(url=f'http://api.zanxiangnet.com/erp/api/user/subUser/3/{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(g_time, params)
+    params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+    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']
@@ -152,14 +216,6 @@ def get_user_name_by_id(user_id):
 
 
 if __name__ == '__main__':
-    # print(get_pitcher({'user_id':78}))
-    # print(get_user_name_by_id(78))
-    # user_channel_group({})
-    # user()
-    db = MysqlUtils()
-    sql3 = f"""select id,nick_name from t_mp_account limit 100"""
-    data3 = db.zx.getData_json(sql3)
-    print(data3)
-
-# xx=db.quchen_text.getData_json(sql='''select order_id,amount from ods_order oo  limit 100''')
-#     print(xx)
+    # print(get_channel({'user_id':1}))
+    # print(get_user_name_by_id({'user_id':78,'name':''}))
+    print(get_user_name_by_id(78))

+ 76 - 55
model/UserAuthUtils.py

@@ -1,27 +1,77 @@
 from model.DataBaseUtils import MysqlUtils
+import base64
 import requests
+import time
+from config.using_config import aes_token
+from urllib.parse import urlencode
+from Crypto.Cipher import AES
+
+
+def get_g_token(g_time, params):
+    bs = AES.block_size
+    pad = lambda s: s + (bs - len(s) % bs) * chr(bs - len(s) % bs)
+    # 设置加密方式
+    cipher = AES.new(aes_token.encode('utf-8'), AES.MODE_ECB)
+    # 设置原始数据
+    pad_params = params + str(g_time)
+    # 数据加密
+    data = cipher.encrypt(pad(pad_params).encode('utf-8'))
+    g_token = (base64.encodebytes(data)).decode('utf8').strip()
+    return g_token
 
 
 def get_auth_user(user_id):
     """获取用户拥有所有用户(包括自己)的权限"""
-    rsp = requests.get(url=f'http://api.zanxiangnet.com/erp/api/user/subUser/3/{user_id}')
+    g_time = int(time.time())
+    base_url = 'https://api.zanxiangnet.com'
+    params = f'/erp/api/user/subUser/3/{user_id}'
+    print(params)
+    g_token = get_g_token(g_time, params)
+    params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+    url = base_url + params + '?' + params_other_urlencode
+    rsp = requests.get(url)
     nick_name_list = []
     for _ in rsp.json()['data']:
         nick_name_list.append(_['nickName'])
     return nick_name_list
 
 
+def get_auth_channel_self(user_id):
+    g_time = int(time.time())
+    base_url = 'https://api.zanxiangnet.com'
+    params = '/erp/api/resource/search/3'
+    g_token = get_g_token(g_time, params)
+    params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+    params_other = f'?userIds={user_id}'
+    url = base_url + params + params_other + '&' + params_other_urlencode
+    rsp = requests.get(url)
+    channel_list = rsp.json()['data']
+    data1 = []
+    if channel_list:
+        for _ in channel_list:
+            data1.append(_['resourceName'])
+
+    return tuple(data1)
+
+
 def get_auth_channel(user_id):
     """获取用户拥有的所有公众号权限"""
 
     db = MysqlUtils()
     # 普通权限------java,获取本人对应拥有的公众号
-    rsp = requests.get(f'http://api.zanxiangnet.com/system/api/mp/mpAccount/subAccountWithUser/3/{user_id}')
+    g_time = int(time.time())
+    base_url = 'https://api.zanxiangnet.com'
+    params = '/erp/api/resource/search/3'
+    g_token = get_g_token(g_time, params)
+    params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+    params_other = f'?userIds={user_id}'
+    url = base_url + params + params_other + '&' + params_other_urlencode
+    rsp = requests.get(url)
     channel_list = rsp.json()['data']
     data1 = []
     if channel_list:
         for _ in channel_list:
-            data1.append(_['nickName'])
+            data1.append(_['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
@@ -30,12 +80,18 @@ def get_auth_channel(user_id):
 
     data3 = []
     if data2:
-        rsp = requests.get('http://api.zanxiangnet.com/system/api/mp/mpAccount/search/3')
+        g_time = int(time.time())
+        base_url = 'https://api.zanxiangnet.com'
+        params = '/erp/api/resource/search/3'
+        g_token = get_g_token(g_time, params)
+        params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+        url = base_url + params + '?' + params_other_urlencode
+        rsp = requests.get(url)
         channel_list = []
         channel_dict = {}
         for _ in rsp.json()['data']:
-            channel_list.append((_['id'], _['nickName']))
-            channel_dict[_['id']] = _['nickName']
+            channel_list.append((_['id'], _['resourceName']))
+            channel_dict[_['id']] = _['resourceName']
         data2_2 = tuple(data2.split(','))
 
         for _ in data2_2:
@@ -43,62 +99,27 @@ def get_auth_channel(user_id):
     return tuple(data1 + data3)
 
 
-def get_auth_game_info(user_id):
-    """获取用户拥有的所有用户拥有的游戏"""
-    db = MysqlUtils()
-    # 1.获取用户名字
-    rsp = requests.get('http://api.zanxiangnet.com/erp/api/user/search/3?powerLevelMin=0')
-    user_name = None
-    for _ in rsp.json()['data']:
-        if str(_['userId']) == str(user_id):
-            user_name = _['nickName']
-    # 2.获取所有游戏id
-    sql = f'''
-    SELECT d.id ,d.name,min(DATE_FORMAT(a.start_date,"%Y-%m-%d"))
-	FROM quchen_text.advertiser_vx a
-                                left join db_mp.mp_mp_conf b on  a.name =b.wx_name 
-                                left join db_mp.mp_conf_agent c on c.advertiser_conf_id = b.id
-                                left join db_mp.h_game d on c.app_id = d.id
-        where pitcher ='{user_name}' and d.id is not null
-        group by id
-    '''
-    user_ids = db.quchen_text.get_data_list(sql)
-    return user_ids
-
-
-def get_auth_game_name(user_id):
-    """获取用户拥有的所有用户拥有的游戏"""
-    db = MysqlUtils()
-    # 1.获取用户名字
-    rsp = requests.get('http://api.zanxiangnet.com/erp/api/user/search/3?powerLevelMin=0')
-    user_name = None
-    for _ in rsp.json()['data']:
-        if str(_['userId']) == str(user_id):
-            user_name = _['nickName']
-    # 2.获取所有游戏id
-    sql = f'''
-   SELECT d.name 
-	FROM quchen_text.advertiser_vx a
-                                left join db_mp.mp_mp_conf b on  a.name =b.wx_name 
-                                left join db_mp.mp_conf_agent c on c.advertiser_conf_id = b.id
-                                left join db_mp.h_game d on c.app_id = d.id
-        where pitcher ='{user_name}' and d.name is not null
-        group by name
-    '''
-    user_ids = db.quchen_text.get_data_list(sql)
-    return user_ids
-
 def super_auth():
     "获取超级数据权限的用户列表"
-    rsp = requests.get('http://api.zanxiangnet.com/erp/api/user/search/3?powerLevelMin=99')
+    g_time = int(time.time())
+    base_url = 'https://api.zanxiangnet.com'
+    params = '/erp/api/user/search/3'
+    g_token = get_g_token(g_time, params)
+    params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
+    url = base_url + params  + '?' + params_other_urlencode
+    rsp = requests.get(url)
+    print(rsp.text)
     user_list = []
     for _ in rsp.json()['data']:
-        user_list.append(_['userId'])
+        if _['powerLevel'] >= 99:
+            user_list.append(_['userId'])
+    print(user_list)
     return user_list
 
 
 if __name__ == '__main__':
-    # print(get_auth_channel(109))
+    print(super_auth())
     # print(get_role(78))
     # print(f"ssed{tuple([1, 3, 4])}")
-    get_auth_game_name(196)
+    # xx = super_auth()
+    # print(xx)