|
@@ -12,6 +12,8 @@ from Object.TokenObject import TokenObject
|
|
|
from Service.CommonService import CommonService
|
|
|
from Service.ModelService import ModelService
|
|
|
from Service.TemplateService import TemplateService
|
|
|
+from Ansjer.config import SERVER_TYPE
|
|
|
+from Object.RedisObject import RedisObject
|
|
|
|
|
|
'''
|
|
|
http://192.168.136.40:8077/accesslog?operation=queryByAdmin&token=test&page=1&line=5&order=-id
|
|
@@ -48,7 +50,7 @@ class AccessLog(View):
|
|
|
if not userID:
|
|
|
return response.json(104)
|
|
|
if not operation:
|
|
|
- return response.json(444,'operation')
|
|
|
+ return response.json(444, 'operation')
|
|
|
if operation == 'queryByAdmin':
|
|
|
return self.query_by_admin(request_dict, userID, response)
|
|
|
elif operation == 'searchByAdmin':
|
|
@@ -63,7 +65,7 @@ class AccessLog(View):
|
|
|
if order == '':
|
|
|
order = '-id'
|
|
|
if not page or not line:
|
|
|
- return response.json(444,'page,line')
|
|
|
+ return response.json(444, 'page,line')
|
|
|
own_perm = ModelService.check_perm(userID=userID, permID=30)
|
|
|
if own_perm is not True:
|
|
|
return response.json(404)
|
|
@@ -82,7 +84,8 @@ class AccessLog(View):
|
|
|
if check_perm is True:
|
|
|
from django.db import connection
|
|
|
cursor = connection.cursor()
|
|
|
- cursor.execute("TRUNCATE TABLE `access_log`")
|
|
|
+ sql = "TRUNCATE TABLE `access_log`"
|
|
|
+ cursor.execute(sql)
|
|
|
return response.json(0)
|
|
|
else:
|
|
|
return response.json(404)
|
|
@@ -162,6 +165,7 @@ def statisticsPath(request):
|
|
|
datas[path] = count
|
|
|
return response.json(0, {'datas': datas})
|
|
|
|
|
|
+
|
|
|
# 按季度删除访问日志
|
|
|
def deleteSn(request):
|
|
|
request.encoding = 'utf-8'
|
|
@@ -173,7 +177,7 @@ def deleteSn(request):
|
|
|
days = request_dict.get('days', None)
|
|
|
response = ResponseObject()
|
|
|
if not days:
|
|
|
- return response.json(444,'days')
|
|
|
+ return response.json(444, 'days')
|
|
|
tko = TokenObject(token)
|
|
|
response.lang = tko.lang
|
|
|
if tko.code != 0:
|
|
@@ -185,3 +189,25 @@ def deleteSn(request):
|
|
|
dltime = datetime.datetime.now() - datetime.timedelta(days=int(days))
|
|
|
count = Access_Log.objects.filter(time__gte=dltime).delete()
|
|
|
return response.json(0, count)
|
|
|
+
|
|
|
+
|
|
|
+# 一键redis日志转移至mysql
|
|
|
+def InstantLog(request):
|
|
|
+ request.encoding = 'utf-8'
|
|
|
+ response = ResponseObject()
|
|
|
+ if request.method == 'GET':
|
|
|
+ token = request.GET.get('token', None)
|
|
|
+ if request.method == 'POST':
|
|
|
+ token = request.POST.get('token', None)
|
|
|
+ else:
|
|
|
+ return response.json(104)
|
|
|
+ if SERVER_TYPE == 'Ansjer.formal_settings':
|
|
|
+ logKey = 'logger'
|
|
|
+ else:
|
|
|
+ logKey = 'test_logger'
|
|
|
+ # 判断redis列表长度
|
|
|
+ redisObj = RedisObject(db=3)
|
|
|
+ data_list = redisObj.lrange(logKey, 0, -1)
|
|
|
+ redisObj.del_data(key=logKey)
|
|
|
+ ModelService.add_batch_log(data_list)
|
|
|
+ return response.json(0)
|