93 lines
4.7 KiB
Plaintext
93 lines
4.7 KiB
Plaintext
// 教学团队表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)
|
||
}
|
||
|