完成会议api
This commit is contained in:
104
server/api/meeting.api
Normal file
104
server/api/meeting.api
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
// 公共结构体:会议详情(用于查询响应,包含表中所有字段)
|
||||||
|
type MeetingDetail {
|
||||||
|
Id int64 `json:"id"` // 会议ID(主键)
|
||||||
|
Theme string `json:"theme"` // 会议主题
|
||||||
|
Subtitle string `json:"subtitle"` // 会议副标题
|
||||||
|
Intro string `json:"intro"` // 会议简介(Markdown)
|
||||||
|
CoverUrl string `json:"cover_url"` // 封面图URL
|
||||||
|
ScheduleImageUrl string `json:"schedule_image_url"` // 日程图URL
|
||||||
|
StartTime string `json:"start_time"` // 开始时间(格式:YYYY-MM-DD HH:MM:SS)
|
||||||
|
EndTime string `json:"end_time"` // 结束时间(格式:YYYY-MM-DD HH:MM:SS)
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间(数据库自动生成)
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间(数据库自动生成)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1. 创建会议(增)
|
||||||
|
type CreateMeetingReq {
|
||||||
|
Theme string `json:"theme" validate:"required"` // 会议主题(必填)
|
||||||
|
Subtitle string `json:"subtitle,omitempty"` // 副标题(可选)
|
||||||
|
Intro string `json:"intro,omitempty"` // 简介(可选)
|
||||||
|
CoverUrl string `json:"cover_url,omitempty"` // 封面图URL(可选)
|
||||||
|
ScheduleImageUrl string `json:"schedule_image_url,omitempty"` // 日程图URL(可选)
|
||||||
|
StartTime string `json:"start_time" validate:"required"` // 开始时间(必填,格式同上)
|
||||||
|
EndTime string `json:"end_time" validate:"required"` // 结束时间(必填)
|
||||||
|
}
|
||||||
|
|
||||||
|
type CreateMeetingResp {
|
||||||
|
Msg string `json:"message"` // 操作提示(如:"创建成功")
|
||||||
|
MeetingId int64 `json:"meeting_id"` // 新增会议的ID(创建成功返回)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. 查询单条会议(查-详情)
|
||||||
|
type GetMeetingReq {
|
||||||
|
Id int64 `json:"id" path:"id" validate:"required"` // 会议ID(从路径参数获取,必填)
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetMeetingResp {
|
||||||
|
Msg string `json:"message"` // 操作提示
|
||||||
|
Meeting *MeetingDetail `json:"meeting"` // 会议详情(查询成功返回)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. 查询会议列表(查-分页)
|
||||||
|
type ListMeetingReq {
|
||||||
|
Page int `json:"page" query:"page" validate:"min=1"` // 页码(默认1)
|
||||||
|
PageSize int `json:"page_size" query:"page_size" validate:"min=1,max=100"` // 每页条数(默认10,最大100)
|
||||||
|
}
|
||||||
|
|
||||||
|
type ListMeetingResp {
|
||||||
|
Msg string `json:"message"` // 操作提示
|
||||||
|
Total int64 `json:"total"` // 总条数
|
||||||
|
Meetings []*MeetingDetail `json:"meetings"` // 会议列表(当前页数据)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. 更新会议(改)
|
||||||
|
type UpdateMeetingReq {
|
||||||
|
Id int64 `json:"id" validate:"required"` // 会议ID(必填,用于定位要更新的记录)
|
||||||
|
Theme string `json:"theme,omitempty"` // 会议主题(可选,不填则不更新)
|
||||||
|
Subtitle string `json:"subtitle,omitempty"` // 副标题(可选)
|
||||||
|
Intro string `json:"intro,omitempty"` // 简介(可选)
|
||||||
|
CoverUrl string `json:"cover_url,omitempty"` // 封面图URL(可选)
|
||||||
|
ScheduleImageUrl string `json:"schedule_image_url,omitempty"` // 日程图URL(可选)
|
||||||
|
StartTime string `json:"start_time,omitempty"` // 开始时间(可选)
|
||||||
|
EndTime string `json:"end_time,omitempty"` // 结束时间(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateMeetingResp {
|
||||||
|
Msg string `json:"message"` // 操作提示(如:"更新成功")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 5. 删除会议(删)
|
||||||
|
type DeleteMeetingReq {
|
||||||
|
Id int64 `json:"id" path:"id" validate:"required"` // 会议ID(从路径参数获取,必填)
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteMeetingResp {
|
||||||
|
Msg string `json:"message"` // 操作提示(如:"删除成功")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 接口服务定义
|
||||||
|
@server (
|
||||||
|
group: meeting // 接口分组:会议相关
|
||||||
|
prefix: /api/meeting
|
||||||
|
)
|
||||||
|
service meeting-api {
|
||||||
|
// 1. 创建会议(POST请求,提交会议信息)
|
||||||
|
@handler CreateMeetingHandler
|
||||||
|
post /api/meetings (CreateMeetingReq) returns (CreateMeetingResp)
|
||||||
|
|
||||||
|
// 2. 查询单条会议(GET请求,路径带ID)
|
||||||
|
@handler GetMeetingHandler
|
||||||
|
get /api/meetings/:id (GetMeetingReq) returns (GetMeetingResp)
|
||||||
|
|
||||||
|
// 3. 查询会议列表(GET请求,带分页参数)
|
||||||
|
@handler ListMeetingHandler
|
||||||
|
get /api/meetings (ListMeetingReq) returns (ListMeetingResp)
|
||||||
|
|
||||||
|
// 4. 更新会议(PUT请求,全量/部分更新)
|
||||||
|
@handler UpdateMeetingHandler
|
||||||
|
put /api/meetings (UpdateMeetingReq) returns (UpdateMeetingResp)
|
||||||
|
|
||||||
|
// 5. 删除会议(DELETE请求,路径带ID)
|
||||||
|
@handler DeleteMeetingHandler
|
||||||
|
delete /api/meetings/:id (DeleteMeetingReq) returns (DeleteMeetingResp)
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user