"""投顾待办路由(业务在 service/advisor/todos.py,路由只做编排)。""" from fastapi import APIRouter, Depends, Query from sqlalchemy.ext.asyncio import AsyncSession from api.deps import require_advisor from config.deps import get_db from model.sys_user import SysUser from schemas.advisor import TodoHandleReq from service.advisor import todos as todos_service from utils.response import success router = APIRouter() @router.get("/todos", summary="本人待办列表") async def list_todos( status: str | None = Query(None, max_length=16), todo_type: str | None = Query(None, max_length=32), page: int = Query(1, ge=1), page_size: int = Query(10, ge=1, le=100), user: SysUser = Depends(require_advisor), db: AsyncSession = Depends(get_db), ): return success( await todos_service.list_todos( db, user, status=status, todo_type=todo_type, page=page, page_size=page_size ) ) @router.post("/todos/{todo_id}/handle", summary="处理待办(process/done)") async def handle_todo( todo_id: int, req: TodoHandleReq, user: SysUser = Depends(require_advisor), db: AsyncSession = Depends(get_db), ): return success(await todos_service.handle_todo(db, user, todo_id, req))