From e7e4e6c1552b3731951c3a5056224a488d93987e Mon Sep 17 00:00:00 2001 From: mayiming <1627832236@qq.com> Date: Sat, 1 Nov 2025 23:32:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AF=BE=E7=A8=8B=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/api/course_activity.api | 98 ++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/server/api/course_activity.api b/server/api/course_activity.api index e69de29b..02408b35 100644 --- a/server/api/course_activity.api +++ b/server/api/course_activity.api @@ -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) +} +