Эх сурвалжийг харах

新增二维码数据接口,优化房间详情报错

zhangdongming 3 жил өмнө
parent
commit
e7684fdc22

+ 35 - 2
Controller/SensorGateway/GatewayFamilyMemberController.py

@@ -12,11 +12,11 @@ import time
 
 from django.views.generic.base import View
 
-from Model.models import FamilyMemberJoin, UserFamily, Device_Info, Device_User
+from Controller.SensorGateway.EquipmentFamilyController import EquipmentFamilyView
+from Model.models import FamilyMemberJoin, UserFamily
 from Object.RedisObject import RedisObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
-from Controller.SensorGateway.EquipmentFamilyController import EquipmentFamilyView
 from Service.CommonService import CommonService
 
 
@@ -108,3 +108,36 @@ class GatewayFamilyMemberView(View):
             print(e)
             return response.json(173, repr(e))
         pass
+
+    @classmethod
+    def generate_token_url(cls, app_user_id, request_dict, response):
+        family_id = request_dict.get('familyId', None)
+        if not family_id:
+            return response.json(444)
+        family_qs = UserFamily.objects.filter(id=family_id, user_id=app_user_id) \
+            .values('name', 'user__userEmail',
+                    'user__userIconUrl',
+                    'user__phone', 'user__NickName',
+                    'user__username')
+        if not family_qs.exists():
+            return response.json(173)
+        family_qs = family_qs.first()
+        data = {'sharer': app_user_id, 'familyId': family_id}
+        # -----------------
+        # share_token = jwt.encode(data, '.#^^&', algorithm='HS256').decode('utf-8')
+        # +++++++++++++++++
+        redisObj = RedisObject()
+        share_token = str(int(time.time())) + CommonService.RandomStr(8)
+        if not redisObj.set_data(key=share_token, val=json.dumps(data), expire=300):
+            return response.json(10, '生成失败')
+        return response.json(0, {
+            'shareToken': share_token,
+            'userPhone': family_qs['user__phone'],
+            'nickName': family_qs['user__NickName'],
+            'userIconUrl': family_qs['user__userIconUrl'],
+            'userName': family_qs['user__username'],
+            'familyName': family_qs['name'],
+            'userEmail': family_qs['user__userEmail'],
+        })
+
+

+ 2 - 2
Controller/SensorGateway/GatewayFamilyRoomController.py

@@ -161,14 +161,14 @@ class GatewayFamilyRoomView(View):
         room_device_qs = FamilyRoomDevice.objects.filter(family_id=family_id, room_id=room_id).order_by('sort').values(
             'device_id').annotate(count=Count('device_id')).values('device_id', 'device__Type', 'device__NickName')
         device_room = []
-        room_name = FamilyRoom.objects.get(id=room_id).name
         if room_device_qs.exists():
+            room_name = FamilyRoom.objects.filter(id=room_id)
             for item in room_device_qs:
                 device_room.append({
                     'deviceId': item['device_id'],
                     'deviceType': item['device__Type'],
                     'nickName': item['device__NickName'],
-                    'roomName': room_name,
+                    'roomName': room_name.first().name if room_name.exists() else '',
                 })
 
         device_not_room = []