修改api结构

This commit is contained in:
2025-11-01 23:38:51 +08:00
parent c2db98cd76
commit 6351539237
21 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,98 @@
// 创建课程活动请求无需id由数据库自增生成
type CreateCourseActivityReq {
CourseId int `json:"course_id" form:"course_id" validate:"required"` // 关联课程ID必填外键
Title string `json:"title" form:"title" validate:"required,max=255"` // 活动标题必填最长255字符
ActivityType int `json:"activity_type" form:"activity_type" validate:"omitempty,min=1,max=4"` // 活动类型可选1-作业/2-考试/3-讨论/4-直播默认1
Content string `json:"content" form:"content"` // 活动详情(可选,文本)
StartTime string `json:"start_time" form:"start_time" validate:"omitempty,datetime=2006-01-02 15:04:05"` // 开始时间可选格式yyyy-MM-dd HH:mm:ss
EndTime string `json:"end_time" form:"end_time" validate:"omitempty,datetime=2006-01-02 15:04:05"` // 结束时间(可选,格式同上)
Sort int `json:"sort" form:"sort" validate:"omitempty,min=0"` // 排序可选默认0
}
// 创建课程活动响应
type CreateCourseActivityResp {
Id int `json:"id"` // 新增活动的ID
Message string `json:"message"` // 操作结果信息
}
// 查询单个课程活动请求按ID查询
type GetCourseActivityReq {
Id int `json:"id" form:"id" param:"id" validate:"required"` // 活动ID必填从路径参数获取
}
// 查询单个课程活动响应(返回完整活动信息)
type GetCourseActivityResp {
Id int `json:"id"` // 活动ID
CourseId int `json:"course_id"` // 关联课程ID
Title string `json:"title"` // 活动标题
ActivityType int `json:"activity_type"` // 活动类型1-作业/2-考试/3-讨论/4-直播)
Content string `json:"content"` // 活动详情
StartTime string `json:"start_time"` // 开始时间(格式化字符串)
EndTime string `json:"end_time"` // 结束时间(格式化字符串)
Sort int `json:"sort"` // 排序
}
// 课程活动列表查询请求(支持筛选和分页)
type ListCourseActivityReq {
CourseId int `json:"course_id" form:"course_id" validate:"omitempty"` // 可选筛选按课程ID查询
ActivityType int `json:"activity_type" form:"activity_type" validate:"omitempty,min=1,max=4"` // 可选筛选:按活动类型查询
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
}
// 课程活动列表响应
type ListCourseActivityResp {
Total int `json:"total"` // 总条数
List []GetCourseActivityResp `json:"list"` // 活动列表(单条结构同查询单个响应)
Page int `json:"page"` // 当前页码
PageSize int `json:"page_size"` // 每页条数
}
// 更新课程活动请求
type UpdateCourseActivityReq {
Id int `json:"id" form:"id" validate:"required"` // 活动ID必填
CourseId int `json:"course_id" form:"course_id" validate:"omitempty"` // 可选更新关联课程ID
Title string `json:"title" form:"title" validate:"omitempty,max=255"` // 可选更新:活动标题
ActivityType int `json:"activity_type" form:"activity_type" validate:"omitempty,min=1,max=4"` // 可选更新:活动类型
Content string `json:"content" form:"content"` // 可选更新:活动详情
StartTime string `json:"start_time" form:"start_time" validate:"omitempty,datetime=2006-01-02 15:04:05"` // 可选更新:开始时间
EndTime string `json:"end_time" form:"end_time" validate:"omitempty,datetime=2006-01-02 15:04:05"` // 可选更新:结束时间
Sort int `json:"sort" form:"sort" validate:"omitempty,min=0"` // 可选更新:排序
}
// 更新课程活动响应
type UpdateCourseActivityResp {
Message string `json:"message"` // 操作结果信息
}
// 删除课程活动请求
type DeleteCourseActivityReq {
Id int `json:"id" form:"id" param:"id" validate:"required"` // 活动ID必填从路径参数获取
}
// 删除课程活动响应
type DeleteCourseActivityResp {
Message string `json:"message"` // 操作结果信息
}
@server (
group: course_activity // 接口分组:课程活动
prefix: /api/course-activity
)
service course_activity_api { // 服务名称课程活动API
@handler CreateCourseActivityHandler // 创建课程活动
post /course-activity (CreateCourseActivityReq) returns (CreateCourseActivityResp)
@handler GetCourseActivityHandler // 查询单个课程活动
get /course-activity/:id (GetCourseActivityReq) returns (GetCourseActivityResp)
@handler ListCourseActivityHandler // 课程活动列表查询(支持分页/筛选)
post /course-activity/list (ListCourseActivityReq) returns (ListCourseActivityResp)
@handler UpdateCourseActivityHandler // 更新课程活动
put /course-activity (UpdateCourseActivityReq) returns (UpdateCourseActivityResp)
@handler DeleteCourseActivityHandler // 删除课程活动
delete /course-activity/:id (DeleteCourseActivityReq) returns (DeleteCourseActivityResp)
}