feat: 新增配置中心功能并优化系统配置管理

refactor: 重构配置管理相关代码,包括模型、参数和CRUD操作
docs: 更新README文档中的图片引用
style: 统一前端表格样式和布局,优化暗色模式背景色
fix: 修复日志记录中用户信息泄露问题
perf: 优化前端路由和组件性能
chore: 更新依赖和脚本文件
```

这个提交消息涵盖了以下主要变更:
1. 新增了配置中心功能模块
2. 重构了后端配置管理相关代码
3. 更新了文档中的图片引用
4. 统一了前端表格样式
5. 修复了安全相关问题
6. 优化了前端性能
7. 更新了项目依赖

消息遵循了约定的提交格式,每个类型都准确地描述了变更的性质,并保持了简洁性。
This commit is contained in:
zhangtao
2025-06-02 22:35:45 +08:00
parent 60e6452255
commit 9d426b2e4c
75 changed files with 2103 additions and 1524 deletions
@@ -1,43 +1,99 @@
# -*- coding: utf-8 -*-
from fastapi import APIRouter, Depends, Request, UploadFile
from fastapi.responses import JSONResponse
from fastapi import APIRouter, Depends, Query, Request, UploadFile
from fastapi.responses import JSONResponse, StreamingResponse
from aioredis import Redis
from app.common.response import SuccessResponse
from app.core.dependencies import AuthPermission, redis_getter, db_getter
from app.api.v1.params.system.config_param import ConfigQueryParams
from app.common.request import PaginationService
from app.common.response import StreamResponse, SuccessResponse
from app.core.base_params import PaginationQueryParams
from app.core.dependencies import AuthPermission, redis_getter
from app.core.router_class import OperationLogRoute
from app.core.logger import logger
from app.api.v1.schemas.system.auth_schema import AuthSchema
from app.api.v1.schemas.system.config_schema import ConfigUpdateSchema
from app.api.v1.schemas.system.config_schema import ConfigCreateSchema, ConfigUpdateSchema
from app.api.v1.services.system.config_service import ConfigService
from app.utils.common_util import bytes2file_response
from sqlalchemy.ext.asyncio import AsyncSession
router = APIRouter(route_class=OperationLogRoute)
@router.get("/detail", summary="获取系统配置详情", description="获取系统配置详情")
async def get_type_detail_controller(
id: int = Query(..., description="系统配置ID"),
auth: AuthSchema = Depends(AuthPermission(permissions=["system:config:query"]))
) -> JSONResponse:
result_dict = await ConfigService.get_obj_detail_service(id=id, auth=auth)
logger.info(f"获取系统配置详情成功 {id}")
return SuccessResponse(data=result_dict, msg="获取系统配置详情成功")
@router.get("/list", summary="获取配置", description="获取配置")
async def get_obj_list_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:config:query"]))
auth: AuthSchema = Depends(AuthPermission(permissions=["system:config:query"])),
page: PaginationQueryParams = Depends(),
search: ConfigQueryParams = Depends(),
) -> JSONResponse:
result_dict = await ConfigService.get_service(auth=auth, id=1)
logger.info(f"{auth.user.name} 获取配置成功")
result_dict_list = await ConfigService.get_obj_list_service(auth=auth, search=search, order_by=page.order_by)
result_dict = await PaginationService.get_page_obj(data_list= result_dict_list, page_no= page.page_no, page_size = page.page_size)
logger.info(f"获取配置成功")
return SuccessResponse(data=result_dict, msg="查询配置列表成功")
@router.post("/create", summary="创建系统配置", description="创建系统配置")
async def create_obj_controller(
data: ConfigCreateSchema,
redis: Redis = Depends(redis_getter),
auth: AuthSchema = Depends(AuthPermission(permissions=["system:config:create"]))
) -> JSONResponse:
result_dict = await ConfigService.create_obj_service(auth=auth, redis=redis, data=data)
logger.info(f"创建系统配置成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="创建系统配置成功")
@router.put("/update", summary="修改配置", description="修改配置")
async def update_objs_controller(
data: ConfigUpdateSchema,
redis: Redis = Depends(redis_getter),
auth: AuthSchema = Depends(AuthPermission(permissions=["system:config:update"]))
) -> JSONResponse:
result_dict = await ConfigService.update_service(auth=auth, redis=redis, data=data)
logger.info(f"{auth.user.name} 更新配置成功 {result_dict}")
result_dict = await ConfigService.update_obj_service(auth=auth, redis=redis, data=data)
logger.info(f"更新配置成功 {result_dict}")
return SuccessResponse(data=result_dict, msg="更新配置成功")
@router.delete("/delete", summary="删除系统配置", description="删除系统配置")
async def delete_type_controller(
redis: Redis = Depends(redis_getter),
id: int = Query(..., description="系统配置ID"),
auth: AuthSchema = Depends(AuthPermission(permissions=["system:config:delete"]))
) -> JSONResponse:
await ConfigService.delete_obj_service(auth=auth, redis=redis, id=id)
logger.info(f"删除系统配置成功: {id}")
return SuccessResponse(msg="删除系统配置成功")
@router.post('/export', summary="导出系统配置", description="导出系统配置")
async def export_type_list_controller(
search: ConfigService = Depends(),
auth: AuthSchema = Depends(AuthPermission(permissions=["system:config:export"]))
) -> StreamingResponse:
# 获取全量数据
result_dict_list = await ConfigService.get_obj_list_service(search=search, auth=auth)
export_result = await ConfigService.export_obj_service(data_list=result_dict_list)
logger.info('导出系统配置成功')
return StreamResponse(
data=bytes2file_response(export_result),
media_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
headers = {
'Content-Disposition': 'attachment; filename=data.xlsx'
}
)
@router.post("/upload", summary="上传文件", dependencies=[Depends(AuthPermission(permissions=["system:config:upload"]))])
async def upload_file_controller(
file: UploadFile,
@@ -51,8 +107,7 @@ async def upload_file_controller(
@router.get("/info", summary="获取初始化缓存系统配置", description="获取初始化缓存系统配置")
async def get_init_config_controller(
redis: Redis = Depends(redis_getter),
db: AsyncSession = Depends(db_getter)
) -> JSONResponse:
result_dict = await ConfigService.get_init_config_service(redis=redis, db=db)
result_dict = await ConfigService.get_init_config_service(redis=redis)
logger.info(f"获取初始化缓存系统配置成功 {result_dict}")
return SuccessResponse(data=result_dict, msg="获取初始化缓存系统配置成功")
@@ -30,7 +30,7 @@ async def get_obj_list_controller(
) -> JSONResponse:
result_dict_list = await DeptService.get_dept_list_service(search=search, auth=auth, order_by=page.order_by)
result_dict = await PaginationService.get_page_obj(data_list=result_dict_list, page_no=page.page_no, page_size=page.page_size)
logger.info(f"{auth.user.name} 查询部门成功")
logger.info(f"查询部门成功")
return SuccessResponse(data=result_dict, msg="查询部门成功")
@@ -40,7 +40,7 @@ async def get_obj_detail_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dept:query"]))
) -> JSONResponse:
result_dict = await DeptService.get_dept_detail_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 查询部门详情成功 {id}")
logger.info(f"查询部门详情成功 {id}")
return SuccessResponse(data=result_dict, msg="查询部门详情成功")
@@ -50,7 +50,7 @@ async def create_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dept:create"]))
) -> JSONResponse:
result_dict = await DeptService.create_dept_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 创建部门成功: {result_dict}")
logger.info(f"创建部门成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="创建部门成功")
@@ -60,7 +60,7 @@ async def update_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dept:update"]))
) -> JSONResponse:
result_dict = await DeptService.update_dept_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 修改部门成功: {result_dict}")
logger.info(f"修改部门成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="修改部门成功")
@@ -70,7 +70,7 @@ async def delete_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dept:delete"]))
) -> JSONResponse:
await DeptService.delete_dept_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 删除部门成功: {id}")
logger.info(f"删除部门成功: {id}")
return SuccessResponse(msg="删除部门成功")
@@ -80,5 +80,5 @@ async def batch_set_available_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dept:patch"]))
) -> JSONResponse:
await DeptService.batch_set_available_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 批量修改部门状态成功: {data.ids}")
logger.info(f"批量修改部门状态成功: {data.ids}")
return SuccessResponse(msg="批量修改部门状态成功")
@@ -31,7 +31,7 @@ async def get_type_detail_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dict_type:query"]))
) -> JSONResponse:
result_dict = await DictTypeService.get_obj_detail_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 获取字典类型详情成功 {id}")
logger.info(f"获取字典类型详情成功 {id}")
return SuccessResponse(data=result_dict, msg="获取字典类型详情成功")
@router.get("/type/list", summary="查询字典类型", description="查询字典类型")
@@ -42,7 +42,7 @@ async def get_type_list_controller(
) -> JSONResponse:
result_dict_list = await DictTypeService.get_obj_list_service(auth=auth, search=search, order_by=page.order_by)
result_dict = await PaginationService.get_page_obj(data_list= result_dict_list, page_no= page.page_no, page_size = page.page_size)
logger.info(f"{auth.user.name} 查询字典类型列表成功")
logger.info(f"查询字典类型列表成功")
return SuccessResponse(data=result_dict, msg="查询字典类型列表成功")
@router.get("/type/optionselect", summary="获取全部字典类型", description="获取全部字典类型")
@@ -50,7 +50,7 @@ async def get_type_list_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dict_type:query"]))
) -> JSONResponse:
result_dict_list = await DictTypeService.get_obj_list_service(auth=auth)
logger.info(f"{auth.user.name} 获取字典类型列表成功")
logger.info(f"获取字典类型列表成功")
return SuccessResponse(data=result_dict_list, msg="获取字典类型列表成功")
@router.post("/type/create", summary="创建字典类型", description="创建字典类型")
@@ -60,7 +60,7 @@ async def create_type_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dict_type:create"]))
) -> JSONResponse:
result_dict = await DictTypeService.create_obj_service(auth=auth, redis=redis, data=data)
logger.info(f"{auth.user.name} 创建字典类型成功: {result_dict}")
logger.info(f"创建字典类型成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="创建字典类型成功")
@router.put("/type/update", summary="修改字典类型", description="修改字典类型")
@@ -70,7 +70,7 @@ async def update_type_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dict_type:update"]))
) -> JSONResponse:
result_dict = await DictTypeService.update_obj_service(auth=auth, redis=redis, data=data)
logger.info(f"{auth.user.name} 修改字典类型成功: {result_dict}")
logger.info(f"修改字典类型成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="修改字典类型成功")
@router.delete("/type/delete", summary="删除字典类型", description="删除字典类型")
@@ -80,7 +80,7 @@ async def delete_type_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dict_type:delete"]))
) -> JSONResponse:
await DictTypeService.delete_obj_service(auth=auth, redis=redis, id=id)
logger.info(f"{auth.user.name} 删除字典类型成功: {id}")
logger.info(f"删除字典类型成功: {id}")
return SuccessResponse(msg="删除字典类型成功")
@router.post('/type/export', summary="导出字典类型", description="导出字典类型")
@@ -107,7 +107,7 @@ async def get_data_detail_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dict_data:query"]))
) -> JSONResponse:
result_dict = await DictDataService.get_obj_detail_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 获取字典数据详情成功 {id}")
logger.info(f"获取字典数据详情成功 {id}")
return SuccessResponse(data=result_dict, msg="获取字典数据详情成功")
@router.get("/data/list", summary="查询字典数据", description="查询字典数据")
@@ -118,7 +118,7 @@ async def get_data_list_controller(
) -> JSONResponse:
result_dict_list = await DictDataService.get_obj_list_service(auth=auth, search=search, order_by=page.order_by)
result_dict = await PaginationService.get_page_obj(data_list= result_dict_list, page_no= page.page_no, page_size = page.page_size)
logger.info(f"{auth.user.name} 查询字典数据列表成功")
logger.info(f"查询字典数据列表成功")
return SuccessResponse(data=result_dict, msg="查询字典数据列表成功")
@router.post("/data/create", summary="创建字典数据", description="创建字典数据")
@@ -128,7 +128,7 @@ async def create_data_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dict_data:create"]))
) -> JSONResponse:
result_dict = await DictDataService.create_obj_service(auth=auth, redis=redis, data=data)
logger.info(f"{auth.user.name} 创建字典数据成功: {result_dict}")
logger.info(f"创建字典数据成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="创建字典数据成功")
@router.put("/data/update", summary="修改字典数据", description="修改字典数据")
@@ -138,7 +138,7 @@ async def update_data_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dict_data:update"]))
) -> JSONResponse:
result_dict = await DictDataService.update_obj_service(auth=auth, redis=redis, data=data)
logger.info(f"{auth.user.name} 修改字典数据成功: {result_dict}")
logger.info(f"修改字典数据成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="修改字典数据成功")
@router.delete("/data/delete", summary="删除字典数据", description="删除字典数据")
@@ -148,7 +148,7 @@ async def delete_data_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:dict_data:delete"]))
) -> JSONResponse:
await DictDataService.delete_obj_service(auth=auth, redis=redis, id=id)
logger.info(f"{auth.user.name} 删除字典数据成功: {id}")
logger.info(f"删除字典数据成功: {id}")
return SuccessResponse(msg="删除字典数据成功")
@router.post('/data/export', summary="导出字典数据", description="导出字典数据")
@@ -28,7 +28,7 @@ async def get_obj_detail_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:job:query"]))
) -> JSONResponse:
result_dict = await JobService.get_job_detail_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 获取定时任务详情成功 {id}")
logger.info(f"获取定时任务详情成功 {id}")
return SuccessResponse(data=result_dict, msg="获取定时任务详情成功")
@router.get("/list", summary="查询定时任务", description="查询定时任务")
@@ -39,7 +39,7 @@ async def get_obj_list_controller(
) -> JSONResponse:
result_dict_list = await JobService.get_job_list_service(auth=auth, search=search, order_by=page.order_by)
result_dict = await PaginationService.get_page_obj(data_list= result_dict_list, page_no= page.page_no, page_size = page.page_size)
logger.info(f"{auth.user.name} 查询定时任务列表成功")
logger.info(f"查询定时任务列表成功")
return SuccessResponse(data=result_dict, msg="查询定时任务列表成功")
@router.post("/create", summary="创建定时任务", description="创建定时任务")
@@ -48,7 +48,7 @@ async def create_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:job:create"]))
) -> JSONResponse:
result_dict = await JobService.create_job_service(auth=auth, data=data)
logger.info(f"{auth.user.name} 创建定时任务成功: {result_dict}")
logger.info(f"创建定时任务成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="创建定时任务成功")
@router.put("/update", summary="修改定时任务", description="修改定时任务")
@@ -57,7 +57,7 @@ async def update_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:job:update"]))
) -> JSONResponse:
result_dict = await JobService.update_job_service(auth=auth, data=data)
logger.info(f"{auth.user.name} 修改定时任务成功: {result_dict}")
logger.info(f"修改定时任务成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="修改定时任务成功")
@router.delete("/delete", summary="删除定时任务", description="删除定时任务")
@@ -66,7 +66,7 @@ async def delete_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:job:delete"]))
) -> JSONResponse:
await JobService.delete_job_service(auth=auth, id=id)
logger.info(f"{auth.user.name} 删除定时任务成功: {id}")
logger.info(f"删除定时任务成功: {id}")
return SuccessResponse(msg="删除定时任务成功")
@router.post('/export', summary="导出定时任务", description="导出定时任务")
@@ -92,7 +92,7 @@ async def clear_obj_log_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:job:delete"]))
) -> JSONResponse:
await JobService.clear_job_service(auth=auth)
logger.info(f"{auth.user.name} 清空定时任务成功")
logger.info(f"清空定时任务成功")
return SuccessResponse(msg="清空定时任务成功")
@router.put("/option", summary="暂停/恢复/重启定时任务", description="暂停/恢复/重启定时任务")
@@ -102,7 +102,7 @@ async def option_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:job:update"]))
) -> JSONResponse:
await JobService.option_job_service(auth=auth, id=id, option=option)
logger.info(f"{auth.user.name} 操作定时任务成功: {id}")
logger.info(f"操作定时任务成功: {id}")
return SuccessResponse(msg="操作定时任务成功")
@router.get("/log", summary="获取定时任务日志", description="获取定时任务日志", dependencies=[Depends(AuthPermission(permissions=["system:job:query"]))])
@@ -31,7 +31,7 @@ async def get_obj_list_controller(
menu_items = await MenuService.convert_to_menu(result_dict_list)
result_dict = await PaginationService.get_page_obj(data_list=menu_items, page_no=page.page_no,
page_size=page.page_size)
logger.info(f"{auth.user.name} 查询菜单成功")
logger.info(f"查询菜单成功")
return SuccessResponse(data=result_dict, msg="查询菜单成功")
@@ -41,7 +41,7 @@ async def get_obj_detail_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:menu:query"]))
) -> JSONResponse:
result_dict = await MenuService.get_menu_detail_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 查询菜单情成功 {id}")
logger.info(f"查询菜单情成功 {id}")
return SuccessResponse(data=result_dict, msg="获取菜单成功")
@@ -51,7 +51,7 @@ async def create_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:menu:create"]))
) -> JSONResponse:
result_dict = await MenuService.create_menu_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 创建菜单成功: {result_dict}")
logger.info(f"创建菜单成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="创建菜单成功")
@@ -61,7 +61,7 @@ async def update_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:menu:update"]))
) -> JSONResponse:
result_dict = await MenuService.update_menu_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 修改菜单成功: {result_dict}")
logger.info(f"修改菜单成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="修改菜单成功")
@@ -71,7 +71,7 @@ async def delete_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:menu:delete"]))
) -> JSONResponse:
await MenuService.delete_menu_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 删除菜单成功: {id}")
logger.info(f"删除菜单成功: {id}")
return SuccessResponse(msg="删除菜单成功")
@@ -81,5 +81,5 @@ async def batch_set_available_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:menu:patch"]))
) -> JSONResponse:
await MenuService.set_menu_available_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 批量修改菜单状态成功: {data.ids}")
logger.info(f"批量修改菜单状态成功: {data.ids}")
return SuccessResponse(msg="批量修改菜单状态成功")
@@ -28,7 +28,7 @@ async def get_obj_detail_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:notice:query"]))
) -> JSONResponse:
result_dict = await NoticeService.get_notice_detail_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 获取公告详情成功 {id}")
logger.info(f"获取公告详情成功 {id}")
return SuccessResponse(data=result_dict, msg="获取公告详情成功")
@router.get("/list", summary="查询公告", description="查询公告")
@@ -39,7 +39,7 @@ async def get_obj_list_controller(
) -> JSONResponse:
result_dict_list = await NoticeService.get_notice_list_service(auth=auth, search=search, order_by=page.order_by)
result_dict = await PaginationService.get_page_obj(data_list= result_dict_list, page_no= page.page_no, page_size = page.page_size)
logger.info(f"{auth.user.name} 查询公告列表成功")
logger.info(f"查询公告列表成功")
return SuccessResponse(data=result_dict, msg="查询公告列表成功")
@router.post("/create", summary="创建公告", description="创建公告")
@@ -48,7 +48,7 @@ async def create_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:notice:create"]))
) -> JSONResponse:
result_dict = await NoticeService.create_notice_service(auth=auth, data=data)
logger.info(f"{auth.user.name} 创建公告成功: {result_dict}")
logger.info(f"创建公告成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="创建公告成功")
@router.put("/update", summary="修改公告", description="修改公告")
@@ -57,7 +57,7 @@ async def update_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:notice:update"]))
) -> JSONResponse:
result_dict = await NoticeService.update_notice_service(auth=auth, data=data)
logger.info(f"{auth.user.name} 修改公告成功: {result_dict}")
logger.info(f"修改公告成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="修改公告成功")
@router.delete("/delete", summary="删除公告", description="删除公告")
@@ -66,7 +66,7 @@ async def delete_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:notice:delete"]))
) -> JSONResponse:
await NoticeService.delete_notice_service(auth=auth, id=id)
logger.info(f"{auth.user.name} 删除公告成功: {id}")
logger.info(f"删除公告成功: {id}")
return SuccessResponse(msg="删除公告成功")
@router.patch("/available/setting", summary="批量修改公告状态", description="批量修改公告状态")
@@ -75,7 +75,7 @@ async def batch_set_available_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:notice:patch"]))
) -> JSONResponse:
await NoticeService.set_notice_available_service(auth=auth, data=data)
logger.info(f"{auth.user.name} 批量修改公告状态成功: {data.ids}")
logger.info(f"批量修改公告状态成功: {data.ids}")
return SuccessResponse(msg="批量修改公告状态成功")
@router.post('/export', summary="导出公告", description="导出公告")
@@ -103,5 +103,5 @@ async def get_obj_list_available_controller(
) -> JSONResponse:
result_dict_list = await NoticeService.get_notice_list_available_service(auth=auth)
result_dict = await PaginationService.get_page_obj(data_list= result_dict_list)
logger.info(f"{auth.user.name} 查询已启用公告列表成功")
logger.info(f"查询已启用公告列表成功")
return SuccessResponse(data=result_dict, msg="查询已启用公告列表成功")
@@ -26,7 +26,7 @@ async def get_obj_list_controller(
""" 查询日志 """
result_dict_list = await OperationLogService.get_log_list_service(search=search, auth=auth, order_by=page.order_by)
result_dict = await PaginationService.get_page_obj(data_list= result_dict_list, page_no= page.page_no, page_size = page.page_size)
logger.info(f"{auth.user.name} 查询日志成功")
logger.info(f"查询日志成功")
return SuccessResponse(data=result_dict, msg="查询日志成功")
@@ -37,7 +37,7 @@ async def get_obj_detail_controller(
) -> JSONResponse:
""" 详情日志 """
result_dict = await OperationLogService.get_log_detail_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 查询日志成功 {id}")
logger.info(f"查询日志成功 {id}")
return SuccessResponse(data=result_dict, msg="获取日志详情成功")
@@ -48,7 +48,7 @@ async def delete_obj_log_controller(
) -> JSONResponse:
""" 删除日志 """
await OperationLogService.delete_log_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 删除日志成功 {id}")
logger.info(f"删除日志成功 {id}")
return SuccessResponse(msg="删除日志成功")
@@ -31,7 +31,7 @@ async def get_obj_list_controller(
) -> JSONResponse:
result_dict_list = await PositionService.get_position_list_service(search=search, auth=auth, order_by=page.order_by)
result_dict = await PaginationService.get_page_obj(data_list= result_dict_list, page_no= page.page_no, page_size = page.page_size)
logger.info(f"{auth.user.name} 查询岗位列表成功")
logger.info(f"查询岗位列表成功")
return SuccessResponse(data=result_dict, msg="查询岗位列表成功")
@@ -41,7 +41,7 @@ async def get_obj_detail_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:position:query"])),
) -> JSONResponse:
result_dict = await PositionService.get_position_detail_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 查询岗位详情成功 {id}")
logger.info(f"查询岗位详情成功 {id}")
return SuccessResponse(data=result_dict, msg="获取岗位详情成功")
@@ -51,7 +51,7 @@ async def create_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:position:create"])),
) -> JSONResponse:
result_dict = await PositionService.create_position_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 创建岗位成功: {result_dict}")
logger.info(f"创建岗位成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="创建岗位成功")
@@ -61,7 +61,7 @@ async def update_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:position:update"])),
) -> JSONResponse:
result_dict = await PositionService.update_position_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 修改岗位成功: {result_dict}")
logger.info(f"修改岗位成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="修改岗位成功")
@@ -71,7 +71,7 @@ async def delete_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:position:delete"])),
) -> JSONResponse:
await PositionService.delete_position_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 删除岗位成功: {id}")
logger.info(f"删除岗位成功: {id}")
return SuccessResponse(msg="删除岗位成功")
@@ -81,7 +81,7 @@ async def batch_set_available_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:position:patch"])),
) -> JSONResponse:
await PositionService.set_position_available_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 批量修改岗位状态成功: {data.ids}")
logger.info(f"批量修改岗位状态成功: {data.ids}")
return SuccessResponse(msg="批量修改岗位状态成功")
@@ -32,7 +32,7 @@ async def get_obj_list_controller(
) -> JSONResponse:
result_dict_list = await RoleService.get_role_list_service(search=search, auth=auth, order_by=page.order_by)
result_dict = await PaginationService.get_page_obj(data_list= result_dict_list, page_no= page.page_no, page_size = page.page_size)
logger.info(f"{auth.user.name} 查询角色成功")
logger.info(f"查询角色成功")
return SuccessResponse(data=result_dict, msg="查询角色成功")
@@ -42,7 +42,7 @@ async def get_obj_detail_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:role:query"])),
) -> JSONResponse:
result_dict = await RoleService.get_role_detail_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 获取角色详情成功 {id}")
logger.info(f"获取角色详情成功 {id}")
return SuccessResponse(data=result_dict, msg="获取角色详情成功")
@@ -52,7 +52,7 @@ async def create_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:role:create"])),
) -> JSONResponse:
result_dict = await RoleService.create_role_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 创建角色成功: {result_dict}")
logger.info(f"创建角色成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="创建角色成功")
@@ -62,7 +62,7 @@ async def update_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:role:update"])),
) -> JSONResponse:
result_dict = await RoleService.update_role_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 修改角色成功: {result_dict}")
logger.info(f"修改角色成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="修改角色成功")
@@ -72,7 +72,7 @@ async def delete_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:role:delete"])),
) -> JSONResponse:
await RoleService.delete_role_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 删除角色成功: {id}")
logger.info(f"删除角色成功: {id}")
return SuccessResponse(msg="删除角色成功")
@@ -82,7 +82,7 @@ async def batch_set_available_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:role:patch"])),
) -> JSONResponse:
await RoleService.set_role_available_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 批量修改角色状态成功: {data.ids}")
logger.info(f"批量修改角色状态成功: {data.ids}")
return SuccessResponse(msg="批量修改角色状态成功")
@@ -92,7 +92,7 @@ async def set_role_permission_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:role:permission"])),
) -> JSONResponse:
await RoleService.set_role_permission_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 设置角色权限成功: {data}")
logger.info(f"设置角色权限成功: {data}")
return SuccessResponse(msg="授权角色成功")
@@ -33,7 +33,7 @@ async def get_current_user_info_controller(
auth: AuthSchema = Depends(get_current_user)
) -> JSONResponse:
result_dict = await UserService.get_current_user_info_service(auth=auth)
logger.info(f"{auth.user.name} 获取当前用户信息成功")
logger.info(f"获取当前用户信息成功")
return SuccessResponse(data=result_dict, msg='获取当前用户信息成功')
@@ -53,7 +53,7 @@ async def update_current_user_info_controller(
auth: AuthSchema = Depends(get_current_user)
) -> JSONResponse:
result_dict = await UserService.update_current_user_info_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 更新当前用户基本信息成功: {result_dict}")
logger.info(f"更新当前用户基本信息成功: {result_dict}")
return SuccessResponse(data=result_dict, msg='更新当前用户基本信息成功')
@@ -63,7 +63,7 @@ async def change_current_user_password_controller(
auth: AuthSchema = Depends(get_current_user)
) -> JSONResponse:
result_dict = await UserService.change_user_password_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 修改密码成功: {result_dict}")
logger.info(f"修改密码成功: {result_dict}")
return SuccessResponse(data=result_dict, msg='修改密码成功, 请重新登录')
@@ -97,7 +97,7 @@ async def get_obj_list_controller(
) -> JSONResponse:
result_dict_list = await UserService.get_user_list_service(search=search, auth=auth, order_by=page.order_by)
result_dict = await PaginationService.get_page_obj(data_list= result_dict_list, page_no= page.page_no, page_size = page.page_size)
logger.info(f"{auth.user.name} 查询用户成功")
logger.info(f"查询用户成功")
return SuccessResponse(data=result_dict, msg="查询用户成功")
@@ -107,7 +107,7 @@ async def get_obj_detail_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:user:query"])),
) -> JSONResponse:
result_dict = await UserService.get_detail_by_id_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 获取用户详情成功 {id}")
logger.info(f"获取用户详情成功 {id}")
return SuccessResponse(data=result_dict, msg='获取用户详情成功')
@@ -117,7 +117,7 @@ async def create_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:user:create"])),
) -> JSONResponse:
result_dict = await UserService.create_user_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 创建用户成功: {result_dict}")
logger.info(f"创建用户成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="创建用户成功")
@@ -127,7 +127,7 @@ async def update_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:user:update"])),
) -> JSONResponse:
result_dict = await UserService.update_user_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 修改用户成功: {result_dict}")
logger.info(f"修改用户成功: {result_dict}")
return SuccessResponse(data=result_dict, msg="修改用户成功")
@@ -137,7 +137,7 @@ async def delete_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:user:delete"])),
) -> JSONResponse:
await UserService.delete_user_service(id=id, auth=auth)
logger.info(f"{auth.user.name} 删除用户成功: {id}")
logger.info(f"删除用户成功: {id}")
return SuccessResponse(msg="删除用户成功")
@@ -147,7 +147,7 @@ async def batch_set_available_obj_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:user:patch"])),
) -> JSONResponse:
await UserService.set_user_available_service(data=data, auth=auth)
logger.info(f"{auth.user.name} 批量修改用户状态成功: {data.ids}")
logger.info(f"批量修改用户状态成功: {data.ids}")
return SuccessResponse(msg="批量修改用户状态成功")
@@ -192,5 +192,5 @@ async def import_obj_list_controller(
auth: AuthSchema = Depends(AuthPermission(permissions=["system:user:import"]))
) -> JSONResponse:
batch_import_result = await UserService.batch_import_user_service(file=file, auth=auth, update_support=True)
logger.info(f"{auth.user.name} 导入用户成功: {batch_import_result}")
logger.info(f"导入用户成功: {batch_import_result}")
return SuccessResponse(data=batch_import_result, msg="导入用户成功")