Sfoglia il codice sorgente

获取设备信息数据增加查询

locky 3 anni fa
parent
commit
0ec30481c8
2 ha cambiato i file con 37 aggiunte e 9 eliminazioni
  1. 37 8
      AdminController/DeviceManagementController.py
  2. 0 1
      Model/models.py

+ 37 - 8
AdminController/DeviceManagementController.py

@@ -4,6 +4,8 @@ import json
 import time
 
 from django.db import transaction
+from django.db.models import Q
+
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from django.views.generic.base import View
@@ -44,6 +46,8 @@ class DeviceManagement(View):
             return self.resetVod(request, request_dict, response)
         elif operation == 'resetPrimaryUser':
             return self.resetPrimaryUser(request, request_dict, response)
+        elif operation == 'getDeviceTypeList':
+            return self.getDeviceTypeList(request_dict, response)
         else:
             return response.json(444, 'operation')
 
@@ -52,6 +56,9 @@ class DeviceManagement(View):
         pageNo = request_dict.get('pageNo', None)
         pageSize = request_dict.get('pageSize', None)
         UID = request_dict.get('UID', None)
+        NickName = request_dict.get('NickName', None)
+        username = request_dict.get('username', None)
+
         if not all([pageNo, pageSize]):
             return response.json(444)
 
@@ -59,13 +66,25 @@ class DeviceManagement(View):
         line = int(pageSize)
 
         try:
-            device_info_qs = Device_Info.objects.all()
-            if UID:
-                device_info_qs = device_info_qs.filter(UID__contains=UID)
-            if not device_info_qs.exists():
-                return response.json(0, {'list': {}, 'total': 0})
-            count = device_info_qs.count()
-            device_info_qs = device_info_qs[(page - 1) * line:page * line]
+            if UID or NickName or username:    # 条件查询
+                if UID:
+                    device_info_qs = Device_Info.objects.filter(UID__contains=UID)
+                if NickName:
+                    device_info_qs = Device_Info.objects.filter(NickName__contains=NickName)
+                if username:
+                    device_info_qs = Device_Info.objects.filter(Q(userID__username__contains=username) |
+                                                                Q(userID__userEmail__contains=username) |
+                                                                Q(userID__phone__contains=username))
+                total = len(device_info_qs)
+                if not total:
+                    return response.json(0, {'list': {}, 'total': 0})
+                device_info_qs = device_info_qs[(page - 1) * line:page * line]
+            else:   # 查询全部
+                total = Device_Info.objects.filter().count()
+                device_info_qs = Device_Info.objects.filter()[(page - 1) * line:page * line]
+                if not device_info_qs.exists():
+                    return response.json(0, {'list': {}, 'total': 0})
+
             device_info_list = CommonService.qs_to_dict(device_info_qs)
             for k, v in enumerate(device_info_list["datas"]):
                 for device_info in device_info_qs:
@@ -84,7 +103,7 @@ class DeviceManagement(View):
                             isAlexa = '是' if uid_set_qs[0]['is_alexa'] else '否'
                             device_info_list["datas"][k]['fields']['isAlexa'] = isAlexa
                             device_info_list["datas"][k]['fields']['ip'] = uid_set_qs[0]['ip']
-            return response.json(0, {'list': device_info_list, 'total': count})
+            return response.json(0, {'list': device_info_list, 'total': total})
         except Exception as e:
             print(e)
             return response.json(500, repr(e))
@@ -158,3 +177,13 @@ class DeviceManagement(View):
         except Exception as e:
             print(e)
             return response.json(500, repr(e))
+
+    # 获取设备类型数据
+    def getDeviceTypeList(self, request_dict, response):
+        deviceType = request_dict.get('deviceType', None)
+
+        try:
+            return response.json(0)
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))

+ 0 - 1
Model/models.py

@@ -798,7 +798,6 @@ class SysMsgModel(models.Model):
     updTime = models.IntegerField(verbose_name='更新时间', default=0)
     eventType = models.IntegerField(verbose_name='消息类型', default=0)  # 默认系统消息类型,0系统消息,1 ipcamera消息
     uid = models.CharField(default='', max_length=20, db_index=True, verbose_name='设备UID')
-    electricity = models.CharField(default='', max_length=10, verbose_name='电量')
 
     class Meta:
         db_table = 'sys_msg'