Selaa lähdekoodia

修改家庭设备排序、房间设备排序逻辑

peng 3 vuotta sitten
vanhempi
commit
9c2c26b38f
1 muutettua tiedostoa jossa 18 lisäystä ja 8 poistoa
  1. 18 8
      Controller/SensorGateway/GatewayFamilyRoomController.py

+ 18 - 8
Controller/SensorGateway/GatewayFamilyRoomController.py

@@ -12,7 +12,7 @@ from django.db.models import Q, Count, F
 from django.views.generic.base import View
 from django.views.generic.base import View
 
 
 from Controller.SensorGateway.EquipmentFamilyController import EquipmentFamilyView
 from Controller.SensorGateway.EquipmentFamilyController import EquipmentFamilyView
-from Model.models import FamilyRoomDevice, FamilyRoom, GatewaySubDevice
+from Model.models import FamilyRoomDevice, FamilyRoom, GatewaySubDevice, Device_Info
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
 
 
@@ -85,12 +85,17 @@ class GatewayFamilyRoomView(View):
                 if qs.exists():
                 if qs.exists():
                     qs.update(room_id=0, sort=0)
                     qs.update(room_id=0, sort=0)
                 if device_ids:
                 if device_ids:
-                    device_ids = device_ids.split(',')
+                    device_ids = eval(device_ids)
                     for i, item in enumerate(device_ids):
                     for i, item in enumerate(device_ids):
-                        device_id = int(item)
-                        device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
+                        device_id = item['id']
+                        device_type = item['type']
+                        device_qs = Device_Info.objects.filter(id=device_id, Type=device_type)
                         if device_qs.exists():
                         if device_qs.exists():
-                            device_qs.update(room_id=room_id, sort=i)
+                            room_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
+                        else:
+                            room_device_qs = FamilyRoomDevice.objects.filter(sub_device=device_id)
+                        if room_device_qs.exists():
+                            room_device_qs.update(room_id=room_id, sort=i)
                 return response.json(0)
                 return response.json(0)
         except Exception as e:
         except Exception as e:
             print(e)
             print(e)
@@ -288,11 +293,16 @@ class GatewayFamilyRoomView(View):
         if not device_ids:
         if not device_ids:
             return response.json(444)
             return response.json(444)
         try:
         try:
-            device_ids = device_ids.split(',')
+            device_ids = eval(device_ids)
             with transaction.atomic():
             with transaction.atomic():
                 for i, item in enumerate(device_ids):
                 for i, item in enumerate(device_ids):
-                    device_id = int(item)
-                    FamilyRoomDevice.objects.filter(device_id=device_id).update(sort=i)
+                    device_id = item['id']
+                    device_type = item['type']
+                    device_qs = Device_Info.objects.filter(id=device_id, Type=device_type)
+                    if device_qs.exists():  # 更新主设备排序
+                        FamilyRoomDevice.objects.filter(device_id=device_id).update(sort=i)
+                    else:  # 更新子设备排序
+                        FamilyRoomDevice.objects.filter(sub_device=device_id).update(sort=i)
             return response.json(0)
             return response.json(0)
         except Exception as e:
         except Exception as e:
             return response.json(500, repr(e))
             return response.json(500, repr(e))