Bläddra i källkod

新增获取设备上传日志信息接口

locky 3 år sedan
förälder
incheckning
9aea99afc2
1 ändrade filer med 33 tillägg och 1 borttagningar
  1. 33 1
      AdminController/LogManagementController.py

+ 33 - 1
AdminController/LogManagementController.py

@@ -7,7 +7,7 @@ from django.views.generic.base import View
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
-from Model.models import Device_Info, RequestRecordModel, iotdeviceInfoModel, Access_Log
+from Model.models import Device_Info, RequestRecordModel, iotdeviceInfoModel, Access_Log, DeviceLogModel
 
 
 class LogManagementView(View):
@@ -42,6 +42,8 @@ class LogManagementView(View):
                 return self.requestPublishMqtt(request_dict, response)
             elif operation == 'getAccessLogList':
                 return self.getAccessLogList(request_dict, response)
+            elif operation == 'getDeviceLogList':
+                return self.getDeviceLogList(request_dict, response)
             else:
                 return response.json(404)
 
@@ -199,3 +201,33 @@ class LogManagementView(View):
         except Exception as e:
             print(e)
             return response.json(500, repr(e))
+
+    def getDeviceLogList(self, request_dict, response):
+        uid = request_dict.get('uid', None)
+        serial_number = request_dict.get('serial_number', None)
+        pageNo = request_dict.get('pageNo', None)
+        pageSize = request_dict.get('pageSize', None)
+
+        if not all([pageNo, pageSize]):
+            return response.json(444)
+
+        page = int(pageNo)
+        line = int(pageSize)
+        try:
+            if uid or serial_number:
+                if uid:
+                    device_log_qs = DeviceLogModel.objects.filter(uid__contains=uid)
+                if serial_number:
+                    device_log_qs = DeviceLogModel.objects.filter(serial_number__contains=serial_number)
+                if not device_log_qs.exists():
+                    return response.json(0)
+                total = device_log_qs.count()
+                device_log_qs = device_log_qs.order_by('-add_time').values()[(page - 1) * line:page * line]
+            else:
+                total = DeviceLogModel.objects.count()
+                device_log_qs = DeviceLogModel.objects.filter().order_by('-add_time').values()[(page - 1) * line:page * line]
+            device_log_list = CommonService.qs_to_list(device_log_qs)
+            return response.json(0, {'list': device_log_list, 'total': total})
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))