|
@@ -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))
|