|
@@ -91,15 +91,13 @@ class GatewayDeviceView(View):
|
|
device_id = request_dict.get('deviceId')
|
|
device_id = request_dict.get('deviceId')
|
|
family_id = request_dict.get('familyId')
|
|
family_id = request_dict.get('familyId')
|
|
# 1 删除网关 否则删除子设备
|
|
# 1 删除网关 否则删除子设备
|
|
- is_gateway = request_dict.get('isGateway', None)
|
|
|
|
sub_ids = request_dict.get('subIds')
|
|
sub_ids = request_dict.get('subIds')
|
|
- if not all([is_gateway, family_id]):
|
|
|
|
|
|
+ if not family_id:
|
|
return response.json(444)
|
|
return response.json(444)
|
|
permission = EquipmentFamilyView.get_member_permission_details(user_id, family_id)
|
|
permission = EquipmentFamilyView.get_member_permission_details(user_id, family_id)
|
|
if not permission or permission == '003':
|
|
if not permission or permission == '003':
|
|
return response.json(404)
|
|
return response.json(404)
|
|
- is_gateway = int(is_gateway)
|
|
|
|
- if is_gateway == 1 and device_id:
|
|
|
|
|
|
+ if device_id:
|
|
family_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
|
|
family_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
|
|
if family_device_qs.exists():
|
|
if family_device_qs.exists():
|
|
family_device_qs.delete()
|
|
family_device_qs.delete()
|
|
@@ -134,45 +132,51 @@ class GatewayDeviceView(View):
|
|
device_qs = FamilyRoomDevice.objects.filter(device_id=device_id, sub_device=0)
|
|
device_qs = FamilyRoomDevice.objects.filter(device_id=device_id, sub_device=0)
|
|
if not device_qs.exists():
|
|
if not device_qs.exists():
|
|
return response.json(173)
|
|
return response.json(173)
|
|
- device_qs = device_qs.values('device_id', 'room_id', 'device__Type', 'device__NickName', 'device__UID',
|
|
|
|
- 'device__serial_number')
|
|
|
|
- device_qs = device_qs.first()
|
|
|
|
- room_id = device_qs['room_id']
|
|
|
|
- gateway_room_name = ''
|
|
|
|
- if room_id:
|
|
|
|
- room_qs = FamilyRoom.objects.filter(id=room_id)
|
|
|
|
- gateway_room_name = room_qs.first().name if room_qs.exists() else ''
|
|
|
|
- gateway = {
|
|
|
|
- 'deviceId': device_qs['device_id'],
|
|
|
|
- 'deviceType': device_qs['device__Type'],
|
|
|
|
- 'deviceNickName': device_qs['device__NickName'],
|
|
|
|
- 'UID': device_qs['device__UID'],
|
|
|
|
- 'serialNumber': device_qs['device__serial_number'],
|
|
|
|
- 'roomName': gateway_room_name
|
|
|
|
- }
|
|
|
|
- family_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
|
|
|
|
- family_device_qs = family_device_qs.filter(~Q(sub_device=0)).order_by('-created_time')
|
|
|
|
-
|
|
|
|
- sub_device = []
|
|
|
|
- if family_device_qs.exists():
|
|
|
|
- for item in family_device_qs:
|
|
|
|
- sub_id = item['sub_device']
|
|
|
|
- gateway_sub_qs = GatewaySubDevice.objects.filter(device_id=device_id, id=sub_id).values(
|
|
|
|
- 'id', 'device_type',
|
|
|
|
- 'nickname',
|
|
|
|
- 'src_addr', 'status',
|
|
|
|
- 'created_time', )
|
|
|
|
- rood_id = item['rood_id']
|
|
|
|
- room_qs = FamilyRoom.objects.filter(id=rood_id)
|
|
|
|
|
|
+ try:
|
|
|
|
+ device_qs = device_qs.values('device_id', 'room_id', 'device__Type', 'device__NickName', 'device__UID',
|
|
|
|
+ 'device__serial_number')
|
|
|
|
+ device_qs = device_qs.first()
|
|
|
|
+ room_id = device_qs['room_id']
|
|
|
|
+ gateway_room_name = ''
|
|
|
|
+ if room_id:
|
|
|
|
+ room_qs = FamilyRoom.objects.filter(id=room_id)
|
|
gateway_room_name = room_qs.first().name if room_qs.exists() else ''
|
|
gateway_room_name = room_qs.first().name if room_qs.exists() else ''
|
|
- if device_qs.exists():
|
|
|
|
|
|
+ gateway = {
|
|
|
|
+ 'deviceId': device_qs['device_id'],
|
|
|
|
+ 'deviceType': device_qs['device__Type'],
|
|
|
|
+ 'deviceNickName': device_qs['device__NickName'],
|
|
|
|
+ 'UID': device_qs['device__UID'],
|
|
|
|
+ 'serialNumber': device_qs['device__serial_number'],
|
|
|
|
+ 'roomName': gateway_room_name
|
|
|
|
+ }
|
|
|
|
+ family_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
|
|
|
|
+ family_device_qs = family_device_qs.filter(~Q(sub_device=0)).order_by('-created_time')
|
|
|
|
+
|
|
|
|
+ sub_device = []
|
|
|
|
+ if family_device_qs.exists():
|
|
|
|
+ family_device_qs = family_device_qs.values()
|
|
|
|
+ for item in family_device_qs:
|
|
|
|
+ sub_id = item['sub_device']
|
|
|
|
+ gateway_sub_qs = GatewaySubDevice.objects.filter(device_id=device_id, id=sub_id).values(
|
|
|
|
+ 'id', 'device_type',
|
|
|
|
+ 'nickname',
|
|
|
|
+ 'src_addr', 'status',
|
|
|
|
+ 'created_time', )
|
|
|
|
+ room_id = item['room_id']
|
|
|
|
+ room_qs = FamilyRoom.objects.filter(id=room_id)
|
|
|
|
+ gateway_room_name = room_qs.first().name if room_qs.exists() else ''
|
|
gateway_sub_qs = gateway_sub_qs.first()
|
|
gateway_sub_qs = gateway_sub_qs.first()
|
|
sub_device.append({
|
|
sub_device.append({
|
|
'gatewaySubId': gateway_sub_qs['id'],
|
|
'gatewaySubId': gateway_sub_qs['id'],
|
|
'nickName': gateway_sub_qs['nickname'],
|
|
'nickName': gateway_sub_qs['nickname'],
|
|
|
|
+ 'deviceType': gateway_sub_qs['device_type'],
|
|
'srcAddr': gateway_sub_qs['src_addr'],
|
|
'srcAddr': gateway_sub_qs['src_addr'],
|
|
'status': gateway_sub_qs['status'],
|
|
'status': gateway_sub_qs['status'],
|
|
'createdTime': gateway_sub_qs['created_time'],
|
|
'createdTime': gateway_sub_qs['created_time'],
|
|
'roomName': gateway_room_name
|
|
'roomName': gateway_room_name
|
|
})
|
|
})
|
|
- return response.json(0, {'gateway': gateway, 'sub_device': sub_device})
|
|
|
|
|
|
+ return response.json(0, {'gateway': gateway, 'sub_device': sub_device})
|
|
|
|
+
|
|
|
|
+ except Exception as e:
|
|
|
|
+ print(e.args)
|
|
|
|
+ return response.json(500)
|