|
@@ -2,27 +2,12 @@
|
|
# -*- coding: utf-8 -*-
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
|
|
-import json
|
|
|
|
-import time
|
|
|
|
-import urllib
|
|
|
|
-import uuid
|
|
|
|
-import boto3
|
|
|
|
-import threading
|
|
|
|
-import logging
|
|
|
|
-
|
|
|
|
import requests
|
|
import requests
|
|
-from boto3.session import Session
|
|
|
|
-from django.http import JsonResponse, HttpResponseRedirect, HttpResponse
|
|
|
|
from django.views.generic.base import View
|
|
from django.views.generic.base import View
|
|
-
|
|
|
|
-from Controller.CheckUserData import date_handler
|
|
|
|
-from Model.models import Device_Info, Role, MenuModel, RequestRecordModel, iotdeviceInfoModel
|
|
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.TokenObject import TokenObject
|
|
-from Object.UidTokenObject import UidTokenObject
|
|
|
|
from Service.CommonService import CommonService
|
|
from Service.CommonService import CommonService
|
|
-from django.db.models import Q, F
|
|
|
|
-from time import strftime
|
|
|
|
|
|
+from Model.models import Device_Info, RequestRecordModel, iotdeviceInfoModel, Access_Log
|
|
|
|
|
|
|
|
|
|
class LogManagementView(View):
|
|
class LogManagementView(View):
|
|
@@ -55,6 +40,8 @@ class LogManagementView(View):
|
|
return self.getDeviceIotInfoList(request_dict, response)
|
|
return self.getDeviceIotInfoList(request_dict, response)
|
|
elif operation == 'requestPublishMqtt':
|
|
elif operation == 'requestPublishMqtt':
|
|
return self.requestPublishMqtt(request_dict, response)
|
|
return self.requestPublishMqtt(request_dict, response)
|
|
|
|
+ elif operation == 'getAccessLogList':
|
|
|
|
+ return self.getAccessLogList(request_dict, response)
|
|
else:
|
|
else:
|
|
return response.json(404)
|
|
return response.json(404)
|
|
|
|
|
|
@@ -179,3 +166,36 @@ class LogManagementView(View):
|
|
return response.json(10044)
|
|
return response.json(10044)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
return response.json(500, repr(e))
|
|
return response.json(500, repr(e))
|
|
|
|
+
|
|
|
|
+ def getAccessLogList(self, request_dict, response):
|
|
|
|
+ user = request_dict.get('user', None)
|
|
|
|
+ operation = request_dict.get('operation', None)
|
|
|
|
+ status = request_dict.get('status', 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 user or operation or status:
|
|
|
|
+ if user:
|
|
|
|
+ access_log_qs = Access_Log.objects.filter(user__contains=user)
|
|
|
|
+ if operation:
|
|
|
|
+ access_log_qs = Access_Log.objects.filter(operation__contains=operation)
|
|
|
|
+ if status:
|
|
|
|
+ access_log_qs = Access_Log.objects.filter(status=status)
|
|
|
|
+ if not access_log_qs.exists():
|
|
|
|
+ return response.json(0)
|
|
|
|
+ total = access_log_qs.count()
|
|
|
|
+ access_log_qs = access_log_qs.values('user', 'operation', 'ip', 'status', 'content', 'time')[(page - 1) * line:page * line]
|
|
|
|
+ else:
|
|
|
|
+ total = Access_Log.objects.count()
|
|
|
|
+ access_log_qs = Access_Log.objects.filter().values('user', 'operation', 'ip', 'status', 'content', 'time')[(page - 1) * line:page * line]
|
|
|
|
+ access_log_list = CommonService.qs_to_list(access_log_qs)
|
|
|
|
+ return response.json(0, {'list': access_log_list, 'total': total})
|
|
|
|
+ except Exception as e:
|
|
|
|
+ print(e)
|
|
|
|
+ return response.json(500, repr(e))
|