feat: update audit platform workspace

This commit is contained in:
wren
2026-05-25 09:50:01 +08:00
parent ba8e93c0d3
commit 68d0b4c878
73 changed files with 12196 additions and 367 deletions
@@ -5,6 +5,7 @@ from __future__ import annotations
from typing import Any
from fastapi import Depends, Query
from fastapi.responses import JSONResponse
from fastapi_common.fastapi_common_security.security import verify_access_token
from fastapi_common.fastapi_common_web.controller import BaseController
@@ -18,7 +19,9 @@ from fastapi_modules.fastapi_leaudit.domian.vo.usageStatsVo import (
UsageStatsTrendVO,
UsageStatsUserPageVO,
)
from fastapi_modules.fastapi_leaudit.services.impl.permissionServiceImpl import PermissionServiceImpl
from fastapi_modules.fastapi_leaudit.services.impl.usageStatsServiceImpl import UsageStatsServiceImpl
from fastapi_modules.fastapi_leaudit.services.permissionService import IPermissionService
from fastapi_modules.fastapi_leaudit.services.usageStatsService import IUsageStatsService
@@ -28,6 +31,7 @@ class UsageStatsController(BaseController):
def __init__(self):
super().__init__(prefix="/v3/usage-stats", tags=["系统使用统计"])
self.UsageStatsService: IUsageStatsService = UsageStatsServiceImpl()
self.PermissionService: IPermissionService = PermissionServiceImpl()
@self.router.get("/overview", response_model=Result[UsageStatsOverviewVO])
async def GetOverview(
@@ -39,6 +43,9 @@ class UsageStatsController(BaseController):
documentTypeId: int | None = None,
payload: dict[str, Any] = Depends(verify_access_token),
):
"""查询系统使用统计总览。"""
if not await self.PermissionService.CheckPermission(int(payload["user_id"]), "usage_stats:overview:read"):
return JSONResponse(status_code=403, content={"code": 403, "message": "当前用户没有查看统计总览权限", "data": None})
data = await self.UsageStatsService.GetOverview(
CurrentUserId=int(payload["user_id"]),
Filters={
@@ -64,6 +71,9 @@ class UsageStatsController(BaseController):
documentTypeId: int | None = None,
payload: dict[str, Any] = Depends(verify_access_token),
):
"""查询系统使用统计趋势。"""
if not await self.PermissionService.CheckPermission(int(payload["user_id"]), "usage_stats:trends:read"):
return JSONResponse(status_code=403, content={"code": 403, "message": "当前用户没有查看统计趋势权限", "data": None})
data = await self.UsageStatsService.GetTrends(
CurrentUserId=int(payload["user_id"]),
Filters={
@@ -92,6 +102,9 @@ class UsageStatsController(BaseController):
dateTo: str | None = None,
payload: dict[str, Any] = Depends(verify_access_token),
):
"""按用户维度查询系统使用统计。"""
if not await self.PermissionService.CheckPermission(int(payload["user_id"]), "usage_stats:users:read"):
return JSONResponse(status_code=403, content={"code": 403, "message": "当前用户没有查看用户统计权限", "data": None})
data = await self.UsageStatsService.GetUsers(
CurrentUserId=int(payload["user_id"]),
Filters={
@@ -119,6 +132,9 @@ class UsageStatsController(BaseController):
dateTo: str | None = None,
payload: dict[str, Any] = Depends(verify_access_token),
):
"""按部门维度查询系统使用统计。"""
if not await self.PermissionService.CheckPermission(int(payload["user_id"]), "usage_stats:departments:read"):
return JSONResponse(status_code=403, content={"code": 403, "message": "当前用户没有查看部门统计权限", "data": None})
data = await self.UsageStatsService.GetDepartments(
CurrentUserId=int(payload["user_id"]),
Filters={
@@ -144,6 +160,9 @@ class UsageStatsController(BaseController):
documentTypeId: int | None = None,
payload: dict[str, Any] = Depends(verify_access_token),
):
"""按地区维度查询系统使用统计。"""
if not await self.PermissionService.CheckPermission(int(payload["user_id"]), "usage_stats:areas:read"):
return JSONResponse(status_code=403, content={"code": 403, "message": "当前用户没有查看地区统计权限", "data": None})
data = await self.UsageStatsService.GetAreas(
CurrentUserId=int(payload["user_id"]),
Filters={
@@ -173,6 +192,9 @@ class UsageStatsController(BaseController):
dateTo: str | None = None,
payload: dict[str, Any] = Depends(verify_access_token),
):
"""查询系统使用统计明细。"""
if not await self.PermissionService.CheckPermission(int(payload["user_id"]), "usage_stats:details:read"):
return JSONResponse(status_code=403, content={"code": 403, "message": "当前用户没有查看统计明细权限", "data": None})
data = await self.UsageStatsService.GetDetails(
CurrentUserId=int(payload["user_id"]),
Filters={