Browse Source

修改老版本扫码共享设备不传familyId问题

peng 3 năm trước cách đây
mục cha
commit
05c36d2c2f
2 tập tin đã thay đổi với 18 bổ sung10 xóa
  1. 12 7
      Controller/CloudTransfer.py
  2. 6 3
      Controller/DeviceShare.py

+ 12 - 7
Controller/CloudTransfer.py

@@ -15,7 +15,7 @@ from Service.ModelService import ModelService
 from Object.ResponseObject import ResponseObject
 from django.db.models import Q
 from Model.models import Device_User, Device_Info, Order_Model, UID_Bucket, StsCrdModel, VodHlsModel, Unused_Uid_Meal, \
-    VodBucketModel, UIDMainUser
+    VodBucketModel, UIDMainUser, FamilyRoomDevice
 
 
 class cloudTestView(View):
@@ -54,13 +54,14 @@ class cloudTestView(View):
         oldUserID = request_dict.get("oldUserID", None)
         username = request_dict.get("username", None)
         uid = request_dict.get('uid', None)
+        family_id = request_dict.get('familyId', None)
+        room_id = request_dict.get('roomId', 0)
         now_time = CommonService.timestamp_to_str(int(time.time()))
         # print('now_time: ', now_time)
 
         try:
             # 查询该userID下是否存在此设备
-            old_deviceInfo_qs = Device_Info.objects.filter(userID_id=oldUserID, UID=uid, isExist=1).values('isShare',
-                                                                                                           'vodPrimaryUserID')
+            old_deviceInfo_qs = Device_Info.objects.filter(userID_id=oldUserID, UID=uid, isExist=1).values()
             if not old_deviceInfo_qs.exists():
                 return response.json(10008)
 
@@ -101,12 +102,16 @@ class cloudTestView(View):
             vodPrimaryMaster = newUserName
 
             with transaction.atomic():
-                # 更新旧设备的userID,设备添加时间,关闭推送消息提醒
-                old_deviceInfo_qs.update(userID=newUserID, data_joined=now_time, NotificationMode=0)
+                # 更新旧设备的userID,设备添加时间,关闭推送消息提醒,主用户信息
+                old_deviceInfo_qs.update(userID=newUserID, data_joined=now_time, NotificationMode=0,
+                                         vodPrimaryUserID=vodPrimaryUserID,
+                                         vodPrimaryMaster=vodPrimaryMaster)
                 # 更新设备的主用户信息
-                Device_Info.objects.filter(UID=uid).update(vodPrimaryUserID=vodPrimaryUserID,
-                                                           vodPrimaryMaster=vodPrimaryMaster)
+                # new_device_qs = Device_Info.objects.filter(UID=uid).update(vodPrimaryUserID=vodPrimaryUserID,
+                #                                                            vodPrimaryMaster=vodPrimaryMaster)
                 VodHlsModel.objects.filter(uid=uid).delete()
+                FamilyRoomDevice.objects.filter(device_id=old_deviceInfo_qs[0]['id']).update(family_id=family_id,
+                                                                                             room_id=room_id)
 
                 # UIDMainUser.objects.filter(UID=uid).delete()
                 # uid_main_dict = {

+ 6 - 3
Controller/DeviceShare.py

@@ -144,16 +144,19 @@ class DeviceShareView(View):
         shareToken = request_dict.get('shareToken', None)
         family_id = request_dict.get('familyId', None)
         room_id = request_dict.get('roomId', None)
-        if shareToken:
+        if not shareToken:
+            return response.json(444, {'param': 'shareToken'})
             # try:
             #     data = jwt.decode(shareToken, '.#^^&', algorithms='HS256')
             # except Exception as e:
             #     return response.json(10, repr(e))
+        try:
             redisObj = RedisObject()
             data_str = redisObj.get_data(key=shareToken)
             if not data_str:
                 return response.json(119)
             data = json.loads(data_str)
+            print('data:', data)
             # 分享者userID
             sharer = data.get('sharer', None)
             # 分享的uid
@@ -203,8 +206,8 @@ class DeviceShareView(View):
                     return response.json(0, res)
             else:
                 return response.json(174)
-        else:
-            return response.json(444, {'param': 'shareToken'})
+        except Exception as e:
+            return response.json(500, repr(e))
 
     # 1,这个用户的分享出去的设备
     # 2,获得上面个的设备拥有者