feat: 添加编码日志全部导出

This commit is contained in:
皓月归尘 2025-02-18 02:04:40 +08:00
parent 25103727a0
commit 2ced3bf707
2 changed files with 77 additions and 1 deletions

View File

@ -23,7 +23,8 @@ from controller.login import LoginController
from exceptions.exception import ServiceException, PermissionException from exceptions.exception import ServiceException, PermissionException
from models import File, Code, QueryCode, QueryCodeLog from models import File, Code, QueryCode, QueryCodeLog
from schemas.code import GetCodeInfoResponse, GetCodeListResponse, GetQueryCodeParams, \ from schemas.code import GetCodeInfoResponse, GetCodeListResponse, GetQueryCodeParams, \
DeleteCodeListParams, QueryCodeResponse, AddCodeParams, GetQueryCodeLogResponse, GetQueryCodeLogDetailResponse DeleteCodeListParams, QueryCodeResponse, AddCodeParams, GetQueryCodeLogResponse, GetQueryCodeLogDetailResponse, \
GetCodeLogAllResponse
from schemas.common import BaseResponse from schemas.common import BaseResponse
from utils.log import logger from utils.log import logger
from utils.response import Response from utils.response import Response
@ -493,6 +494,66 @@ async def get_code_log_list(request: Request,
}) })
@codeAPI.get("/logList/all", response_class=JSONResponse, response_model=GetCodeLogAllResponse,
summary="查询所有编码日志列表")
@Log(title="查询所有编码日志列表", business_type=BusinessType.SELECT)
async def get_code_log_list(request: Request,
startTime: Optional[str] = Query(default=None, description="开始时间"),
endTime: Optional[str] = Query(default=None, description="结束时间"),
current_user: dict = Depends(LoginController.get_current_user),
):
user_id = current_user.get("id")
if startTime and endTime:
startTime = float(startTime) / 1000
endTime = float(endTime) / 1000
startTime = datetime.fromtimestamp(startTime)
endTime = datetime.fromtimestamp(endTime)
count = await QueryCodeLog.filter(operator_id=user_id, del_flag=1, operation_time__gte=startTime,
operation_time__lte=endTime).count()
data = await QueryCodeLog.filter(operator_id=user_id, del_flag=1, operation_time__gte=startTime,
operation_time__lte=endTime).order_by("-operation_time").values(
id="id",
query_count="query_count",
result_count="result_count",
cost_time="cost_time",
operation_time="operation_time",
status="status",
request_params="request_params",
response_result="response_result",
create_time="create_time",
update_time="update_time",
operator_id="operator__id",
operator_name="operator__username",
operator_nickname="operator__nickname",
department_id="operator__department__id",
department_name="operator__department__name",
)
else:
count = await QueryCodeLog.filter(operator_id=user_id, del_flag=1).count()
data = await QueryCodeLog.filter(operator_id=user_id, del_flag=1).order_by("-operation_time").values(
id="id",
query_count="query_count",
result_count="result_count",
cost_time="cost_time",
operation_time="operation_time",
status="status",
request_params="request_params",
response_result="response_result",
create_time="create_time",
update_time="update_time",
operator_id="operator__id",
operator_name="operator__username",
operator_nickname="operator__nickname",
department_id="operator__department__id",
department_name="operator__department__name",
)
return Response.success(data={
"result": data,
"total": count
})
@codeAPI.get("/logInfo/{id}", response_class=JSONResponse, response_model=GetQueryCodeLogDetailResponse, @codeAPI.get("/logInfo/{id}", response_class=JSONResponse, response_model=GetQueryCodeLogDetailResponse,
summary="查询编码日志详情") summary="查询编码日志详情")
@Log(title="查询编码日志详情", business_type=BusinessType.SELECT) @Log(title="查询编码日志详情", business_type=BusinessType.SELECT)

View File

@ -172,3 +172,18 @@ class GetQueryCodeLogDetailResponse(BaseResponse):
查询编码日志详情响应 查询编码日志详情响应
""" """
data: QueryCodeLogInfo = Field(..., description="查询编码日志详情") data: QueryCodeLogInfo = Field(..., description="查询编码日志详情")
class GetCodeLogAllResult(BaseModel):
"""
查询所有编码日志结果
"""
result: List[QueryCodeLogInfo] = Field(..., description="查询编码日志列表")
total: int = Field(..., description="总条数")
class GetCodeLogAllResponse(BaseResponse):
"""
查询所有编码日志响应
"""
data: GetCodeLogAllResult = Field(..., description="查询编码日志结果")