feat: update audit platform workspace
This commit is contained in:
@@ -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={
|
||||
|
||||
Reference in New Issue
Block a user