1010from async_lru import alru_cache
1111from fastapi import Request
1212from fastapi .responses import JSONResponse , ORJSONResponse , UJSONResponse
13- from sqlalchemy .ext .asyncio import AsyncSession
1413from starlette .status import HTTP_200_OK
1514from typing_extensions import ParamSpec
1615from user_agents import parse
2019from config .env import AppConfig
2120from exceptions .exception import LoginException , ServiceException , ServiceWarning
2221from module_admin .entity .vo .log_vo import LogininforModel , OperLogModel
23- from module_admin .service .log_service import LoginLogService , OperationLogService
22+ from module_admin .service .log_service import LogQueueService
2423from utils .dependency_util import DependencyUtil
2524from utils .log_util import logger
2625from utils .response_util import ResponseUtil
@@ -63,8 +62,6 @@ async def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
6362 request_name_list = get_function_parameters_name_by_type (func , Request )
6463 request = get_function_parameters_value_by_name (func , request_name_list [0 ], * args , ** kwargs )
6564 DependencyUtil .check_exclude_routes (request , err_msg = '当前路由不在认证规则内,不可使用Log装饰器' )
66- session_name_list = get_function_parameters_name_by_type (func , AsyncSession )
67- query_db = get_function_parameters_value_by_name (func , session_name_list [0 ], * args , ** kwargs )
6865 request_method = request .method
6966 user_agent = request .headers .get ('User-Agent' )
7067 # 获取操作类型
@@ -122,7 +119,7 @@ async def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
122119 }
123120 )
124121
125- await LoginLogService . add_login_log_services ( query_db , LogininforModel (** login_log ))
122+ await LogQueueService . enqueue_login_log ( request , LogininforModel (** login_log ), func_path )
126123 else :
127124 current_user = RequestContext .get_current_user ()
128125 oper_name = current_user .user .user_name
@@ -145,7 +142,7 @@ async def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
145142 operTime = oper_time ,
146143 costTime = int (cost_time ),
147144 )
148- await OperationLogService . add_operation_log_services ( query_db , operation_log )
145+ await LogQueueService . enqueue_operation_log ( request , operation_log , func_path )
149146
150147 return result
151148
0 commit comments