完成课程活动Handler
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
// Code scaffolded by goctl. Safe to edit.
|
||||
// goctl 1.9.1
|
||||
|
||||
package course_activity
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/logic/course_activity"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types"
|
||||
"github.com/zeromicro/go-zero/rest/httpx"
|
||||
)
|
||||
|
||||
func CreateCourseActivityHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
var req types.CreateCourseActivityReq
|
||||
if err := httpx.Parse(r, &req); err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
return
|
||||
}
|
||||
|
||||
l := course_activity.NewCreateCourseActivityLogic(r.Context(), svcCtx)
|
||||
resp, err := l.CreateCourseActivity(&req)
|
||||
if err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
} else {
|
||||
httpx.OkJsonCtx(r.Context(), w, resp)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
// Code scaffolded by goctl. Safe to edit.
|
||||
// goctl 1.9.1
|
||||
|
||||
package course_activity
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/logic/course_activity"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types"
|
||||
"github.com/zeromicro/go-zero/rest/httpx"
|
||||
)
|
||||
|
||||
func DeleteCourseActivityHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
var req types.DeleteCourseActivityReq
|
||||
if err := httpx.Parse(r, &req); err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
return
|
||||
}
|
||||
|
||||
l := course_activity.NewDeleteCourseActivityLogic(r.Context(), svcCtx)
|
||||
resp, err := l.DeleteCourseActivity(&req)
|
||||
if err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
} else {
|
||||
httpx.OkJsonCtx(r.Context(), w, resp)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
// Code scaffolded by goctl. Safe to edit.
|
||||
// goctl 1.9.1
|
||||
|
||||
package course_activity
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/logic/course_activity"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types"
|
||||
"github.com/zeromicro/go-zero/rest/httpx"
|
||||
)
|
||||
|
||||
func GetCourseActivityHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
var req types.GetCourseActivityReq
|
||||
if err := httpx.Parse(r, &req); err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
return
|
||||
}
|
||||
|
||||
l := course_activity.NewGetCourseActivityLogic(r.Context(), svcCtx)
|
||||
resp, err := l.GetCourseActivity(&req)
|
||||
if err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
} else {
|
||||
httpx.OkJsonCtx(r.Context(), w, resp)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
// Code scaffolded by goctl. Safe to edit.
|
||||
// goctl 1.9.1
|
||||
|
||||
package course_activity
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/logic/course_activity"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types"
|
||||
"github.com/zeromicro/go-zero/rest/httpx"
|
||||
)
|
||||
|
||||
func ListCourseActivityHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
var req types.ListCourseActivityReq
|
||||
if err := httpx.Parse(r, &req); err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
return
|
||||
}
|
||||
|
||||
l := course_activity.NewListCourseActivityLogic(r.Context(), svcCtx)
|
||||
resp, err := l.ListCourseActivity(&req)
|
||||
if err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
} else {
|
||||
httpx.OkJsonCtx(r.Context(), w, resp)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
// Code scaffolded by goctl. Safe to edit.
|
||||
// goctl 1.9.1
|
||||
|
||||
package course_activity
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/logic/course_activity"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types"
|
||||
"github.com/zeromicro/go-zero/rest/httpx"
|
||||
)
|
||||
|
||||
func UpdateCourseActivityHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
var req types.UpdateCourseActivityReq
|
||||
if err := httpx.Parse(r, &req); err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
return
|
||||
}
|
||||
|
||||
l := course_activity.NewUpdateCourseActivityLogic(r.Context(), svcCtx)
|
||||
resp, err := l.UpdateCourseActivity(&req)
|
||||
if err != nil {
|
||||
httpx.ErrorCtx(r.Context(), w, err)
|
||||
} else {
|
||||
httpx.OkJsonCtx(r.Context(), w, resp)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
// Code scaffolded by goctl. Safe to edit.
|
||||
// goctl 1.9.1
|
||||
|
||||
package course_activity
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type CreateCourseActivityLogic struct {
|
||||
logx.Logger
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
}
|
||||
|
||||
func NewCreateCourseActivityLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateCourseActivityLogic {
|
||||
return &CreateCourseActivityLogic{
|
||||
Logger: logx.WithContext(ctx),
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
}
|
||||
}
|
||||
|
||||
func (l *CreateCourseActivityLogic) CreateCourseActivity(req *types.CreateCourseActivityReq) (resp *types.CreateCourseActivityResp, err error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
// Code scaffolded by goctl. Safe to edit.
|
||||
// goctl 1.9.1
|
||||
|
||||
package course_activity
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type DeleteCourseActivityLogic struct {
|
||||
logx.Logger
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
}
|
||||
|
||||
func NewDeleteCourseActivityLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteCourseActivityLogic {
|
||||
return &DeleteCourseActivityLogic{
|
||||
Logger: logx.WithContext(ctx),
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
}
|
||||
}
|
||||
|
||||
func (l *DeleteCourseActivityLogic) DeleteCourseActivity(req *types.DeleteCourseActivityReq) (resp *types.DeleteCourseActivityResp, err error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
// Code scaffolded by goctl. Safe to edit.
|
||||
// goctl 1.9.1
|
||||
|
||||
package course_activity
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type GetCourseActivityLogic struct {
|
||||
logx.Logger
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
}
|
||||
|
||||
func NewGetCourseActivityLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetCourseActivityLogic {
|
||||
return &GetCourseActivityLogic{
|
||||
Logger: logx.WithContext(ctx),
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
}
|
||||
}
|
||||
|
||||
func (l *GetCourseActivityLogic) GetCourseActivity(req *types.GetCourseActivityReq) (resp *types.GetCourseActivityResp, err error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
// Code scaffolded by goctl. Safe to edit.
|
||||
// goctl 1.9.1
|
||||
|
||||
package course_activity
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type ListCourseActivityLogic struct {
|
||||
logx.Logger
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
}
|
||||
|
||||
func NewListCourseActivityLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListCourseActivityLogic {
|
||||
return &ListCourseActivityLogic{
|
||||
Logger: logx.WithContext(ctx),
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
}
|
||||
}
|
||||
|
||||
func (l *ListCourseActivityLogic) ListCourseActivity(req *types.ListCourseActivityReq) (resp *types.ListCourseActivityResp, err error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
// Code scaffolded by goctl. Safe to edit.
|
||||
// goctl 1.9.1
|
||||
|
||||
package course_activity
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc"
|
||||
"github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type UpdateCourseActivityLogic struct {
|
||||
logx.Logger
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
}
|
||||
|
||||
func NewUpdateCourseActivityLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateCourseActivityLogic {
|
||||
return &UpdateCourseActivityLogic{
|
||||
Logger: logx.WithContext(ctx),
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
}
|
||||
}
|
||||
|
||||
func (l *UpdateCourseActivityLogic) UpdateCourseActivity(req *types.UpdateCourseActivityReq) (resp *types.UpdateCourseActivityResp, err error) {
|
||||
// todo: add your logic here and delete this line
|
||||
|
||||
return
|
||||
}
|
||||
71
server/internal/course_activity/internal/types/types.go
Normal file
71
server/internal/course_activity/internal/types/types.go
Normal file
@@ -0,0 +1,71 @@
|
||||
// Code generated by goctl. DO NOT EDIT.
|
||||
// goctl 1.9.1
|
||||
|
||||
package types
|
||||
|
||||
type CreateCourseActivityReq struct {
|
||||
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 struct {
|
||||
Id int `json:"id"` // 新增活动的ID
|
||||
Message string `json:"message"` // 操作结果信息
|
||||
}
|
||||
|
||||
type DeleteCourseActivityReq struct {
|
||||
Id int `json:"id" form:"id" param:"id" validate:"required"` // 活动ID(必填,从路径参数获取)
|
||||
}
|
||||
|
||||
type DeleteCourseActivityResp struct {
|
||||
Message string `json:"message"` // 操作结果信息
|
||||
}
|
||||
|
||||
type GetCourseActivityReq struct {
|
||||
Id int `json:"id" form:"id" param:"id" validate:"required"` // 活动ID(必填,从路径参数获取)
|
||||
}
|
||||
|
||||
type GetCourseActivityResp struct {
|
||||
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 struct {
|
||||
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 struct {
|
||||
Total int `json:"total"` // 总条数
|
||||
List []GetCourseActivityResp `json:"list"` // 活动列表(单条结构同查询单个响应)
|
||||
Page int `json:"page"` // 当前页码
|
||||
PageSize int `json:"page_size"` // 每页条数
|
||||
}
|
||||
|
||||
type UpdateCourseActivityReq struct {
|
||||
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 struct {
|
||||
Message string `json:"message"` // 操作结果信息
|
||||
}
|
||||
Reference in New Issue
Block a user