diff --git a/schema/student_schema.py b/schema/stu_schema.py similarity index 98% rename from schema/student_schema.py rename to schema/stu_schema.py index c892209..0f419d3 100644 --- a/schema/student_schema.py +++ b/schema/stu_schema.py @@ -1,58 +1,58 @@ -from typing import Optional,List -from pydantic import BaseModel,Field -from datetime import date -from model.student_model import Sex -##================ =====请求体=============== -class StudentCreateRequest(BaseModel): - stu_id:str=Field(...,description="学生id") - class_id:Optional[str]=Field(None,description="学生班级id") - stu_name: str = Field(..., description="学生姓名") - native_place: Optional[str] = Field(None, description="籍贯") - graduate_school: Optional[str] = Field(None, description="毕业院校") - major: Optional[str] = Field(None, description="专业") - enroll_date: Optional[date] = Field(None, description="入学时间") - graduate_date: Optional[date] = Field(None, description="毕业时间") - education: Optional[str] = Field(None, description="学历") - advisor_no: Optional[str] = Field(None, description="顾问编号") - age: Optional[int] = Field(None, ge=0, description="年龄,不能负数") - gender: Optional[Sex] = Field(None, description="性别") -class StudentUpdateRequest(BaseModel): - stu_id:Optional[str]=None#学生id - class_id: Optional[str] = None # 学生班级 - stu_name: Optional[str] = None # 学生姓名 - native_place: Optional[str] = None # 籍贯 - graduate_school: Optional[str] = None # 毕业院校 - major: Optional[str] = None # 专业 - enroll_date: Optional[date] = None # 入学时间 - graduate_date: Optional[date] = None # 毕业时间 - education: Optional[str] = None # 学历 - advisor_no: Optional[str] = None # 顾问编号 - age: Optional[int] = Field(None, ge=0) # 年龄,不能负数 - gender: Optional[Sex] = Field(None, description="性别") # 性别''' -class StudentQuery(BaseModel): - stu_id: Optional[str] = None # 学生编号筛选 - stu_name: Optional[str] = None # 学生姓名筛选 - class_id: Optional[str] = None # 班级筛选 - page: int = Field(1, ge=1, description="页码,默认第1页") - page_size: int = Field(10, ge=1, le=100, description="每页条数,默认10条") -##=====================响应体=============== -class StudentResponse(BaseModel): - stu_id: str# 学生编号 - class_id: Optional[str]# 学生班级 - stu_name: str# 学生姓名 - native_place: Optional[str] # 籍贯 - graduate_school: Optional[str] # 毕业院校 - major: Optional[str]# 专业 - enroll_date: Optional[date] # 入学时间 - graduate_date: Optional[date] # 毕业时间 - education: Optional[str] # 学历 - advisor_no: Optional[str]# 顾问编号 - age: Optional[int]# 年龄 - gender: Optional[Sex] = Field(None, description="性别")# 性别 - is_deleted: bool# 逻辑删除标记 -# 分页列表响应体:查询学生列表时返回 -class StudentPageResponse(BaseModel): - total: int# 符合条件的总记录数 - page: int# 当前页码 - page_size: int# 每页数据条数 +from typing import Optional,List +from pydantic import BaseModel,Field +from datetime import date +from model.student_model import Sex +##================ =====请求体=============== +class StudentCreateRequest(BaseModel): + stu_id:str=Field(...,description="学生id") + class_id:Optional[str]=Field(None,description="学生班级id") + stu_name: str = Field(..., description="学生姓名") + native_place: Optional[str] = Field(None, description="籍贯") + graduate_school: Optional[str] = Field(None, description="毕业院校") + major: Optional[str] = Field(None, description="专业") + enroll_date: Optional[date] = Field(None, description="入学时间") + graduate_date: Optional[date] = Field(None, description="毕业时间") + education: Optional[str] = Field(None, description="学历") + advisor_no: Optional[str] = Field(None, description="顾问编号") + age: Optional[int] = Field(None, ge=0, description="年龄,不能负数") + gender: Optional[Sex] = Field(None, description="性别") +class StudentUpdateRequest(BaseModel): + stu_id:Optional[str]=None#学生id + class_id: Optional[str] = None # 学生班级 + stu_name: Optional[str] = None # 学生姓名 + native_place: Optional[str] = None # 籍贯 + graduate_school: Optional[str] = None # 毕业院校 + major: Optional[str] = None # 专业 + enroll_date: Optional[date] = None # 入学时间 + graduate_date: Optional[date] = None # 毕业时间 + education: Optional[str] = None # 学历 + advisor_no: Optional[str] = None # 顾问编号 + age: Optional[int] = Field(None, ge=0) # 年龄,不能负数 + gender: Optional[Sex] = Field(None, description="性别") # 性别''' +class StudentQuery(BaseModel): + stu_id: Optional[str] = None # 学生编号筛选 + stu_name: Optional[str] = None # 学生姓名筛选 + class_id: Optional[str] = None # 班级筛选 + page: int = Field(1, ge=1, description="页码,默认第1页") + page_size: int = Field(10, ge=1, le=100, description="每页条数,默认10条") +##=====================响应体=============== +class StudentResponse(BaseModel): + stu_id: str# 学生编号 + class_id: Optional[str]# 学生班级 + stu_name: str# 学生姓名 + native_place: Optional[str] # 籍贯 + graduate_school: Optional[str] # 毕业院校 + major: Optional[str]# 专业 + enroll_date: Optional[date] # 入学时间 + graduate_date: Optional[date] # 毕业时间 + education: Optional[str] # 学历 + advisor_no: Optional[str]# 顾问编号 + age: Optional[int]# 年龄 + gender: Optional[Sex] = Field(None, description="性别")# 性别 + is_deleted: bool# 逻辑删除标记 +# 分页列表响应体:查询学生列表时返回 +class StudentPageResponse(BaseModel): + total: int# 符合条件的总记录数 + page: int# 当前页码 + page_size: int# 每页数据条数 items: List[StudentResponse] # 当前页学生数据列表 \ No newline at end of file