Browse Source

修改查询设备接口返回值

peng 2 years ago
parent
commit
4c2859ea1e
1 changed files with 26 additions and 22 deletions
  1. 26 22
      Controller/SensorGateway/SubDeviceController.py

+ 26 - 22
Controller/SensorGateway/SubDeviceController.py

@@ -587,40 +587,44 @@ class GatewaySubDeviceView(View):
             return response.json(444, {'error param': 'familyId'})
 
         try:
-            family_room_device_qs = FamilyRoomDevice.objects.filter(family_id=family_id, sub_device=0).values(
-                'device_id', 'device__Type', 'device__NickName').order_by('-device__data_joined')
+            family_room_device_qs = FamilyRoomDevice.objects.filter(family_id=family_id, sub_device=0,
+                                                                    device__Type=200).values(
+                'device_id', 'device__NickName').order_by('-device__data_joined')
             if room_id:
                 family_room_device_qs = family_room_device_qs.filter(room_id=room_id)
             device_list = []
             for item in family_room_device_qs:
                 device_dict = {
                     'deviceId': item['device_id'],
-                    'deviceType': item['device__Type'],
+                    'deviceType': 200,
                     'deviceNickName': item['device__NickName'],
                 }
                 sub_device = []
                 family_room_sub_device_qs = FamilyRoomDevice.objects.filter(Q(family_id=family_id), ~Q(sub_device=0),
                                                                             Q(device_id=item['device_id'])).values(
                     'sub_device', 'room_id').order_by('sort')
-                for each in family_room_sub_device_qs:
-                    room_qs = FamilyRoom.objects.filter(id=each['room_id']).values('name')
-                    room_name = room_qs[0]['name'] if room_qs.exists() else ''
-                    device_qs = GatewaySubDevice.objects.filter(id=each['sub_device']).values('id', 'nickname',
-                                                                                              'device_type', 'src_addr',
-                                                                                              'status', 'created_time')
-                    if device_qs.exists():
-                        sub_device.append({
-                            'gatewaySubId': device_qs[0]['id'],
-                            'nickName': device_qs[0]['nickname'],
-                            'deviceType': device_qs[0]['device_type'],
-                            'srcAddr': device_qs[0]['src_addr'],
-                            'status': device_qs[0]['status'],
-                            'createdTime': device_qs[0]['created_time'],
-                            'roomName': room_name,
-                            'familyId': family_id
-                        })
-                device_dict['subDevice'] = sub_device
-                device_list.append(device_dict)
+                if family_room_sub_device_qs.exists():
+                    for each in family_room_sub_device_qs:
+                        room_qs = FamilyRoom.objects.filter(id=each['room_id']).values('name')
+                        room_name = room_qs[0]['name'] if room_qs.exists() else ''
+                        device_qs = GatewaySubDevice.objects.filter(id=each['sub_device']).values('id', 'nickname',
+                                                                                                  'device_type',
+                                                                                                  'src_addr',
+                                                                                                  'status',
+                                                                                                  'created_time')
+                        if device_qs.exists():
+                            sub_device.append({
+                                'gatewaySubId': device_qs[0]['id'],
+                                'nickName': device_qs[0]['nickname'],
+                                'deviceType': device_qs[0]['device_type'],
+                                'srcAddr': device_qs[0]['src_addr'],
+                                'status': device_qs[0]['status'],
+                                'createdTime': device_qs[0]['created_time'],
+                                'roomName': room_name,
+                                'familyId': family_id
+                            })
+                    device_dict['subDevice'] = sub_device
+                    device_list.append(device_dict)
             return response.json(0, device_list)
         except Exception as e:
             return response.json(500, repr(e))