From 0f684851bce6bfeb40a77a6af1b4c318298f1bc3 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sun, 18 Jan 2026 14:55:37 +0000 Subject: [PATCH] style: auto-format with ruff [skip ci] --- server/routers/auth_router.py | 10 +- server/routers/department_router.py | 91 +++++-------------- server/routers/evaluation_router.py | 1 + src/agents/reporter/graph.py | 4 +- .../services/upload_graph_service.py | 1 + 5 files changed, 30 insertions(+), 77 deletions(-) diff --git a/server/routers/auth_router.py b/server/routers/auth_router.py index 3b0f49c7..7ed9f43c 100644 --- a/server/routers/auth_router.py +++ b/server/routers/auth_router.py @@ -230,10 +230,7 @@ async def initialize_admin(admin_data: InitializeAdmin, db: AsyncSession = Depen user_id = admin_data.user_id # 创建默认部门 - default_department = Department( - name="默认部门", - description="系统初始化时创建的默认部门" - ) + default_department = Department(name="默认部门", description="系统初始化时创建的默认部门") db.add(default_department) await db.flush() # 获取部门ID @@ -467,10 +464,7 @@ async def read_users( result = await db.execute( select(User, Department.name.label("department_name")) .outerjoin(Department, User.department_id == Department.id) - .filter( - User.is_deleted == 0, - User.department_id == current_user.department_id - ) + .filter(User.is_deleted == 0, User.department_id == current_user.department_id) .offset(skip) .limit(limit) ) diff --git a/server/routers/department_router.py b/server/routers/department_router.py index 4de846a4..057e051d 100644 --- a/server/routers/department_router.py +++ b/server/routers/department_router.py @@ -14,8 +14,7 @@ from src.storage.db.models import Department, User from server.utils.auth_middleware import get_superadmin_user, get_db from server.utils.auth_utils import AuthUtils from server.utils.common_utils import log_operation -from server.utils.user_utils import validate_username, is_valid_phone_number, generate_unique_user_id -from src.utils.datetime_utils import utc_now +from server.utils.user_utils import is_valid_phone_number # 创建路由器 department = APIRouter(prefix="/departments", tags=["department"]) @@ -28,6 +27,7 @@ department = APIRouter(prefix="/departments", tags=["department"]) class DepartmentCreate(BaseModel): """创建部门请求""" + name: str description: str | None = None # 必需的管理员信息 @@ -38,18 +38,21 @@ class DepartmentCreate(BaseModel): class DepartmentCreateWithoutAdmin(BaseModel): """创建部门请求(无管理员,用于兼容)""" + name: str description: str | None = None class DepartmentUpdate(BaseModel): """更新部门请求""" + name: str | None = None description: str | None = None class DepartmentResponse(BaseModel): """部门响应""" + id: int name: str description: str | None = None @@ -59,6 +62,7 @@ class DepartmentResponse(BaseModel): class DepartmentSimpleResponse(BaseModel): """部门简单响应(不含用户数量)""" + id: int name: str description: str | None = None @@ -71,10 +75,7 @@ class DepartmentSimpleResponse(BaseModel): @department.get("", response_model=list[DepartmentResponse]) -async def get_departments( - current_user: User = Depends(get_superadmin_user), - db: AsyncSession = Depends(get_db) -): +async def get_departments(current_user: User = Depends(get_superadmin_user), db: AsyncSession = Depends(get_db)): """获取所有部门列表""" result = await db.execute(select(Department).order_by(Department.created_at.desc())) departments = result.scalars().all() @@ -83,10 +84,7 @@ async def get_departments( department_list = [] for dep in departments: user_count_result = await db.execute( - select(func.count(User.id)).filter( - User.department_id == dep.id, - User.is_deleted == 0 - ) + select(func.count(User.id)).filter(User.department_id == dep.id, User.is_deleted == 0) ) user_count = user_count_result.scalar() department_list.append({**dep.to_dict(), "user_count": user_count}) @@ -96,33 +94,22 @@ async def get_departments( @department.get("/{department_id}", response_model=DepartmentResponse) async def get_department( - department_id: int, - current_user: User = Depends(get_superadmin_user), - db: AsyncSession = Depends(get_db) + department_id: int, current_user: User = Depends(get_superadmin_user), db: AsyncSession = Depends(get_db) ): """获取指定部门详情""" result = await db.execute(select(Department).filter(Department.id == department_id)) department = result.scalar_one_or_none() if not department: - raise HTTPException( - status_code=status.HTTP_404_NOT_FOUND, - detail="部门不存在" - ) + raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="部门不存在") # 获取部门下用户数量 user_count_result = await db.execute( - select(func.count(User.id)).filter( - User.department_id == department_id, - User.is_deleted == 0 - ) + select(func.count(User.id)).filter(User.department_id == department_id, User.is_deleted == 0) ) user_count = user_count_result.scalar() - return { - **department.to_dict(), - "user_count": user_count - } + return {**department.to_dict(), "user_count": user_count} @department.post("", response_model=DepartmentResponse, status_code=status.HTTP_201_CREATED) @@ -130,17 +117,14 @@ async def create_department( department_data: DepartmentCreate, request: Request, current_user: User = Depends(get_superadmin_user), - db: AsyncSession = Depends(get_db) + db: AsyncSession = Depends(get_db), ): """创建新部门,同时创建该部门的管理员""" # 检查部门名称是否已存在 result = await db.execute(select(Department).filter(Department.name == department_data.name)) existing = result.scalar_one_or_none() if existing: - raise HTTPException( - status_code=status.HTTP_400_BAD_REQUEST, - detail="部门名称已存在" - ) + raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="部门名称已存在") # 验证管理员 user_id 格式 admin_user_id = department_data.admin_user_id @@ -178,10 +162,7 @@ async def create_department( detail="手机号已存在", ) - new_department = Department( - name=department_data.name, - description=department_data.description - ) + new_department = Department(name=department_data.name, description=department_data.description) db.add(new_department) await db.flush() # 获取部门ID @@ -206,10 +187,7 @@ async def create_department( db, current_user.id, "创建部门", f"创建部门: {department_data.name},并创建管理员: {admin_user_id}", request ) - return { - **new_department.to_dict(), - "user_count": 1 - } + return {**new_department.to_dict(), "user_count": 1} @department.put("/{department_id}", response_model=DepartmentResponse) @@ -218,27 +196,21 @@ async def update_department( department_data: DepartmentUpdate, request: Request, current_user: User = Depends(get_superadmin_user), - db: AsyncSession = Depends(get_db) + db: AsyncSession = Depends(get_db), ): """更新部门信息""" result = await db.execute(select(Department).filter(Department.id == department_id)) department = result.scalar_one_or_none() if not department: - raise HTTPException( - status_code=status.HTTP_404_NOT_FOUND, - detail="部门不存在" - ) + raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="部门不存在") # 如果要修改名称,检查新名称是否已存在 if department_data.name and department_data.name != department.name: result = await db.execute(select(Department).filter(Department.name == department_data.name)) existing = result.scalar_one_or_none() if existing: - raise HTTPException( - status_code=status.HTTP_400_BAD_REQUEST, - detail="部门名称已存在" - ) + raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="部门名称已存在") department.name = department_data.name if department_data.description is not None: @@ -252,17 +224,11 @@ async def update_department( # 获取部门下用户数量 user_count_result = await db.execute( - select(func.count(User.id)).filter( - User.department_id == department_id, - User.is_deleted == 0 - ) + select(func.count(User.id)).filter(User.department_id == department_id, User.is_deleted == 0) ) user_count = user_count_result.scalar() - return { - **department.to_dict(), - "user_count": user_count - } + return {**department.to_dict(), "user_count": user_count} @department.delete("/{department_id}", status_code=status.HTTP_200_OK) @@ -270,7 +236,7 @@ async def delete_department( department_id: int, request: Request, current_user: User = Depends(get_superadmin_user), - db: AsyncSession = Depends(get_db) + db: AsyncSession = Depends(get_db), ): """删除部门""" # 检查部门是否存在 @@ -278,24 +244,17 @@ async def delete_department( department = result.scalar_one_or_none() if not department: - raise HTTPException( - status_code=status.HTTP_404_NOT_FOUND, - detail="部门不存在" - ) + raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="部门不存在") # 检查部门下是否有用户 user_count_result = await db.execute( - select(func.count(User.id)).filter( - User.department_id == department_id, - User.is_deleted == 0 - ) + select(func.count(User.id)).filter(User.department_id == department_id, User.is_deleted == 0) ) user_count = user_count_result.scalar() if user_count > 0: raise HTTPException( - status_code=status.HTTP_400_BAD_REQUEST, - detail=f"无法删除部门,该部门下还有 {user_count} 个用户" + status_code=status.HTTP_400_BAD_REQUEST, detail=f"无法删除部门,该部门下还有 {user_count} 个用户" ) department_name = department.name diff --git a/server/routers/evaluation_router.py b/server/routers/evaluation_router.py index 2c12575b..1db786c6 100644 --- a/server/routers/evaluation_router.py +++ b/server/routers/evaluation_router.py @@ -14,6 +14,7 @@ evaluation = APIRouter(prefix="/evaluation", tags=["evaluation"]) # 评估基准 # ============================================================================ + @evaluation.get("/databases/{db_id}/benchmarks/{benchmark_id}") async def get_evaluation_benchmark_by_db( db_id: str, benchmark_id: str, page: int = 1, page_size: int = 10, current_user: User = Depends(get_admin_user) diff --git a/src/agents/reporter/graph.py b/src/agents/reporter/graph.py index d104b681..15cbcdd2 100644 --- a/src/agents/reporter/graph.py +++ b/src/agents/reporter/graph.py @@ -4,15 +4,13 @@ from typing import Annotated from langchain.agents import create_agent from src.agents.common import BaseAgent, BaseContext, load_chat_model -from src.agents.common.tools import gen_tool_info, get_buildin_tools from src.agents.common.toolkits.mysql import get_mysql_tools -from src.agents.common.tools import get_tools_from_context +from src.agents.common.tools import gen_tool_info, get_buildin_tools, get_tools_from_context from src.utils import logger @dataclass(kw_only=True) class ReporterContext(BaseContext): - # 覆盖默认的工具列表,添加 MySQL 工具包 tools: Annotated[list[dict], {"__template_metadata__": {"kind": "tools"}}] = field( default_factory=lambda: [t.name for t in get_mysql_tools()], diff --git a/src/knowledge/services/upload_graph_service.py b/src/knowledge/services/upload_graph_service.py index f3858470..da3556ae 100644 --- a/src/knowledge/services/upload_graph_service.py +++ b/src/knowledge/services/upload_graph_service.py @@ -114,6 +114,7 @@ class UploadGraphService: actual_file_path = temp_file.name try: + def read_triples(file_path): with open(file_path, encoding="utf-8") as file: for line in file: