|
@@ -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'],
|