소스 검색

添加v3queryInterface

chanjunkai 5 년 전
부모
커밋
0e2f41d9c3
1개의 변경된 파일94개의 추가작업 그리고 0개의 파일을 삭제
  1. 94 0
      Controller/UidUser.py

+ 94 - 0
Controller/UidUser.py

@@ -364,6 +364,7 @@ class UidUserView(View):
             return response.json(404)
 
 
+
 # v3添加设备字段
 def v3addInterface(request):
     request.encoding = 'utf-8'
@@ -399,6 +400,8 @@ def v3addInterface(request):
         print(View_Password)
     except Exception as e:
         return response.json(111)
+    if not View_Password:
+        return response.json(424)
     if all([UID, NickName, View_Account, Type, ChannelIndex]):
         tko = TokenObject(token)
         response.lang = tko.lang
@@ -451,3 +454,94 @@ def v3addInterface(request):
     else:
         return response.json(444, {'param': 'UID,NickName,View_Account,View_Password,Type,ChannelIndex'})
 
+
+# v3新查询设备字段
+def v3queryInterface(request):
+    request.encoding = 'utf-8'
+    response = ResponseObject()
+    if request.method == 'POST':
+        request_dict = request.POST
+    elif request.method == 'GET':
+        request_dict = request.GET
+    else:
+        return response.json(444)
+    token = request_dict.get('token', None)
+    page = request_dict.get('page', None)
+    line = request_dict.get('line', None)
+    NickName = request_dict.get('NickName', None)
+    uid = request_dict.get('uid', None)
+    is_ap = request_dict.get('is_ap', None)
+    page = int(page)
+    line = int(line)
+    tko = TokenObject(token)
+    response.lang = tko.lang
+    if page <= 0:
+        return response.json(0)
+
+    if tko.code == 0:
+        userID = tko.userID
+        redisObj = RedisObject(db=8)
+        redisObj.del_data(key='uid_qs_' + userID)
+        uid_user_qs = UidUserModel.objects.filter(userID_id=userID)
+        if is_ap:
+            is_ap = int(is_ap)
+            uid_user_qs = uid_user_qs.filter(is_ap=is_ap)
+        if NickName:
+            uid_user_qs = uid_user_qs.filter(NickName__icontains=NickName)
+        if uid:
+            uid_user_qs = uid_user_qs.filter(UID=uid)
+        uid_user_ql = uid_user_qs[(page - 1) * line:page * line]. \
+            values('id', 'userID', 'NickName', 'UID', 'View_Account',
+                   'View_Password', 'ChannelIndex', 'Type', 'isShare',
+                   'primaryUserID', 'primaryMaster', 'data_joined', 'version',
+                   'isVod', 'isExist', 'NotificationMode','is_ap')
+        uid_user_ls = CommonService.qs_to_list(uid_user_ql)
+        uid_list = []
+        for uid_user in uid_user_ls:
+            uid_list.append(uid_user['UID'])
+        ubqs = UID_Bucket.objects.filter(uid__in=uid_list). \
+            values('bucket__content', 'status', 'channel', 'endTime', 'uid')
+        upqs = UID_Preview.objects.filter(uid__in=uid_list).order_by('channel').values('id', 'uid', 'channel')
+        auth = oss2.Auth(OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET)
+        bucket = oss2.Bucket(auth, 'oss-cn-hongkong.aliyuncs.com', 'statres')
+        nowTime = int(time.time())
+        data = []
+        # 设备拓展信息表
+        us_qs = UidSetModel.objects.filter(uid__in=uid_list).values('uid', 'version', 'nickname')
+        uv_dict = {}
+        return response.json(0, us_qs)
+        for us in us_qs:
+            uv_dict[us['uid']] = {'version': us['version'], 'nickname': us['nickname']}
+        for p in uid_user_ls:
+            p['vod'] = []
+            for dm in ubqs:
+                if p['UID'] == dm['uid']:
+                    if dm['endTime'] > nowTime:
+                        p['vod'].append(dm)
+            p['preview'] = []
+            for up in upqs:
+                if p['UID'] == up['uid']:
+                    obj = 'uid_preview/{uid}/channel_{channel}.png'.format(uid=up['uid'], channel=up['channel'])
+                    img_sign = bucket.sign_url('GET', obj, 300)
+                    p['preview'].append(img_sign)
+            p_uid = p['UID']
+            if p_uid in uv_dict:
+                # 设备版本号
+                p['uid_version'] = uv_dict[p_uid]['version']
+                # 设备昵称
+                if uv_dict[p_uid]['nickname']:
+                    p['NickName'] = uv_dict[p_uid]['nickname']
+            else:
+                # 设备版本号
+                p['uid_version'] = ''
+            data.append(p)
+        return response.json(0, data)
+    else:
+        return response.json(tko.code)
+
+
+
+
+
+
+