|
@@ -50,9 +50,9 @@ class GatewayFamilyRoomView(View):
|
|
# 房间详情
|
|
# 房间详情
|
|
elif operation == 'details':
|
|
elif operation == 'details':
|
|
return self.get_room_details(app_user_id, request_dict, response)
|
|
return self.get_room_details(app_user_id, request_dict, response)
|
|
- elif operation == 'all-devices': # 家庭所有设备
|
|
|
|
|
|
+ elif operation == 'all-devices': # 家庭所有设备
|
|
return self.all_devices(request_dict, response)
|
|
return self.all_devices(request_dict, response)
|
|
- elif operation == 'devices-sort': # 家庭设备排序
|
|
|
|
|
|
+ elif operation == 'devices-sort': # 家庭设备排序
|
|
return self.devices_sort(request_dict, response)
|
|
return self.devices_sort(request_dict, response)
|
|
else:
|
|
else:
|
|
return response.json(414)
|
|
return response.json(414)
|
|
@@ -212,21 +212,23 @@ class GatewayFamilyRoomView(View):
|
|
if not family_id:
|
|
if not family_id:
|
|
return response.json(444)
|
|
return response.json(444)
|
|
try:
|
|
try:
|
|
- family_room_device_qs = FamilyRoomDevice.objects.filter(family_id=family_id, sub_device=0).\
|
|
|
|
- annotate(type=F('device__Type'), nickname=F('device__NickName')).\
|
|
|
|
|
|
+ family_room_device_qs = FamilyRoomDevice.objects.filter(family_id=family_id, sub_device=0). \
|
|
|
|
+ annotate(type=F('device__Type'), nickname=F('device__NickName')). \
|
|
values('device_id', 'type', 'nickname', 'room_id').order_by('sort')
|
|
values('device_id', 'type', 'nickname', 'room_id').order_by('sort')
|
|
if not family_room_device_qs.exists():
|
|
if not family_room_device_qs.exists():
|
|
return response.json(0, [])
|
|
return response.json(0, [])
|
|
|
|
+ device_room = []
|
|
# 查询房间名称
|
|
# 查询房间名称
|
|
for device in family_room_device_qs:
|
|
for device in family_room_device_qs:
|
|
room_id = device['room_id']
|
|
room_id = device['room_id']
|
|
- if room_id == 0:
|
|
|
|
- device['room'] = ''
|
|
|
|
- else:
|
|
|
|
- family_room_qs = FamilyRoom.objects.filter(id=room_id).values('name')
|
|
|
|
- device['room'] = family_room_qs[0]['name'] if family_room_qs.exists() else ''
|
|
|
|
- device.pop('room_id')
|
|
|
|
- return response.json(0, list(family_room_device_qs))
|
|
|
|
|
|
+ room_name = FamilyRoom.objects.filter(id=room_id)
|
|
|
|
+ device_room.append({
|
|
|
|
+ 'deviceId': device['device_id'],
|
|
|
|
+ 'deviceType': device['type'],
|
|
|
|
+ 'nickName': device['nickname'],
|
|
|
|
+ 'roomName': room_name.first().name if room_name.exists() else '',
|
|
|
|
+ })
|
|
|
|
+ return response.json(0, device_room)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
return response.json(500, repr(e))
|
|
return response.json(500, repr(e))
|
|
|
|
|