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

93 lines
4.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 教学团队表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)
}