Browse Source

扫码记录接口

aliyun9738231302 1 year ago
parent
commit
8b6acc3259
1 changed files with 32 additions and 1 deletions
  1. 32 1
      AdminController/LogManagementController.py

+ 32 - 1
AdminController/LogManagementController.py

@@ -8,7 +8,7 @@ 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, DeviceLogModel, LogModel, \
-    AppLogModel
+    AppLogModel, AppScannedSerial
 from Ansjer.config import REGION_NAME, ACCESS_KEY_ID, SECRET_ACCESS_KEY, LOG_BUCKET
 
 
@@ -51,6 +51,8 @@ class LogManagementView(View):
                 return self.getOperationLogList(request_dict, response)
             elif operation == 'getAppLogList':  # 获取app日志
                 return self.getAppLogList(request_dict, response)
+            elif operation == 'getScanLog':  # 获取app日志
+                return self.getScanLog(request_dict, response)
             else:
                 return response.json(404)
 
@@ -352,3 +354,32 @@ class LogManagementView(View):
         except Exception as e:
             print(e)
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
+
+    def getScanLog(self, request_dict, response):
+        serial = request_dict.get('userName', None)
+        ip = request_dict.get('uid', 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:
+            scan_log_qs = AppScannedSerial.objects.all()
+            if serial:
+                scan_log_qs = scan_log_qs.filter(operation__contains=serial)
+            if ip:
+                scan_log_qs = scan_log_qs.filter(url__contains=ip)
+            count = scan_log_qs.count()
+            scan_log_qs = scan_log_qs.values(
+                'serial', 'ip', 'add_time', 'update_time')[
+                     (page - 1) * line:page * line]
+            scan_log_list = list(scan_log_qs)
+            return response.json(
+                0, {'list': scan_log_list, 'total': count})
+        except Exception as e:
+            print(e)
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))