feat: 初始化考培练系统项目
- 从服务器拉取完整代码 - 按框架规范整理项目结构 - 配置 Drone CI 测试环境部署 - 包含后端(FastAPI)、前端(Vue3)、管理端 技术栈: Vue3 + TypeScript + FastAPI + MySQL
This commit is contained in:
50
backend/app/schemas/ability.py
Normal file
50
backend/app/schemas/ability.py
Normal file
@@ -0,0 +1,50 @@
|
||||
"""
|
||||
能力评估相关的Pydantic Schema
|
||||
"""
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import List, Optional
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class AbilityDimension(BaseModel):
|
||||
"""能力维度评分"""
|
||||
name: str = Field(..., description="能力维度名称")
|
||||
score: int = Field(..., ge=0, le=100, description="评分(0-100)")
|
||||
feedback: str = Field(..., description="反馈建议")
|
||||
|
||||
|
||||
class CourseRecommendation(BaseModel):
|
||||
"""课程推荐"""
|
||||
course_id: int = Field(..., description="课程ID")
|
||||
course_name: str = Field(..., description="课程名称")
|
||||
recommendation_reason: str = Field(..., description="推荐理由")
|
||||
priority: str = Field(..., description="优先级: high/medium/low")
|
||||
match_score: int = Field(..., ge=0, le=100, description="匹配度(0-100)")
|
||||
|
||||
|
||||
class AbilityAssessmentResponse(BaseModel):
|
||||
"""能力评估响应"""
|
||||
assessment_id: int = Field(..., description="评估记录ID")
|
||||
total_score: int = Field(..., ge=0, le=100, description="综合评分")
|
||||
dimensions: List[AbilityDimension] = Field(..., description="能力维度列表")
|
||||
recommended_courses: List[CourseRecommendation] = Field(..., description="推荐课程列表")
|
||||
conversation_count: int = Field(..., description="分析的对话数量")
|
||||
analyzed_at: Optional[datetime] = Field(None, description="分析时间")
|
||||
|
||||
|
||||
class AbilityAssessmentHistory(BaseModel):
|
||||
"""能力评估历史记录"""
|
||||
id: int
|
||||
user_id: int
|
||||
source_type: str
|
||||
source_id: Optional[str]
|
||||
total_score: Optional[int]
|
||||
ability_dimensions: List[AbilityDimension]
|
||||
recommended_courses: Optional[List[CourseRecommendation]]
|
||||
conversation_count: Optional[int]
|
||||
analyzed_at: datetime
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
Reference in New Issue
Block a user