ソースを参照

优化网关位置设置 房间id为选填

zhangdongming 3 年 前
コミット
35f671e99e
1 ファイル変更13 行追加12 行削除
  1. 13 12
      Controller/SensorGateway/GatewayDeviceController.py

+ 13 - 12
Controller/SensorGateway/GatewayDeviceController.py

@@ -64,11 +64,9 @@ class GatewayDeviceView(View):
         device_id = request_dict.get('deviceId', None)
         device_id = request_dict.get('deviceId', None)
         family_id = request_dict.get('familyId', None)
         family_id = request_dict.get('familyId', None)
         room_id = request_dict.get('roomId', None)
         room_id = request_dict.get('roomId', None)
-        if not all([device_id, family_id, room_id]):
+        if not all([device_id, family_id]):
             return response.json(444)
             return response.json(444)
-        device_id = int(device_id)
         family_id = int(family_id)
         family_id = int(family_id)
-        room_id = int(room_id)
         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)
@@ -77,16 +75,18 @@ class GatewayDeviceView(View):
                 family_room_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id, family_id=family_id)
                 family_room_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id, family_id=family_id)
                 if family_room_device_qs.exists():
                 if family_room_device_qs.exists():
                     family_room_device_qs = family_room_device_qs.filter(sub_device=0)
                     family_room_device_qs = family_room_device_qs.filter(sub_device=0)
-                    if family_room_device_qs.exists():
-                        family_room_device_qs.update(room_id=room_id)
+                    if family_room_device_qs.exists() and room_id:
+                        family_room_device_qs.update(room_id=int(room_id))
                 else:
                 else:
-                    family_room_qs = FamilyRoom.objects.filter(family_id=family_id, id=room_id)
-                    if not family_room_qs.exists():
+                    user_family_qs = UserFamily.objects.filter(id=family_id)
+                    if not user_family_qs:
                         return response.json(173)
                         return response.json(173)
-                    if family_room_qs.exists():
-                        family_room_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
-                        if family_room_device_qs.exists():
-                            family_room_device_qs.update(family_id=family_id, room_id=room_id)
+                    family_room_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
+                    if family_room_device_qs.exists():
+                        param_data = {'family_id': family_id, 'room_id': 0}
+                        if room_id:
+                            param_data['room_id'] = room_id
+                        family_room_device_qs.update(**param_data)
                 return response.json(0)
                 return response.json(0)
         except Exception as e:
         except Exception as e:
             print(e)
             print(e)
@@ -202,7 +202,8 @@ class GatewayDeviceView(View):
                 room_qs = FamilyRoom.objects.filter(id=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 ''
 
 
-            iot_device_info_qs = iotdeviceInfoModel.objects.filter(serial_number=device_qs['device__serial_number'][0:6])
+            iot_device_info_qs = iotdeviceInfoModel.objects.filter(
+                serial_number=device_qs['device__serial_number'][0:6])
             iot_data = {}
             iot_data = {}
             if iot_device_info_qs.exists():
             if iot_device_info_qs.exists():
                 iot_device_Info = iot_device_info_qs.values('endpoint', 'token_iot_number')
                 iot_device_Info = iot_device_info_qs.values('endpoint', 'token_iot_number')