chenjunkai 6 жил өмнө
parent
commit
c8fed5bf3b

+ 37 - 10
Controller/DeviceShare.py

@@ -20,7 +20,7 @@ from Object.TokenObject import TokenObject
 from Ansjer.config import SERVER_DOMAIN
 from Ansjer.config import SERVER_DOMAIN
 import jwt
 import jwt
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
-
+from Model.models import UID_Bucket
 
 
 class DeviceShareView(View):
 class DeviceShareView(View):
 
 
@@ -59,20 +59,34 @@ class DeviceShareView(View):
 
 
     def do_generate_token_url(self, userID, request_dict, response):
     def do_generate_token_url(self, userID, request_dict, response):
         UID = request_dict.get('UID', None)
         UID = request_dict.get('UID', None)
-        dvqs = Device_Info.objects.filter(UID=UID, userID_id=userID, isShare=False)
-        if dvqs.exists():
+        dvqs = Device_Info.objects.filter(UID=UID, userID_id=userID, isShare=False).values('NickName')
+        userqs = Device_User.objects.filter(userID=userID).values('username','userEmail','phone')
+        if dvqs:
             data = {'sharer': userID, 'UID': UID}
             data = {'sharer': userID, 'UID': UID}
             share_token = jwt.encode(data, 'jwt.#^^&', algorithm='HS256')
             share_token = jwt.encode(data, 'jwt.#^^&', algorithm='HS256')
-            share_url = '{SERVER_DOMAIN}deviceShare/confirm?shareToken={shareToken}' \
-                .format(SERVER_DOMAIN=SERVER_DOMAIN, shareToken=share_token.decode('utf-8'))
-            return response.json(0, {'share_url': share_url})
+            # share_url = '{SERVER_DOMAIN}deviceShare/confirm?shareToken={shareToken}' \
+            #     .format(SERVER_DOMAIN=SERVER_DOMAIN, shareToken=share_token.decode('utf-8'))
+            # return response.json(0, {'share_url': share_url})
+            if userqs[0]['username']:
+                share_user = userqs[0]['username']
+            elif userqs[0]['userEmail']:
+                share_user = userqs[0]['userEmail']
+            elif userqs[0]['phone']:
+                share_user = userqs[0]['phone']
+            else:
+                share_user = ''
+            return response.json(0, {
+                'shareToken': share_token.decode('utf-8'),
+                'deviceName': dvqs[0]['NickName'],
+                'shareUser': share_user,
+            })
         else:
         else:
             return response.json(173)
             return response.json(173)
 
 
     def do_confirm(self, userID, request_dict, response):
     def do_confirm(self, userID, request_dict, response):
         shareToken = request_dict.get('shareToken', None)
         shareToken = request_dict.get('shareToken', None)
         if shareToken is not None:
         if shareToken is not None:
-            data = jwt.decode(shareToken, 'jwt.#^^&', algorithms='HS256')
+            data = jwt.decode(shareToken, '.#^^&', algorithms='HS256')
             # 分享者userID
             # 分享者userID
             sharer = data.get('sharer', None)
             sharer = data.get('sharer', None)
             # 分享的uid
             # 分享的uid
@@ -82,7 +96,8 @@ class DeviceShareView(View):
                 try:
                 try:
                     sharerUser = Device_User.objects.get(userID=sharer)
                     sharerUser = Device_User.objects.get(userID=sharer)
                     sharerDvqs = Device_Info.objects.get(userID_id=sharer, UID=UID)
                     sharerDvqs = Device_Info.objects.get(userID_id=sharer, UID=UID)
-                    sharerDvqs.id = CommonService.getUserID(getUser=False)
+                    deviceId = CommonService.getUserID(getUser=False)
+                    sharerDvqs.id = deviceId
                     sharerDvqs.userID_id = userID
                     sharerDvqs.userID_id = userID
                     sharerDvqs.isShare = True
                     sharerDvqs.isShare = True
                     sharerDvqs.primaryUserID = sharer
                     sharerDvqs.primaryUserID = sharer
@@ -101,7 +116,19 @@ class DeviceShareView(View):
                 except Exception as e:
                 except Exception as e:
                     return response.json(10, repr(e))
                     return response.json(10, repr(e))
                 else:
                 else:
-                    return response.json(0)
+                    dvqs = Device_Info.objects.filter(id=deviceId).values('id', 'userID', 'NickName', 'UID',
+                                                                    'View_Account',
+                                                                    'View_Password', 'ChannelIndex', 'Type',
+                                                                    'isShare',
+                                                                    'primaryUserID', 'primaryMaster',
+                                                                    'data_joined', 'version',
+                                                                    'isVod', 'isExist')
+                    dvql = CommonService.qs_to_list(dvqs)
+                    ubqs = UID_Bucket.objects.filter(uid=UID). \
+                        values('bucket__content', 'status', 'channel', 'endTime', 'uid')
+                    res = dvql[0]
+                    res['vod'] = list(ubqs)
+                    return response.json(0, res)
             else:
             else:
                 return response.json(174)
                 return response.json(174)
         else:
         else:
@@ -114,7 +141,7 @@ class DeviceShareView(View):
         UID = request_dict.get('UID', None)
         UID = request_dict.get('UID', None)
         if UID is not None:
         if UID is not None:
             # 查询分享获得的用户
             # 查询分享获得的用户
-            qs = Device_Info.objects.filter(UID=UID, isShare=True, primaryUserID=userID). \
+            qs = Device_Info.objects.filter(UID=UID, isShare=True, primaryUserID=userID,isExist=1). \
                 values('userID__NickName', 'userID__username', 'userID__userEmail', 'userID__phone', 'id')
                 values('userID__NickName', 'userID__username', 'userID__userEmail', 'userID__phone', 'id')
             data = []
             data = []
             # print(qs)
             # print(qs)