perf: 优化@log_decorator参数的类型提示
This commit is contained in:
27
ruoyi-fastapi-backend/config/enums.py
Normal file
27
ruoyi-fastapi-backend/config/enums.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from enum import Enum
|
||||
|
||||
|
||||
class BusinessType(Enum):
|
||||
"""
|
||||
业务操作类型
|
||||
OTHER: 其它
|
||||
INSERT: 新增
|
||||
UPDATE: 修改
|
||||
DELETE: 删除
|
||||
GRANT: 授权
|
||||
EXPORT: 导出
|
||||
IMPORT: 导入
|
||||
FORCE: 强退
|
||||
GENCODE: 生成代码
|
||||
CLEAN: 清空数据
|
||||
"""
|
||||
OTHER = 0
|
||||
INSERT = 1
|
||||
UPDATE = 2
|
||||
DELETE = 3
|
||||
GRANT = 4
|
||||
EXPORT = 5
|
||||
IMPORT = 6
|
||||
FORCE = 7
|
||||
GENCODE = 8
|
||||
CLEAN = 9
|
@@ -7,15 +7,17 @@ import json
|
||||
import time
|
||||
from datetime import datetime
|
||||
import requests
|
||||
import warnings
|
||||
from user_agents import parse
|
||||
from typing import Optional
|
||||
from typing import Optional, Union, Literal
|
||||
from module_admin.service.login_service import LoginService
|
||||
from module_admin.service.log_service import OperationLogService, LoginLogService
|
||||
from module_admin.entity.vo.log_vo import OperLogModel, LogininforModel
|
||||
from config.env import AppConfig
|
||||
from config.enums import BusinessType
|
||||
|
||||
|
||||
def log_decorator(title: str, business_type: int, log_type: Optional[str] = 'operation'):
|
||||
def log_decorator(title: str, business_type: Union[Literal[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], BusinessType], log_type: Optional[Literal['login', 'operation']] = 'operation'):
|
||||
"""
|
||||
日志装饰器
|
||||
:param log_type: 日志类型(login表示登录日志,为空表示为操作日志)
|
||||
@@ -23,6 +25,12 @@ def log_decorator(title: str, business_type: int, log_type: Optional[str] = 'ope
|
||||
:param business_type: 业务类型(0其它 1新增 2修改 3删除 4授权 5导出 6导入 7强退 8生成代码 9清空数据)
|
||||
:return:
|
||||
"""
|
||||
warnings.simplefilter('always', category=DeprecationWarning)
|
||||
if isinstance(business_type, BusinessType):
|
||||
business_type = business_type.value
|
||||
else:
|
||||
warnings.warn('@log_decorator的business_type参数未来版本将不再支持int类型,请使用BusinessType枚举类型', category=DeprecationWarning, stacklevel=2)
|
||||
|
||||
def decorator(func):
|
||||
@wraps(func)
|
||||
async def wrapper(*args, **kwargs):
|
||||
|
@@ -2,9 +2,9 @@ from fastapi import APIRouter
|
||||
from fastapi import Depends
|
||||
from module_admin.service.login_service import LoginService
|
||||
from module_admin.service.cache_service import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
|
||||
|
||||
cacheController = APIRouter(prefix='/monitor/cache', dependencies=[Depends(LoginService.get_current_user)])
|
||||
|
@@ -3,12 +3,13 @@ from fastapi import Depends
|
||||
from config.get_db import get_db
|
||||
from module_admin.service.login_service import LoginService, CurrentUserModel
|
||||
from module_admin.service.config_service import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
from config.enums import BusinessType
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from utils.page_util import *
|
||||
from utils.common_util import bytes2file_response
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
|
||||
|
||||
configController = APIRouter(prefix='/system/config', dependencies=[Depends(LoginService.get_current_user)])
|
||||
@@ -27,7 +28,7 @@ async def get_system_config_list(request: Request, config_page_query: ConfigPage
|
||||
|
||||
|
||||
@configController.post("", dependencies=[Depends(CheckUserInterfaceAuth('system:config:add'))])
|
||||
@log_decorator(title='参数管理', business_type=1)
|
||||
@log_decorator(title='参数管理', business_type=BusinessType.INSERT)
|
||||
async def add_system_config(request: Request, add_config: ConfigModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
add_config.create_by = current_user.user.user_name
|
||||
@@ -47,7 +48,7 @@ async def add_system_config(request: Request, add_config: ConfigModel, query_db:
|
||||
|
||||
|
||||
@configController.put("", dependencies=[Depends(CheckUserInterfaceAuth('system:config:edit'))])
|
||||
@log_decorator(title='参数管理', business_type=2)
|
||||
@log_decorator(title='参数管理', business_type=BusinessType.UPDATE)
|
||||
async def edit_system_config(request: Request, edit_config: ConfigModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_config.update_by = current_user.user.user_name
|
||||
@@ -65,7 +66,7 @@ async def edit_system_config(request: Request, edit_config: ConfigModel, query_d
|
||||
|
||||
|
||||
@configController.delete("/refreshCache", dependencies=[Depends(CheckUserInterfaceAuth('system:config:remove'))])
|
||||
@log_decorator(title='参数管理', business_type=2)
|
||||
@log_decorator(title='参数管理', business_type=BusinessType.UPDATE)
|
||||
async def refresh_system_config(request: Request, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
refresh_config_result = await ConfigService.refresh_sys_config_services(request, query_db)
|
||||
@@ -81,7 +82,7 @@ async def refresh_system_config(request: Request, query_db: AsyncSession = Depen
|
||||
|
||||
|
||||
@configController.delete("/{config_ids}", dependencies=[Depends(CheckUserInterfaceAuth('system:config:remove'))])
|
||||
@log_decorator(title='参数管理', business_type=3)
|
||||
@log_decorator(title='参数管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_config(request: Request, config_ids: str, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
delete_config = DeleteConfigModel(configIds=config_ids)
|
||||
@@ -121,7 +122,7 @@ async def query_system_config(request: Request, config_key: str):
|
||||
|
||||
|
||||
@configController.post("/export", dependencies=[Depends(CheckUserInterfaceAuth('system:config:export'))])
|
||||
@log_decorator(title='参数管理', business_type=5)
|
||||
@log_decorator(title='参数管理', business_type=BusinessType.EXPORT)
|
||||
async def export_system_config_list(request: Request, config_page_query: ConfigPageQueryModel = Depends(ConfigPageQueryModel.as_form), query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
# 获取全量数据
|
||||
|
@@ -3,11 +3,12 @@ from fastapi import Depends
|
||||
from config.get_db import get_db
|
||||
from module_admin.service.login_service import LoginService, CurrentUserModel
|
||||
from module_admin.service.dept_service import *
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.aspect.data_scope import GetDataScope
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
from config.enums import BusinessType
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
|
||||
|
||||
deptController = APIRouter(prefix='/system/dept', dependencies=[Depends(LoginService.get_current_user)])
|
||||
@@ -37,7 +38,7 @@ async def get_system_dept_list(request: Request, dept_query: DeptQueryModel = De
|
||||
|
||||
|
||||
@deptController.post("", dependencies=[Depends(CheckUserInterfaceAuth('system:dept:add'))])
|
||||
@log_decorator(title='部门管理', business_type=1)
|
||||
@log_decorator(title='部门管理', business_type=BusinessType.INSERT)
|
||||
async def add_system_dept(request: Request, add_dept: DeptModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
add_dept.create_by = current_user.user.user_name
|
||||
@@ -57,7 +58,7 @@ async def add_system_dept(request: Request, add_dept: DeptModel, query_db: Async
|
||||
|
||||
|
||||
@deptController.put("", dependencies=[Depends(CheckUserInterfaceAuth('system:dept:edit'))])
|
||||
@log_decorator(title='部门管理', business_type=2)
|
||||
@log_decorator(title='部门管理', business_type=BusinessType.UPDATE)
|
||||
async def edit_system_dept(request: Request, edit_dept: DeptModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_dept.update_by = current_user.user.user_name
|
||||
@@ -75,7 +76,7 @@ async def edit_system_dept(request: Request, edit_dept: DeptModel, query_db: Asy
|
||||
|
||||
|
||||
@deptController.delete("/{dept_ids}", dependencies=[Depends(CheckUserInterfaceAuth('system:dept:remove'))])
|
||||
@log_decorator(title='部门管理', business_type=3)
|
||||
@log_decorator(title='部门管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_dept(request: Request, dept_ids: str, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
delete_dept = DeleteDeptModel(deptIds=dept_ids)
|
||||
|
@@ -3,12 +3,13 @@ from fastapi import Depends
|
||||
from config.get_db import get_db
|
||||
from module_admin.service.login_service import LoginService, CurrentUserModel
|
||||
from module_admin.service.dict_service import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
from config.enums import BusinessType
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from utils.page_util import PageResponseModel
|
||||
from utils.common_util import bytes2file_response
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
|
||||
|
||||
dictController = APIRouter(prefix='/system/dict', dependencies=[Depends(LoginService.get_current_user)])
|
||||
@@ -27,7 +28,7 @@ async def get_system_dict_type_list(request: Request, dict_type_page_query: Dict
|
||||
|
||||
|
||||
@dictController.post("/type", dependencies=[Depends(CheckUserInterfaceAuth('system:dict:add'))])
|
||||
@log_decorator(title='字典管理', business_type=1)
|
||||
@log_decorator(title='字典管理', business_type=BusinessType.INSERT)
|
||||
async def add_system_dict_type(request: Request, add_dict_type: DictTypeModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
add_dict_type.create_by = current_user.user.user_name
|
||||
@@ -47,7 +48,7 @@ async def add_system_dict_type(request: Request, add_dict_type: DictTypeModel, q
|
||||
|
||||
|
||||
@dictController.put("/type", dependencies=[Depends(CheckUserInterfaceAuth('system:dict:edit'))])
|
||||
@log_decorator(title='字典管理', business_type=2)
|
||||
@log_decorator(title='字典管理', business_type=BusinessType.UPDATE)
|
||||
async def edit_system_dict_type(request: Request, edit_dict_type: DictTypeModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_dict_type.update_by = current_user.user.user_name
|
||||
@@ -65,7 +66,7 @@ async def edit_system_dict_type(request: Request, edit_dict_type: DictTypeModel,
|
||||
|
||||
|
||||
@dictController.delete("/type/refreshCache", dependencies=[Depends(CheckUserInterfaceAuth('system:dict:remove'))])
|
||||
@log_decorator(title='字典管理', business_type=2)
|
||||
@log_decorator(title='字典管理', business_type=BusinessType.UPDATE)
|
||||
async def refresh_system_dict(request: Request, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
refresh_dict_result = await DictTypeService.refresh_sys_dict_services(request, query_db)
|
||||
@@ -81,7 +82,7 @@ async def refresh_system_dict(request: Request, query_db: AsyncSession = Depends
|
||||
|
||||
|
||||
@dictController.delete("/type/{dict_ids}", dependencies=[Depends(CheckUserInterfaceAuth('system:dict:remove'))])
|
||||
@log_decorator(title='字典管理', business_type=3)
|
||||
@log_decorator(title='字典管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_dict_type(request: Request, dict_ids: str, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
delete_dict_type = DeleteDictTypeModel(dictIds=dict_ids)
|
||||
@@ -120,7 +121,7 @@ async def query_detail_system_dict_type(request: Request, dict_id: int, query_db
|
||||
|
||||
|
||||
@dictController.post("/type/export", dependencies=[Depends(CheckUserInterfaceAuth('system:dict:export'))])
|
||||
@log_decorator(title='字典管理', business_type=5)
|
||||
@log_decorator(title='字典管理', business_type=BusinessType.EXPORT)
|
||||
async def export_system_dict_type_list(request: Request, dict_type_page_query: DictTypePageQueryModel = Depends(DictTypePageQueryModel.as_form), query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
# 获取全量数据
|
||||
@@ -158,7 +159,7 @@ async def get_system_dict_data_list(request: Request, dict_data_page_query: Dict
|
||||
|
||||
|
||||
@dictController.post("/data", dependencies=[Depends(CheckUserInterfaceAuth('system:dict:add'))])
|
||||
@log_decorator(title='字典管理', business_type=1)
|
||||
@log_decorator(title='字典管理', business_type=BusinessType.INSERT)
|
||||
async def add_system_dict_data(request: Request, add_dict_data: DictDataModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
add_dict_data.create_by = current_user.user.user_name
|
||||
@@ -178,7 +179,7 @@ async def add_system_dict_data(request: Request, add_dict_data: DictDataModel, q
|
||||
|
||||
|
||||
@dictController.put("/data", dependencies=[Depends(CheckUserInterfaceAuth('system:dict:edit'))])
|
||||
@log_decorator(title='字典管理', business_type=2)
|
||||
@log_decorator(title='字典管理', business_type=BusinessType.UPDATE)
|
||||
async def edit_system_dict_data(request: Request, edit_dict_data: DictDataModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_dict_data.update_by = current_user.user.user_name
|
||||
@@ -196,7 +197,7 @@ async def edit_system_dict_data(request: Request, edit_dict_data: DictDataModel,
|
||||
|
||||
|
||||
@dictController.delete("/data/{dict_codes}", dependencies=[Depends(CheckUserInterfaceAuth('system:dict:remove'))])
|
||||
@log_decorator(title='字典管理', business_type=3)
|
||||
@log_decorator(title='字典管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_dict_data(request: Request, dict_codes: str, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
delete_dict_data = DeleteDictDataModel(dictCodes=dict_codes)
|
||||
@@ -224,7 +225,7 @@ async def query_detail_system_dict_data(request: Request, dict_code: int, query_
|
||||
|
||||
|
||||
@dictController.post("/data/export", dependencies=[Depends(CheckUserInterfaceAuth('system:dict:export'))])
|
||||
@log_decorator(title='字典管理', business_type=5)
|
||||
@log_decorator(title='字典管理', business_type=BusinessType.EXPORT)
|
||||
async def export_system_dict_data_list(request: Request, dict_data_page_query: DictDataPageQueryModel = Depends(DictDataPageQueryModel.as_form), query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
# 获取全量数据
|
||||
|
@@ -4,12 +4,13 @@ from config.get_db import get_db
|
||||
from module_admin.service.login_service import LoginService, CurrentUserModel
|
||||
from module_admin.service.job_service import *
|
||||
from module_admin.service.job_log_service import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
from config.enums import BusinessType
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from utils.page_util import *
|
||||
from utils.common_util import bytes2file_response
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
|
||||
|
||||
jobController = APIRouter(prefix='/monitor', dependencies=[Depends(LoginService.get_current_user)])
|
||||
@@ -28,7 +29,7 @@ async def get_system_job_list(request: Request, job_page_query: JobPageQueryMode
|
||||
|
||||
|
||||
@jobController.post("/job", dependencies=[Depends(CheckUserInterfaceAuth('monitor:job:add'))])
|
||||
@log_decorator(title='定时任务管理', business_type=1)
|
||||
@log_decorator(title='定时任务管理', business_type=BusinessType.INSERT)
|
||||
async def add_system_job(request: Request, add_job: JobModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
add_job.create_by = current_user.user.user_name
|
||||
@@ -48,7 +49,7 @@ async def add_system_job(request: Request, add_job: JobModel, query_db: AsyncSes
|
||||
|
||||
|
||||
@jobController.put("/job", dependencies=[Depends(CheckUserInterfaceAuth('monitor:job:edit'))])
|
||||
@log_decorator(title='定时任务管理', business_type=2)
|
||||
@log_decorator(title='定时任务管理', business_type=BusinessType.UPDATE)
|
||||
async def edit_system_job(request: Request, edit_job: EditJobModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_job.update_by = current_user.user.user_name
|
||||
@@ -66,7 +67,7 @@ async def edit_system_job(request: Request, edit_job: EditJobModel, query_db: As
|
||||
|
||||
|
||||
@jobController.put("/job/changeStatus", dependencies=[Depends(CheckUserInterfaceAuth('monitor:job:changeStatus'))])
|
||||
@log_decorator(title='定时任务管理', business_type=2)
|
||||
@log_decorator(title='定时任务管理', business_type=BusinessType.UPDATE)
|
||||
async def edit_system_job(request: Request, edit_job: EditJobModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_job.update_by = current_user.user.user_name
|
||||
@@ -85,7 +86,7 @@ async def edit_system_job(request: Request, edit_job: EditJobModel, query_db: As
|
||||
|
||||
|
||||
@jobController.put("/job/run", dependencies=[Depends(CheckUserInterfaceAuth('monitor:job:changeStatus'))])
|
||||
@log_decorator(title='定时任务管理', business_type=2)
|
||||
@log_decorator(title='定时任务管理', business_type=BusinessType.UPDATE)
|
||||
async def execute_system_job(request: Request, execute_job: JobModel, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
execute_job_result = await JobService.execute_job_once_services(query_db, execute_job)
|
||||
@@ -101,7 +102,7 @@ async def execute_system_job(request: Request, execute_job: JobModel, query_db:
|
||||
|
||||
|
||||
@jobController.delete("/job/{job_ids}", dependencies=[Depends(CheckUserInterfaceAuth('monitor:job:remove'))])
|
||||
@log_decorator(title='定时任务管理', business_type=3)
|
||||
@log_decorator(title='定时任务管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_job(request: Request, job_ids: str, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
delete_job = DeleteJobModel(jobIds=job_ids)
|
||||
@@ -129,7 +130,7 @@ async def query_detail_system_job(request: Request, job_id: int, query_db: Async
|
||||
|
||||
|
||||
@jobController.post("/job/export", dependencies=[Depends(CheckUserInterfaceAuth('monitor:job:export'))])
|
||||
@log_decorator(title='定时任务管理', business_type=5)
|
||||
@log_decorator(title='定时任务管理', business_type=BusinessType.EXPORT)
|
||||
async def export_system_job_list(request: Request, job_page_query: JobPageQueryModel = Depends(JobPageQueryModel.as_form), query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
# 获取全量数据
|
||||
@@ -155,7 +156,7 @@ async def get_system_job_log_list(request: Request, job_log_page_query: JobLogPa
|
||||
|
||||
|
||||
@jobController.delete("/jobLog/clean", dependencies=[Depends(CheckUserInterfaceAuth('monitor:job:remove'))])
|
||||
@log_decorator(title='定时任务日志管理', business_type=9)
|
||||
@log_decorator(title='定时任务日志管理', business_type=BusinessType.CLEAN)
|
||||
async def clear_system_job_log(request: Request, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
clear_job_log_result = await JobLogService.clear_job_log_services(query_db)
|
||||
@@ -171,7 +172,7 @@ async def clear_system_job_log(request: Request, query_db: AsyncSession = Depend
|
||||
|
||||
|
||||
@jobController.delete("/jobLog/{job_log_ids}", dependencies=[Depends(CheckUserInterfaceAuth('monitor:job:remove'))])
|
||||
@log_decorator(title='定时任务日志管理', business_type=3)
|
||||
@log_decorator(title='定时任务日志管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_job_log(request: Request, job_log_ids: str, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
delete_job_log = DeleteJobLogModel(jobLogIds=job_log_ids)
|
||||
@@ -188,7 +189,7 @@ async def delete_system_job_log(request: Request, job_log_ids: str, query_db: As
|
||||
|
||||
|
||||
@jobController.post("/jobLog/export", dependencies=[Depends(CheckUserInterfaceAuth('monitor:job:export'))])
|
||||
@log_decorator(title='定时任务日志管理', business_type=5)
|
||||
@log_decorator(title='定时任务日志管理', business_type=BusinessType.EXPORT)
|
||||
async def export_system_job_log_list(request: Request, job_log_page_query: JobLogPageQueryModel = Depends(JobLogPageQueryModel.as_form), query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
# 获取全量数据
|
||||
|
@@ -3,12 +3,13 @@ from fastapi import Depends
|
||||
from config.get_db import get_db
|
||||
from module_admin.service.login_service import LoginService
|
||||
from module_admin.service.log_service import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
from config.enums import BusinessType
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from utils.page_util import *
|
||||
from utils.common_util import bytes2file_response
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
|
||||
|
||||
logController = APIRouter(prefix='/monitor', dependencies=[Depends(LoginService.get_current_user)])
|
||||
@@ -27,7 +28,7 @@ async def get_system_operation_log_list(request: Request, operation_log_page_que
|
||||
|
||||
|
||||
@logController.delete("/operlog/clean", dependencies=[Depends(CheckUserInterfaceAuth('monitor:operlog:remove'))])
|
||||
@log_decorator(title='操作日志管理', business_type=9)
|
||||
@log_decorator(title='操作日志管理', business_type=BusinessType.CLEAN)
|
||||
async def clear_system_operation_log(request: Request, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
clear_operation_log_result = await OperationLogService.clear_operation_log_services(query_db)
|
||||
@@ -43,7 +44,7 @@ async def clear_system_operation_log(request: Request, query_db: AsyncSession =
|
||||
|
||||
|
||||
@logController.delete("/operlog/{oper_ids}", dependencies=[Depends(CheckUserInterfaceAuth('monitor:operlog:remove'))])
|
||||
@log_decorator(title='操作日志管理', business_type=3)
|
||||
@log_decorator(title='操作日志管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_operation_log(request: Request, oper_ids: str, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
delete_operation_log = DeleteOperLogModel(operIds=oper_ids)
|
||||
@@ -60,7 +61,7 @@ async def delete_system_operation_log(request: Request, oper_ids: str, query_db:
|
||||
|
||||
|
||||
@logController.post("/operlog/export", dependencies=[Depends(CheckUserInterfaceAuth('monitor:operlog:export'))])
|
||||
@log_decorator(title='操作日志管理', business_type=5)
|
||||
@log_decorator(title='操作日志管理', business_type=BusinessType.EXPORT)
|
||||
async def export_system_operation_log_list(request: Request, operation_log_page_query: OperLogPageQueryModel = Depends(OperLogPageQueryModel.as_form), query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
# 获取全量数据
|
||||
@@ -86,7 +87,7 @@ async def get_system_login_log_list(request: Request, login_log_page_query: Logi
|
||||
|
||||
|
||||
@logController.delete("/logininfor/clean", dependencies=[Depends(CheckUserInterfaceAuth('monitor:logininfor:remove'))])
|
||||
@log_decorator(title='登录日志管理', business_type=9)
|
||||
@log_decorator(title='登录日志管理', business_type=BusinessType.CLEAN)
|
||||
async def clear_system_login_log(request: Request, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
clear_login_log_result = await LoginLogService.clear_login_log_services(query_db)
|
||||
@@ -102,7 +103,7 @@ async def clear_system_login_log(request: Request, query_db: AsyncSession = Depe
|
||||
|
||||
|
||||
@logController.delete("/logininfor/{info_ids}", dependencies=[Depends(CheckUserInterfaceAuth('monitor:logininfor:remove'))])
|
||||
@log_decorator(title='登录日志管理', business_type=3)
|
||||
@log_decorator(title='登录日志管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_login_log(request: Request, info_ids: str, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
delete_login_log = DeleteLoginLogModel(infoIds=info_ids)
|
||||
@@ -119,7 +120,7 @@ async def delete_system_login_log(request: Request, info_ids: str, query_db: Asy
|
||||
|
||||
|
||||
@logController.get("/logininfor/unlock/{user_name}", dependencies=[Depends(CheckUserInterfaceAuth('monitor:logininfor:unlock'))])
|
||||
@log_decorator(title='登录日志管理', business_type=0)
|
||||
@log_decorator(title='登录日志管理', business_type=BusinessType.OTHER)
|
||||
async def clear_system_login_log(request: Request, user_name: str, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
unlock_user = UnlockUser(userName=user_name)
|
||||
@@ -136,7 +137,7 @@ async def clear_system_login_log(request: Request, user_name: str, query_db: Asy
|
||||
|
||||
|
||||
@logController.post("/logininfor/export", dependencies=[Depends(CheckUserInterfaceAuth('monitor:logininfor:export'))])
|
||||
@log_decorator(title='登录日志管理', business_type=5)
|
||||
@log_decorator(title='登录日志管理', business_type=BusinessType.EXPORT)
|
||||
async def export_system_login_log_list(request: Request, login_log_page_query: LoginLogPageQueryModel = Depends(LoginLogPageQueryModel.as_form), query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
# 获取全量数据
|
||||
|
@@ -4,6 +4,7 @@ from module_admin.entity.vo.login_vo import *
|
||||
from module_admin.dao.login_dao import *
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
from config.env import JwtConfig, RedisInitKeyConfig
|
||||
from config.enums import BusinessType
|
||||
from utils.response_util import ResponseUtil
|
||||
from utils.log_util import *
|
||||
from datetime import timedelta
|
||||
@@ -13,7 +14,7 @@ loginController = APIRouter()
|
||||
|
||||
|
||||
@loginController.post("/login", response_model=Token)
|
||||
@log_decorator(title='用户登录', business_type=0, log_type='login')
|
||||
@log_decorator(title='用户登录', business_type=BusinessType.OTHER, log_type='login')
|
||||
async def login(request: Request, form_data: CustomOAuth2PasswordRequestForm = Depends(), query_db: AsyncSession = Depends(get_db)):
|
||||
captcha_enabled = True if await request.app.state.redis.get(f"{RedisInitKeyConfig.SYS_CONFIG.get('key')}:sys.account.captchaEnabled") == 'true' else False
|
||||
user = UserLogin(
|
||||
|
@@ -3,10 +3,11 @@ from fastapi import Depends
|
||||
from config.get_db import get_db
|
||||
from module_admin.service.login_service import LoginService
|
||||
from module_admin.service.menu_service import *
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
from config.enums import BusinessType
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
|
||||
|
||||
menuController = APIRouter(prefix='/system/menu', dependencies=[Depends(LoginService.get_current_user)])
|
||||
@@ -46,7 +47,7 @@ async def get_system_menu_list(request: Request, menu_query: MenuQueryModel = De
|
||||
|
||||
|
||||
@menuController.post("", dependencies=[Depends(CheckUserInterfaceAuth('system:menu:add'))])
|
||||
@log_decorator(title='菜单管理', business_type=1)
|
||||
@log_decorator(title='菜单管理', business_type=BusinessType.INSERT)
|
||||
async def add_system_menu(request: Request, add_menu: MenuModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
add_menu.create_by = current_user.user.user_name
|
||||
@@ -66,7 +67,7 @@ async def add_system_menu(request: Request, add_menu: MenuModel, query_db: Async
|
||||
|
||||
|
||||
@menuController.put("", dependencies=[Depends(CheckUserInterfaceAuth('system:menu:edit'))])
|
||||
@log_decorator(title='菜单管理', business_type=2)
|
||||
@log_decorator(title='菜单管理', business_type=BusinessType.UPDATE)
|
||||
async def edit_system_menu(request: Request, edit_menu: MenuModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_menu.update_by = current_user.user.user_name
|
||||
@@ -84,7 +85,7 @@ async def edit_system_menu(request: Request, edit_menu: MenuModel, query_db: Asy
|
||||
|
||||
|
||||
@menuController.delete("/{menu_ids}", dependencies=[Depends(CheckUserInterfaceAuth('system:menu:remove'))])
|
||||
@log_decorator(title='菜单管理', business_type=3)
|
||||
@log_decorator(title='菜单管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_menu(request: Request, menu_ids: str, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
delete_menu = DeleteMenuModel(menuIds=menu_ids)
|
||||
|
@@ -3,11 +3,12 @@ from fastapi import Depends
|
||||
from config.get_db import get_db
|
||||
from module_admin.service.login_service import LoginService, CurrentUserModel
|
||||
from module_admin.service.notice_service import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
from config.enums import BusinessType
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from utils.page_util import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
|
||||
|
||||
noticeController = APIRouter(prefix='/system/notice', dependencies=[Depends(LoginService.get_current_user)])
|
||||
@@ -26,7 +27,7 @@ async def get_system_notice_list(request: Request, notice_page_query: NoticePage
|
||||
|
||||
|
||||
@noticeController.post("", dependencies=[Depends(CheckUserInterfaceAuth('system:notice:add'))])
|
||||
@log_decorator(title='通知公告管理', business_type=1)
|
||||
@log_decorator(title='通知公告管理', business_type=BusinessType.INSERT)
|
||||
async def add_system_notice(request: Request, add_notice: NoticeModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
add_notice.create_by = current_user.user.user_name
|
||||
@@ -46,7 +47,7 @@ async def add_system_notice(request: Request, add_notice: NoticeModel, query_db:
|
||||
|
||||
|
||||
@noticeController.put("", dependencies=[Depends(CheckUserInterfaceAuth('system:notice:edit'))])
|
||||
@log_decorator(title='通知公告管理', business_type=2)
|
||||
@log_decorator(title='通知公告管理', business_type=BusinessType.UPDATE)
|
||||
async def edit_system_notice(request: Request, edit_notice: NoticeModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_notice.update_by = current_user.user.user_name
|
||||
@@ -64,7 +65,7 @@ async def edit_system_notice(request: Request, edit_notice: NoticeModel, query_d
|
||||
|
||||
|
||||
@noticeController.delete("/{notice_ids}", dependencies=[Depends(CheckUserInterfaceAuth('system:notice:remove'))])
|
||||
@log_decorator(title='通知公告管理', business_type=3)
|
||||
@log_decorator(title='通知公告管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_notice(request: Request, notice_ids: str, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
delete_notice = DeleteNoticeModel(noticeIds=notice_ids)
|
||||
|
@@ -3,11 +3,12 @@ from fastapi import Depends
|
||||
from config.get_db import get_db
|
||||
from module_admin.service.login_service import LoginService, AsyncSession
|
||||
from module_admin.service.online_service import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
from config.enums import BusinessType
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from utils.page_util import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
|
||||
|
||||
onlineController = APIRouter(prefix='/monitor/online', dependencies=[Depends(LoginService.get_current_user)])
|
||||
@@ -26,7 +27,7 @@ async def get_monitor_online_list(request: Request, online_page_query: OnlineQue
|
||||
|
||||
|
||||
@onlineController.delete("/{token_ids}", dependencies=[Depends(CheckUserInterfaceAuth('monitor:online:forceLogout'))])
|
||||
@log_decorator(title='在线用户', business_type=7)
|
||||
@log_decorator(title='在线用户', business_type=BusinessType.FORCE)
|
||||
async def delete_monitor_online(request: Request, token_ids: str, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
delete_online = DeleteOnlineModel(tokenIds=token_ids)
|
||||
|
@@ -4,12 +4,13 @@ from config.get_db import get_db
|
||||
from module_admin.service.login_service import LoginService, CurrentUserModel
|
||||
from module_admin.service.post_service import *
|
||||
from module_admin.entity.vo.post_vo import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
from config.enums import BusinessType
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from utils.page_util import *
|
||||
from utils.common_util import bytes2file_response
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
|
||||
|
||||
postController = APIRouter(prefix='/system/post', dependencies=[Depends(LoginService.get_current_user)])
|
||||
@@ -28,7 +29,7 @@ async def get_system_post_list(request: Request, post_page_query: PostPageQueryM
|
||||
|
||||
|
||||
@postController.post("", dependencies=[Depends(CheckUserInterfaceAuth('system:post:add'))])
|
||||
@log_decorator(title='岗位管理', business_type=1)
|
||||
@log_decorator(title='岗位管理', business_type=BusinessType.INSERT)
|
||||
async def add_system_post(request: Request, add_post: PostModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
add_post.create_by = current_user.user.user_name
|
||||
@@ -48,7 +49,7 @@ async def add_system_post(request: Request, add_post: PostModel, query_db: Async
|
||||
|
||||
|
||||
@postController.put("", dependencies=[Depends(CheckUserInterfaceAuth('system:post:edit'))])
|
||||
@log_decorator(title='岗位管理', business_type=2)
|
||||
@log_decorator(title='岗位管理', business_type=BusinessType.UPDATE)
|
||||
async def edit_system_post(request: Request, edit_post: PostModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_post.update_by = current_user.user.user_name
|
||||
@@ -66,7 +67,7 @@ async def edit_system_post(request: Request, edit_post: PostModel, query_db: Asy
|
||||
|
||||
|
||||
@postController.delete("/{post_ids}", dependencies=[Depends(CheckUserInterfaceAuth('system:post:remove'))])
|
||||
@log_decorator(title='岗位管理', business_type=3)
|
||||
@log_decorator(title='岗位管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_post(request: Request, post_ids: str, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
delete_post = DeletePostModel(postIds=post_ids)
|
||||
@@ -94,7 +95,7 @@ async def query_detail_system_post(request: Request, post_id: int, query_db: Asy
|
||||
|
||||
|
||||
@postController.post("/export", dependencies=[Depends(CheckUserInterfaceAuth('system:post:export'))])
|
||||
@log_decorator(title='岗位管理', business_type=5)
|
||||
@log_decorator(title='岗位管理', business_type=BusinessType.EXPORT)
|
||||
async def export_system_post_list(request: Request, post_page_query: PostPageQueryModel = Depends(PostPageQueryModel.as_form), query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
# 获取全量数据
|
||||
|
@@ -5,13 +5,14 @@ from module_admin.service.login_service import LoginService, CurrentUserModel
|
||||
from module_admin.service.role_service import *
|
||||
from module_admin.service.dept_service import DeptService, DeptModel
|
||||
from module_admin.service.user_service import UserService, UserRoleQueryModel, UserRolePageQueryModel, CrudUserRoleModel
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.aspect.data_scope import GetDataScope
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
from config.enums import BusinessType
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from utils.page_util import PageResponseModel
|
||||
from utils.common_util import bytes2file_response
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.aspect.data_scope import GetDataScope
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
|
||||
|
||||
roleController = APIRouter(prefix='/system/role', dependencies=[Depends(LoginService.get_current_user)])
|
||||
@@ -42,7 +43,7 @@ async def get_system_role_list(request: Request, role_page_query: RolePageQueryM
|
||||
|
||||
|
||||
@roleController.post("", dependencies=[Depends(CheckUserInterfaceAuth('system:role:add'))])
|
||||
@log_decorator(title='角色管理', business_type=1)
|
||||
@log_decorator(title='角色管理', business_type=BusinessType.INSERT)
|
||||
async def add_system_role(request: Request, add_role: AddRoleModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
add_role.create_by = current_user.user.user_name
|
||||
@@ -62,7 +63,7 @@ async def add_system_role(request: Request, add_role: AddRoleModel, query_db: As
|
||||
|
||||
|
||||
@roleController.put("", dependencies=[Depends(CheckUserInterfaceAuth('system:role:edit'))])
|
||||
@log_decorator(title='角色管理', business_type=2)
|
||||
@log_decorator(title='角色管理', business_type=BusinessType.UPDATE)
|
||||
async def edit_system_role(request: Request, edit_role: AddRoleModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_role.update_by = current_user.user.user_name
|
||||
@@ -80,7 +81,7 @@ async def edit_system_role(request: Request, edit_role: AddRoleModel, query_db:
|
||||
|
||||
|
||||
@roleController.put("/dataScope", dependencies=[Depends(CheckUserInterfaceAuth('system:role:edit'))])
|
||||
@log_decorator(title='角色管理', business_type=4)
|
||||
@log_decorator(title='角色管理', business_type=BusinessType.GRANT)
|
||||
async def edit_system_role_datascope(request: Request, role_data_scope: AddRoleModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
role_data_scope.update_by = current_user.user.user_name
|
||||
@@ -98,7 +99,7 @@ async def edit_system_role_datascope(request: Request, role_data_scope: AddRoleM
|
||||
|
||||
|
||||
@roleController.delete("/{role_ids}", dependencies=[Depends(CheckUserInterfaceAuth('system:role:remove'))])
|
||||
@log_decorator(title='角色管理', business_type=3)
|
||||
@log_decorator(title='角色管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_role(request: Request, role_ids: str, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
delete_role = DeleteRoleModel(
|
||||
@@ -130,7 +131,7 @@ async def query_detail_system_role(request: Request, role_id: int, query_db: Asy
|
||||
|
||||
|
||||
@roleController.post("/export", dependencies=[Depends(CheckUserInterfaceAuth('system:role:export'))])
|
||||
@log_decorator(title='角色管理', business_type=5)
|
||||
@log_decorator(title='角色管理', business_type=BusinessType.EXPORT)
|
||||
async def export_system_role_list(request: Request, role_page_query: RolePageQueryModel = Depends(RolePageQueryModel.as_form), query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
# 获取全量数据
|
||||
@@ -144,7 +145,7 @@ async def export_system_role_list(request: Request, role_page_query: RolePageQue
|
||||
|
||||
|
||||
@roleController.put("/changeStatus", dependencies=[Depends(CheckUserInterfaceAuth('system:role:edit'))])
|
||||
@log_decorator(title='角色管理', business_type=2)
|
||||
@log_decorator(title='角色管理', business_type=BusinessType.UPDATE)
|
||||
async def reset_system_role_status(request: Request, edit_role: AddRoleModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_role.update_by = current_user.user.user_name
|
||||
@@ -185,7 +186,7 @@ async def get_system_unallocated_user_list(request: Request, user_role: UserRole
|
||||
|
||||
|
||||
@roleController.put("/authUser/selectAll", dependencies=[Depends(CheckUserInterfaceAuth('system:role:edit'))])
|
||||
@log_decorator(title='角色管理', business_type=4)
|
||||
@log_decorator(title='角色管理', business_type=BusinessType.GRANT)
|
||||
async def add_system_role_user(request: Request, add_role_user: CrudUserRoleModel = Depends(CrudUserRoleModel.as_query), query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
add_role_user_result = await UserService.add_user_role_services(query_db, add_role_user)
|
||||
@@ -201,7 +202,7 @@ async def add_system_role_user(request: Request, add_role_user: CrudUserRoleMode
|
||||
|
||||
|
||||
@roleController.put("/authUser/cancel", dependencies=[Depends(CheckUserInterfaceAuth('system:role:edit'))])
|
||||
@log_decorator(title='角色管理', business_type=4)
|
||||
@log_decorator(title='角色管理', business_type=BusinessType.GRANT)
|
||||
async def cancel_system_role_user(request: Request, cancel_user_role: CrudUserRoleModel, query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
cancel_user_role_result = await UserService.delete_user_role_services(query_db, cancel_user_role)
|
||||
@@ -217,7 +218,7 @@ async def cancel_system_role_user(request: Request, cancel_user_role: CrudUserRo
|
||||
|
||||
|
||||
@roleController.put("/authUser/cancelAll", dependencies=[Depends(CheckUserInterfaceAuth('system:role:edit'))])
|
||||
@log_decorator(title='角色管理', business_type=4)
|
||||
@log_decorator(title='角色管理', business_type=BusinessType.GRANT)
|
||||
async def batch_cancel_system_role_user(request: Request, batch_cancel_user_role: CrudUserRoleModel = Depends(CrudUserRoleModel.as_query), query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
batch_cancel_user_role_result = await UserService.delete_user_role_services(query_db, batch_cancel_user_role)
|
||||
|
@@ -2,9 +2,9 @@ from fastapi import APIRouter, Request
|
||||
from fastapi import Depends
|
||||
from module_admin.service.login_service import LoginService
|
||||
from module_admin.service.server_service import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
|
||||
|
||||
serverController = APIRouter(prefix='/monitor/server', dependencies=[Depends(LoginService.get_current_user)])
|
||||
|
@@ -5,14 +5,15 @@ from config.env import UploadConfig
|
||||
from module_admin.service.login_service import LoginService
|
||||
from module_admin.service.user_service import *
|
||||
from module_admin.service.dept_service import DeptService
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.aspect.data_scope import GetDataScope
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
from config.enums import BusinessType
|
||||
from utils.page_util import PageResponseModel
|
||||
from utils.response_util import *
|
||||
from utils.log_util import *
|
||||
from utils.common_util import bytes2file_response
|
||||
from utils.upload_util import UploadUtil
|
||||
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
|
||||
from module_admin.aspect.data_scope import GetDataScope
|
||||
from module_admin.annotation.log_annotation import log_decorator
|
||||
|
||||
|
||||
userController = APIRouter(prefix='/system/user', dependencies=[Depends(LoginService.get_current_user)])
|
||||
@@ -42,7 +43,7 @@ async def get_system_user_list(request: Request, user_page_query: UserPageQueryM
|
||||
|
||||
|
||||
@userController.post("", dependencies=[Depends(CheckUserInterfaceAuth('system:user:add'))])
|
||||
@log_decorator(title='用户管理', business_type=1)
|
||||
@log_decorator(title='用户管理', business_type=BusinessType.INSERT)
|
||||
async def add_system_user(request: Request, add_user: AddUserModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
add_user.password = PwdUtil.get_password_hash(add_user.password)
|
||||
@@ -63,7 +64,7 @@ async def add_system_user(request: Request, add_user: AddUserModel, query_db: As
|
||||
|
||||
|
||||
@userController.put("", dependencies=[Depends(CheckUserInterfaceAuth('system:user:edit'))])
|
||||
@log_decorator(title='用户管理', business_type=2)
|
||||
@log_decorator(title='用户管理', business_type=BusinessType.UPDATE)
|
||||
async def edit_system_user(request: Request, edit_user: EditUserModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_user.update_by = current_user.user.user_name
|
||||
@@ -81,7 +82,7 @@ async def edit_system_user(request: Request, edit_user: EditUserModel, query_db:
|
||||
|
||||
|
||||
@userController.delete("/{user_ids}", dependencies=[Depends(CheckUserInterfaceAuth('system:user:remove'))])
|
||||
@log_decorator(title='用户管理', business_type=3)
|
||||
@log_decorator(title='用户管理', business_type=BusinessType.DELETE)
|
||||
async def delete_system_user(request: Request, user_ids: str, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
delete_user = DeleteUserModel(
|
||||
@@ -102,7 +103,7 @@ async def delete_system_user(request: Request, user_ids: str, query_db: AsyncSes
|
||||
|
||||
|
||||
@userController.put("/resetPwd", dependencies=[Depends(CheckUserInterfaceAuth('system:user:resetPwd'))])
|
||||
@log_decorator(title='用户管理', business_type=2)
|
||||
@log_decorator(title='用户管理', business_type=BusinessType.UPDATE)
|
||||
async def reset_system_user_pwd(request: Request, edit_user: EditUserModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_user.password = PwdUtil.get_password_hash(edit_user.password)
|
||||
@@ -122,7 +123,7 @@ async def reset_system_user_pwd(request: Request, edit_user: EditUserModel, quer
|
||||
|
||||
|
||||
@userController.put("/changeStatus", dependencies=[Depends(CheckUserInterfaceAuth('system:user:edit'))])
|
||||
@log_decorator(title='用户管理', business_type=2)
|
||||
@log_decorator(title='用户管理', business_type=BusinessType.UPDATE)
|
||||
async def change_system_user_status(request: Request, edit_user: EditUserModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_user.update_by = current_user.user.user_name
|
||||
@@ -164,7 +165,7 @@ async def query_detail_system_user(request: Request, user_id: Optional[Union[int
|
||||
|
||||
|
||||
@userController.post("/profile/avatar")
|
||||
@log_decorator(title='个人信息', business_type=2)
|
||||
@log_decorator(title='个人信息', business_type=BusinessType.UPDATE)
|
||||
async def change_system_user_profile_avatar(request: Request, avatarfile: bytes = File(), query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
relative_path = f'avatar/{datetime.now().strftime("%Y")}/{datetime.now().strftime("%m")}/{datetime.now().strftime("%d")}'
|
||||
@@ -197,7 +198,7 @@ async def change_system_user_profile_avatar(request: Request, avatarfile: bytes
|
||||
|
||||
|
||||
@userController.put("/profile")
|
||||
@log_decorator(title='个人信息', business_type=2)
|
||||
@log_decorator(title='个人信息', business_type=BusinessType.UPDATE)
|
||||
async def change_system_user_profile_info(request: Request, user_info: UserInfoModel, query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
edit_user = EditUserModel(
|
||||
@@ -227,7 +228,7 @@ async def change_system_user_profile_info(request: Request, user_info: UserInfoM
|
||||
|
||||
|
||||
@userController.put("/profile/updatePwd")
|
||||
@log_decorator(title='个人信息', business_type=2)
|
||||
@log_decorator(title='个人信息', business_type=BusinessType.UPDATE)
|
||||
async def reset_system_user_password(request: Request, reset_password: ResetPasswordModel = Depends(ResetPasswordModel.as_query), query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
reset_user = ResetUserModel(
|
||||
@@ -250,7 +251,7 @@ async def reset_system_user_password(request: Request, reset_password: ResetPass
|
||||
|
||||
|
||||
@userController.post("/importData", dependencies=[Depends(CheckUserInterfaceAuth('system:user:import'))])
|
||||
@log_decorator(title='用户管理', business_type=6)
|
||||
@log_decorator(title='用户管理', business_type=BusinessType.IMPORT)
|
||||
async def batch_import_system_user(request: Request, file: UploadFile = File(...), update_support: bool = Query(alias='updateSupport'), query_db: AsyncSession = Depends(get_db), current_user: CurrentUserModel = Depends(LoginService.get_current_user)):
|
||||
try:
|
||||
batch_import_result = await UserService.batch_import_user_services(query_db, file, update_support, current_user)
|
||||
@@ -277,7 +278,7 @@ async def export_system_user_template(request: Request, query_db: AsyncSession =
|
||||
|
||||
|
||||
@userController.post("/export", dependencies=[Depends(CheckUserInterfaceAuth('system:user:export'))])
|
||||
@log_decorator(title='用户管理', business_type=5)
|
||||
@log_decorator(title='用户管理', business_type=BusinessType.EXPORT)
|
||||
async def export_system_user_list(request: Request, user_page_query: UserPageQueryModel = Depends(UserPageQueryModel.as_form), query_db: AsyncSession = Depends(get_db), data_scope_sql: str = Depends(GetDataScope('SysUser'))):
|
||||
try:
|
||||
# 获取全量数据
|
||||
@@ -303,6 +304,7 @@ async def get_system_allocated_role_list(request: Request, user_id: int, query_d
|
||||
|
||||
|
||||
@userController.put("/authRole", response_model=UserRoleResponseModel, dependencies=[Depends(CheckUserInterfaceAuth('system:user:edit'))])
|
||||
@log_decorator(title='用户管理', business_type=BusinessType.GRANT)
|
||||
async def update_system_role_user(request: Request, user_id: int = Query(alias='userId'), role_ids: str = Query(alias='roleIds'), query_db: AsyncSession = Depends(get_db)):
|
||||
try:
|
||||
add_user_role_result = await UserService.add_user_role_services(query_db, CrudUserRoleModel(userId=user_id, roleIds=role_ids))
|
||||
|
Reference in New Issue
Block a user