🎉初次提交
This commit is contained in:
95
router/jwc/evaluate_model.py
Normal file
95
router/jwc/evaluate_model.py
Normal file
@@ -0,0 +1,95 @@
|
||||
from datetime import datetime
|
||||
from typing import List, Optional
|
||||
from pydantic import BaseModel, Field
|
||||
from enum import Enum
|
||||
from router.common_model import BaseResponse
|
||||
|
||||
|
||||
class TaskStatusEnum(str, Enum):
|
||||
"""任务状态枚举"""
|
||||
|
||||
IDLE = "idle"
|
||||
INITIALIZING = "initializing"
|
||||
RUNNING = "running"
|
||||
PAUSED = "paused"
|
||||
COMPLETED = "completed"
|
||||
FAILED = "failed"
|
||||
TERMINATED = "terminated"
|
||||
|
||||
|
||||
class CourseInfo(BaseModel):
|
||||
"""课程信息响应模型"""
|
||||
|
||||
course_id: str = Field("", description="课程ID")
|
||||
course_name: str = Field("", description="课程名称")
|
||||
teacher_name: str = Field("", description="教师姓名")
|
||||
is_evaluated: str = Field("", description="是否已评价")
|
||||
evaluation_content: str = Field("", description="评价内容")
|
||||
|
||||
|
||||
# 统一响应数据模型
|
||||
class EvaluationStatsData(BaseModel):
|
||||
"""评价统计信息数据模型"""
|
||||
|
||||
total_courses: int = Field(0, description="总课程数")
|
||||
pending_courses: int = Field(0, description="待评价课程数")
|
||||
success_count: int = Field(0, description="成功评价数")
|
||||
fail_count: int = Field(0, description="失败评价数")
|
||||
current_index: int = Field(0, description="当前评价索引")
|
||||
status: TaskStatusEnum = Field(TaskStatusEnum.IDLE, description="任务状态")
|
||||
current_countdown: int = Field(0, description="当前倒计时")
|
||||
start_time: Optional[datetime] = Field(None, description="开始时间")
|
||||
end_time: Optional[datetime] = Field(None, description="结束时间")
|
||||
error_message: str = Field("", description="错误消息")
|
||||
course_list: List[CourseInfo] = Field(default_factory=list, description="课程列表")
|
||||
|
||||
|
||||
class CurrentCourseInfoData(BaseModel):
|
||||
"""当前评价课程信息数据模型"""
|
||||
|
||||
is_evaluating: bool = Field(False, description="是否正在评价")
|
||||
course_name: str = Field("", description="课程名称")
|
||||
teacher_name: str = Field("", description="教师姓名")
|
||||
progress_text: str = Field("", description="进度文本")
|
||||
countdown_seconds: int = Field(0, description="倒计时秒数")
|
||||
current_index: int = Field(-1, description="当前索引")
|
||||
total_pending: int = Field(0, description="总待评价数")
|
||||
|
||||
|
||||
class TaskOperationData(BaseModel):
|
||||
"""任务操作数据模型"""
|
||||
|
||||
task_status: TaskStatusEnum = Field(TaskStatusEnum.IDLE, description="任务状态")
|
||||
|
||||
|
||||
class InitializeData(BaseModel):
|
||||
"""初始化数据模型"""
|
||||
|
||||
total_courses: int = Field(0, description="总课程数")
|
||||
pending_courses: int = Field(0, description="待评价课程数")
|
||||
course_list: List[CourseInfo] = Field(default_factory=list, description="课程列表")
|
||||
|
||||
|
||||
# 统一响应模型
|
||||
class EvaluationStatsResponse(BaseResponse[EvaluationStatsData]):
|
||||
"""评价统计信息响应模型"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class CurrentCourseInfoResponse(BaseResponse[CurrentCourseInfoData]):
|
||||
"""当前评价课程信息响应模型"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class TaskOperationResponse(BaseResponse[TaskOperationData]):
|
||||
"""任务操作响应模型"""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class InitializeResponse(BaseResponse[InitializeData]):
|
||||
"""初始化响应模型"""
|
||||
|
||||
pass
|
||||
Reference in New Issue
Block a user