瀏覽代碼

新增获取我创建的家庭列表,新增修改网关设备名称。

zhangdongming 3 年之前
父節點
當前提交
aee42a78c4
共有 2 個文件被更改,包括 40 次插入4 次删除
  1. 1 1
      Ansjer/server_urls/loocam_url.py
  2. 39 3
      Controller/SensorGateway/GatewayDeviceController.py

+ 1 - 1
Ansjer/server_urls/loocam_url.py

@@ -9,7 +9,7 @@
 from django.urls import re_path
 
 from Controller.SensorGateway import GatewayFamilyRoomController, SubDeviceController, GatewayFamilyMemberController, \
-    EquipmentFamilyController,GatewayDeviceController
+    EquipmentFamilyController, GatewayDeviceController
 
 urlpatterns = [
     re_path(r'^sensor/gateway/(?P<operation>.*)$', EquipmentFamilyController.EquipmentFamilyView.as_view()),

+ 39 - 3
Controller/SensorGateway/GatewayDeviceController.py

@@ -11,11 +11,12 @@ from django.db.models import Q
 from django.views.generic.base import View
 
 from Controller.SensorGateway.EquipmentFamilyController import EquipmentFamilyView
-from Model.models import FamilyRoomDevice, FamilyRoom, GatewaySubDevice
+from Model.models import FamilyRoomDevice, FamilyRoom, GatewaySubDevice, Device_Info, UserFamily
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 
 
+# 网关主页
 class GatewayDeviceView(View):
 
     def get(self, request, *args, **kwargs):
@@ -43,6 +44,40 @@ class GatewayDeviceView(View):
             return self.gateway_device_list(request_dict, response)
         if operation == 'del':
             return self.gateway_device_del(user_id, request_dict, response)
+        if operation == 'update':
+            return self.gateway_device_update(user_id, request_dict, response)
+        if operation == 'my/family/list':
+            return self.my_family_list(user_id, response)
+
+    @classmethod
+    def gateway_device_update(cls, user_id, request_dict, response):
+        """
+        网关设备修改名称
+        @param user_id:
+        @param request_dict:
+        @param response:
+        @return:
+        """
+        device_name = request_dict.get('deviceName')
+        device_id = request_dict.get('deviceId')
+        if not all([device_name, device_id]):
+            return response.json(444)
+        device_info_qs = Device_Info.objects.filter(userID_id=user_id, id=device_id)
+        if device_info_qs.exists():
+            device_info_qs.update(NickName=device_name)
+        return response.json(0)
+
+    @classmethod
+    def my_family_list(cls, user_id, response):
+        """
+        我的家庭列表
+        @param user_id:
+        @param response:
+        @return:
+        """
+        user_family_qs = UserFamily.objects.filter(user_id=user_id).values()
+        family_list = list(user_family_qs) if user_family_qs.exists() else []
+        return response.json(0, family_list)
 
     @classmethod
     def gateway_device_del(cls, user_id, request_dict, response):
@@ -99,7 +134,7 @@ class GatewayDeviceView(View):
         device_qs = FamilyRoomDevice.objects.filter(device_id=device_id, sub_device=0)
         if not device_qs.exists():
             return response.json(173)
-        device_qs = device_qs.values('room_id', 'device__Type', 'device__NickName', 'device__UID',
+        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']
@@ -108,6 +143,7 @@ class GatewayDeviceView(View):
             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'],
@@ -132,7 +168,7 @@ class GatewayDeviceView(View):
                 if device_qs.exists():
                     gateway_sub_qs = gateway_sub_qs.first()
                     sub_device.append({
-                        'id': gateway_sub_qs['id'],
+                        'gatewaySubId': gateway_sub_qs['id'],
                         'nickName': gateway_sub_qs['nickname'],
                         'srcAddr': gateway_sub_qs['src_addr'],
                         'status': gateway_sub_qs['status'],