Files
hldrCenter/server/api/course/course_teacher/course_teacher.api

93 lines
4.7 KiB
Plaintext
Raw Normal View History

2025-11-02 00:22:32 +08:00
// 教学团队表API定义适配course_teacher表
type (
// 创建教学团队关联请求无需id数据库自增生成
CreateCourseTeacherReq {
CourseId int `json:"course_id" form:"course_id" validate:"required"` // 关联课程ID必填外键
TeacherId int `json:"teacher_id" form:"teacher_id" validate:"required"` // 教师ID必填关联用户表
Name string `json:"name" form:"name" validate:"required,max=100"` // 教师姓名必填最长100字符
Title string `json:"title" form:"title" validate:"omitempty,max=200"` // 教师头衔可选最长200字符
Avatar string `json:"avatar" form:"avatar" validate:"omitempty,max=512"` // 头像URL可选最长512字符
Intro string `json:"intro" form:"intro"` // 教师简介(可选,文本)
Sort int `json:"sort" form:"sort" validate:"omitempty,min=0"` // 排序可选默认0
}
// 创建教学团队关联响应
CreateCourseTeacherResp {
Id int `json:"id"` // 新增关联ID
Message string `json:"message"` // 操作结果信息
}
// 查询单个教学团队关联请求按ID查询
GetCourseTeacherReq {
Id int `json:"id" form:"id" path:"id" validate:"required"` // 关联ID必填路径参数
}
// 查询单个教学团队关联响应(返回完整信息)
GetCourseTeacherResp {
Id int `json:"id"` // 关联ID主键
CourseId int `json:"course_id"` // 关联课程ID
TeacherId int `json:"teacher_id"` // 教师ID
Name string `json:"name"` // 教师姓名
Title string `json:"title"` // 教师头衔
Avatar string `json:"avatar"` // 头像URL
Intro string `json:"intro"` // 教师简介
Sort int `json:"sort"` // 排序
}
// 教学团队列表查询请求(支持筛选和分页)
ListCourseTeacherReq {
CourseId int `json:"course_id" form:"course_id" validate:"omitempty"` // 可选筛选按课程ID查询
TeacherId int `json:"teacher_id" form:"teacher_id" validate:"omitempty"` // 可选筛选按教师ID查询
Page int `json:"page" form:"page" validate:"required,min=1"` // 页码必填从1开始
PageSize int `json:"page_size" form:"page_size" validate:"required,min=1,max=100"` // 每页条数1-100
}
// 教学团队列表响应
ListCourseTeacherResp {
Total int `json:"total"` // 总条数
List []GetCourseTeacherResp `json:"list"` // 教学团队列表
Page int `json:"page"` // 当前页码
PageSize int `json:"page_size"` // 每页条数
}
// 更新教学团队关联请求
UpdateCourseTeacherReq {
Id int `json:"id" form:"id" validate:"required"` // 关联ID必填
CourseId int `json:"course_id" form:"course_id" validate:"omitempty"` // 可选更新课程ID
TeacherId int `json:"teacher_id" form:"teacher_id" validate:"omitempty"` // 可选更新教师ID
Name string `json:"name" form:"name" validate:"omitempty,max=100"` // 可选更新:教师姓名
Title string `json:"title" form:"title" validate:"omitempty,max=200"` // 可选更新:教师头衔
Avatar string `json:"avatar" form:"avatar" validate:"omitempty,max=512"` // 可选更新头像URL
Intro string `json:"intro" form:"intro"` // 可选更新:教师简介
Sort int `json:"sort" form:"sort" validate:"omitempty,min=0"` // 可选更新:排序
}
// 更新教学团队关联响应
UpdateCourseTeacherResp {
Message string `json:"message"` // 操作结果信息
}
// 删除教学团队关联请求
DeleteCourseTeacherReq {
Id int `json:"id" form:"id" path:"id" validate:"required"` // 关联ID必填路径参数
}
// 删除教学团队关联响应
DeleteCourseTeacherResp {
Message string `json:"message"` // 操作结果信息
}
)
@server (
group: course_teacher // 接口分组:教学团队
prefix: /api/course-teacher // 接口前缀(与模块语义一致)
)
service course_teacher_api { // 服务名称教学团队API
@handler CreateCourseTeacherHandler // 创建教学团队关联
post / (CreateCourseTeacherReq) returns (CreateCourseTeacherResp)
@handler GetCourseTeacherHandler // 查询单个教学团队关联
get /:id (GetCourseTeacherReq) returns (GetCourseTeacherResp)
@handler ListCourseTeacherHandler // 教学团队列表查询(分页/筛选)
post /list (ListCourseTeacherReq) returns (ListCourseTeacherResp)
@handler UpdateCourseTeacherHandler // 更新教学团队关联
put / (UpdateCourseTeacherReq) returns (UpdateCourseTeacherResp)
@handler DeleteCourseTeacherHandler // 删除教学团队关联
delete /:id (DeleteCourseTeacherReq) returns (DeleteCourseTeacherResp)
}