"""Peer Learning Circles 路由。""" from fastapi import APIRouter, Depends, Query from sqlalchemy import select from sqlalchemy.ext.asyncio import AsyncSession from app.core.database import get_db from app.core.dependencies import get_current_user from app.models.peer_circle import PeerLearningCircle from app.models.user import User from app.schemas.common import ApiResponse, success from app.services.peer_matching import match_founders router = APIRouter(prefix="/peer-circles", tags=["peer-circles"]) @router.get("", response_model=ApiResponse[list]) async def list_circles(db: AsyncSession = Depends(get_db), user: User = Depends(get_current_user)): """获取 Peer Learning Circle 列表。""" result = await db.execute( select(PeerLearningCircle).where(PeerLearningCircle.tenant_id == user.tenant_id) ) items = result.scalars().all() return success(data=[ { "id": str(i.id), "topic": i.topic, "description": i.description, "members": i.members, "discussion_framework": i.discussion_framework, "conclusions": i.conclusions, "action_commitments": i.action_commitments, "status": i.status, } for i in items ]) @router.post("/match", response_model=ApiResponse[dict]) async def match_peer_circle(req: dict, user: User = Depends(get_current_user)): """AI 匹配创始人。""" result = await match_founders(req.get("founders_context", "")) return success(data=result)