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 models import File, Code, QueryCode, QueryCodeLog
from schemas.code import GetCodeInfoResponse, GetCodeListResponse, GetQueryCodeParams, \
DeleteCodeListParams, QueryCodeResponse, AddCodeParams, GetQueryCodeLogResponse, GetQueryCodeLogDetailResponse
DeleteCodeListParams, QueryCodeResponse, AddCodeParams, GetQueryCodeLogResponse, GetQueryCodeLogDetailResponse, \
GetCodeLogAllResponse
from schemas.common import BaseResponse
from utils.log import logger
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,
summary="查询编码日志详情")
@Log(title="查询编码日志详情", business_type=BusinessType.SELECT)

View File

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