添加课程资源和课程教室的Handler

This commit is contained in:
2025-11-02 00:22:09 +08:00
parent 64a19fccef
commit af533b16f1
32 changed files with 997 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package main
import (
"flag"
"fmt"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/handler"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/svc"
"github.com/zeromicro/go-zero/core/conf"
"github.com/zeromicro/go-zero/rest"
)
var configFile = flag.String("f", "etc/courseresourceapi.yaml", "the config file")
func main() {
flag.Parse()
var c config.Config
conf.MustLoad(*configFile, &c)
server := rest.MustNewServer(c.RestConf)
defer server.Stop()
ctx := svc.NewServiceContext(c)
handler.RegisterHandlers(server, ctx)
fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port)
server.Start()
}

View File

@@ -0,0 +1,3 @@
Name: course_resource_api
Host: 0.0.0.0
Port: 8888

View File

@@ -0,0 +1,10 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package config
import "github.com/zeromicro/go-zero/rest"
type Config struct {
rest.RestConf
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_resource
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/logic/course_resource"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func CreateCourseResourceHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.CreateCourseResourceReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := course_resource.NewCreateCourseResourceLogic(r.Context(), svcCtx)
resp, err := l.CreateCourseResource(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_resource
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/logic/course_resource"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func DeleteCourseResourceHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.DeleteCourseResourceReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := course_resource.NewDeleteCourseResourceLogic(r.Context(), svcCtx)
resp, err := l.DeleteCourseResource(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_resource
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/logic/course_resource"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func GetCourseResourceHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.GetCourseResourceReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := course_resource.NewGetCourseResourceLogic(r.Context(), svcCtx)
resp, err := l.GetCourseResource(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_resource
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/logic/course_resource"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func ListCourseResourceHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.ListCourseResourceReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := course_resource.NewListCourseResourceLogic(r.Context(), svcCtx)
resp, err := l.ListCourseResource(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_resource
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/logic/course_resource"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func UpdateCourseResourceHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.UpdateCourseResourceReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := course_resource.NewUpdateCourseResourceLogic(r.Context(), svcCtx)
resp, err := l.UpdateCourseResource(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,46 @@
// Code generated by goctl. DO NOT EDIT.
// goctl 1.9.1
package handler
import (
"net/http"
course_resource "github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/handler/course_resource"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/svc"
"github.com/zeromicro/go-zero/rest"
)
func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
server.AddRoutes(
[]rest.Route{
{
Method: http.MethodPost,
Path: "/",
Handler: course_resource.CreateCourseResourceHandler(serverCtx),
},
{
Method: http.MethodPut,
Path: "/",
Handler: course_resource.UpdateCourseResourceHandler(serverCtx),
},
{
Method: http.MethodGet,
Path: "/:id",
Handler: course_resource.GetCourseResourceHandler(serverCtx),
},
{
Method: http.MethodDelete,
Path: "/:id",
Handler: course_resource.DeleteCourseResourceHandler(serverCtx),
},
{
Method: http.MethodPost,
Path: "/list",
Handler: course_resource.ListCourseResourceHandler(serverCtx),
},
},
rest.WithPrefix("/api/course-resource"),
)
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_resource
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateCourseResourceLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewCreateCourseResourceLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateCourseResourceLogic {
return &CreateCourseResourceLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *CreateCourseResourceLogic) CreateCourseResource(req *types.CreateCourseResourceReq) (resp *types.CreateCourseResourceResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_resource
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteCourseResourceLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewDeleteCourseResourceLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteCourseResourceLogic {
return &DeleteCourseResourceLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *DeleteCourseResourceLogic) DeleteCourseResource(req *types.DeleteCourseResourceReq) (resp *types.DeleteCourseResourceResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_resource
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type GetCourseResourceLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewGetCourseResourceLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetCourseResourceLogic {
return &GetCourseResourceLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *GetCourseResourceLogic) GetCourseResource(req *types.GetCourseResourceReq) (resp *types.GetCourseResourceResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_resource
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type ListCourseResourceLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewListCourseResourceLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListCourseResourceLogic {
return &ListCourseResourceLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ListCourseResourceLogic) ListCourseResource(req *types.ListCourseResourceReq) (resp *types.ListCourseResourceResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_resource
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type UpdateCourseResourceLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewUpdateCourseResourceLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateCourseResourceLogic {
return &UpdateCourseResourceLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *UpdateCourseResourceLogic) UpdateCourseResource(req *types.UpdateCourseResourceReq) (resp *types.UpdateCourseResourceResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,18 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package svc
import (
"github.com/JACKYMYPERSON/hldrCenter/internal/course_resource/internal/config"
)
type ServiceContext struct {
Config config.Config
}
func NewServiceContext(c config.Config) *ServiceContext {
return &ServiceContext{
Config: c,
}
}

View File

@@ -0,0 +1,64 @@
// Code generated by goctl. DO NOT EDIT.
// goctl 1.9.1
package types
type CreateCourseResourceReq struct {
CourseId int `json:"course_id" form:"course_id" validate:"required"`
Title string `json:"title" form:"title" validate:"required,max=255"`
ResourceUrl string `json:"resource_url" form:"resource_url" validate:"required,max=512"`
Size int `json:"size" form:"size" validate:"omitempty,min=0"`
Sort int `json:"sort" form:"sort" validate:"omitempty,min=0"`
}
type CreateCourseResourceResp struct {
Id int `json:"id"`
Message string `json:"message"`
}
type DeleteCourseResourceReq struct {
Id int `path:"id" validate:"required"`
}
type DeleteCourseResourceResp struct {
Message string `json:"message"`
}
type GetCourseResourceReq struct {
Id int `path:"id" validate:"required"`
}
type GetCourseResourceResp struct {
Id int `json:"id"`
CourseId int `json:"course_id"`
Title string `json:"title"`
ResourceUrl string `json:"resource_url"`
Size int `json:"size"`
Sort int `json:"sort"`
}
type ListCourseResourceReq struct {
CourseId int `form:"course_id" validate:"omitempty"`
Page int `form:"page" validate:"required,min=1"`
PageSize int `form:"page_size" validate:"required,min=1,max=100"`
}
type ListCourseResourceResp struct {
Total int `json:"total"`
List []GetCourseResourceResp `json:"list"`
Page int `json:"page"`
PageSize int `json:"page_size"`
}
type UpdateCourseResourceReq struct {
Id int `json:"id" validate:"required"`
CourseId int `json:"course_id" validate:"omitempty"`
Title string `json:"title" validate:"omitempty,max=255"`
ResourceUrl string `json:"resource_url" validate:"omitempty,max=512"`
Size int `json:"size" validate:"omitempty,min=0"`
Sort int `json:"sort" validate:"omitempty,min=0"`
}
type UpdateCourseResourceResp struct {
Message string `json:"message"`
}

View File

@@ -0,0 +1,34 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package main
import (
"flag"
"fmt"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/handler"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/svc"
"github.com/zeromicro/go-zero/core/conf"
"github.com/zeromicro/go-zero/rest"
)
var configFile = flag.String("f", "etc/courseteacherapi.yaml", "the config file")
func main() {
flag.Parse()
var c config.Config
conf.MustLoad(*configFile, &c)
server := rest.MustNewServer(c.RestConf)
defer server.Stop()
ctx := svc.NewServiceContext(c)
handler.RegisterHandlers(server, ctx)
fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port)
server.Start()
}

View File

@@ -0,0 +1,3 @@
Name: course_teacher_api
Host: 0.0.0.0
Port: 8888

View File

@@ -0,0 +1,10 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package config
import "github.com/zeromicro/go-zero/rest"
type Config struct {
rest.RestConf
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_teacher
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/logic/course_teacher"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func CreateCourseTeacherHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.CreateCourseTeacherReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := course_teacher.NewCreateCourseTeacherLogic(r.Context(), svcCtx)
resp, err := l.CreateCourseTeacher(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_teacher
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/logic/course_teacher"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func DeleteCourseTeacherHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.DeleteCourseTeacherReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := course_teacher.NewDeleteCourseTeacherLogic(r.Context(), svcCtx)
resp, err := l.DeleteCourseTeacher(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_teacher
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/logic/course_teacher"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func GetCourseTeacherHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.GetCourseTeacherReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := course_teacher.NewGetCourseTeacherLogic(r.Context(), svcCtx)
resp, err := l.GetCourseTeacher(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_teacher
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/logic/course_teacher"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func ListCourseTeacherHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.ListCourseTeacherReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := course_teacher.NewListCourseTeacherLogic(r.Context(), svcCtx)
resp, err := l.ListCourseTeacher(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,31 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_teacher
import (
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/logic/course_teacher"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/types"
"github.com/zeromicro/go-zero/rest/httpx"
)
func UpdateCourseTeacherHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.UpdateCourseTeacherReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := course_teacher.NewUpdateCourseTeacherLogic(r.Context(), svcCtx)
resp, err := l.UpdateCourseTeacher(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@@ -0,0 +1,46 @@
// Code generated by goctl. DO NOT EDIT.
// goctl 1.9.1
package handler
import (
"net/http"
course_teacher "github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/handler/course_teacher"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/svc"
"github.com/zeromicro/go-zero/rest"
)
func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
server.AddRoutes(
[]rest.Route{
{
Method: http.MethodPost,
Path: "/",
Handler: course_teacher.CreateCourseTeacherHandler(serverCtx),
},
{
Method: http.MethodPut,
Path: "/",
Handler: course_teacher.UpdateCourseTeacherHandler(serverCtx),
},
{
Method: http.MethodGet,
Path: "/:id",
Handler: course_teacher.GetCourseTeacherHandler(serverCtx),
},
{
Method: http.MethodDelete,
Path: "/:id",
Handler: course_teacher.DeleteCourseTeacherHandler(serverCtx),
},
{
Method: http.MethodPost,
Path: "/list",
Handler: course_teacher.ListCourseTeacherHandler(serverCtx),
},
},
rest.WithPrefix("/api/course-teacher"),
)
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_teacher
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type CreateCourseTeacherLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewCreateCourseTeacherLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateCourseTeacherLogic {
return &CreateCourseTeacherLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *CreateCourseTeacherLogic) CreateCourseTeacher(req *types.CreateCourseTeacherReq) (resp *types.CreateCourseTeacherResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_teacher
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type DeleteCourseTeacherLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewDeleteCourseTeacherLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteCourseTeacherLogic {
return &DeleteCourseTeacherLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *DeleteCourseTeacherLogic) DeleteCourseTeacher(req *types.DeleteCourseTeacherReq) (resp *types.DeleteCourseTeacherResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_teacher
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type GetCourseTeacherLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewGetCourseTeacherLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetCourseTeacherLogic {
return &GetCourseTeacherLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *GetCourseTeacherLogic) GetCourseTeacher(req *types.GetCourseTeacherReq) (resp *types.GetCourseTeacherResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_teacher
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type ListCourseTeacherLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewListCourseTeacherLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListCourseTeacherLogic {
return &ListCourseTeacherLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ListCourseTeacherLogic) ListCourseTeacher(req *types.ListCourseTeacherReq) (resp *types.ListCourseTeacherResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,33 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package course_teacher
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type UpdateCourseTeacherLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewUpdateCourseTeacherLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateCourseTeacherLogic {
return &UpdateCourseTeacherLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *UpdateCourseTeacherLogic) UpdateCourseTeacher(req *types.UpdateCourseTeacherReq) (resp *types.UpdateCourseTeacherResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@@ -0,0 +1,18 @@
// Code scaffolded by goctl. Safe to edit.
// goctl 1.9.1
package svc
import (
"github.com/JACKYMYPERSON/hldrCenter/internal/course_teacher/internal/config"
)
type ServiceContext struct {
Config config.Config
}
func NewServiceContext(c config.Config) *ServiceContext {
return &ServiceContext{
Config: c,
}
}

View File

@@ -0,0 +1,71 @@
// Code generated by goctl. DO NOT EDIT.
// goctl 1.9.1
package types
type CreateCourseTeacherReq struct {
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
}
type CreateCourseTeacherResp struct {
Id int `json:"id"` // 新增关联ID
Message string `json:"message"` // 操作结果信息
}
type DeleteCourseTeacherReq struct {
Id int `json:"id" form:"id" path:"id" validate:"required"` // 关联ID必填路径参数
}
type DeleteCourseTeacherResp struct {
Message string `json:"message"` // 操作结果信息
}
type GetCourseTeacherReq struct {
Id int `json:"id" form:"id" path:"id" validate:"required"` // 关联ID必填路径参数
}
type GetCourseTeacherResp struct {
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"` // 排序
}
type ListCourseTeacherReq struct {
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
}
type ListCourseTeacherResp struct {
Total int `json:"total"` // 总条数
List []GetCourseTeacherResp `json:"list"` // 教学团队列表
Page int `json:"page"` // 当前页码
PageSize int `json:"page_size"` // 每页条数
}
type UpdateCourseTeacherReq struct {
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"` // 可选更新:排序
}
type UpdateCourseTeacherResp struct {
Message string `json:"message"` // 操作结果信息
}