完成课程文件handler

This commit is contained in:
2025-11-01 23:01:31 +08:00
parent 7ef870fe24
commit 847763738a
23 changed files with 241 additions and 175 deletions

View File

@@ -4,15 +4,18 @@
package course_content
import (
"fmt"
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/logic/course_content"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/model"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/types"
"github.com/zeromicro/go-zero/core/stores/sqlx"
"github.com/zeromicro/go-zero/rest/httpx"
)
func AddContentHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
func AddContentHandler(cfg *config.Config) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.AddContentReq
if err := httpx.Parse(r, &req); err != nil {
@@ -20,7 +23,22 @@ func AddContentHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return
}
l := course_content.NewAddContentLogic(r.Context(), svcCtx)
mysqlCfg := cfg.MySQL
dsn := fmt.Sprintf(
"%s:%s@tcp(%s:%d)/%s?charset=%s&parseTime=true&loc=Local",
mysqlCfg.Username,
mysqlCfg.Password,
mysqlCfg.Host,
mysqlCfg.Port,
mysqlCfg.Database,
mysqlCfg.Charset,
)
fmt.Println("接收到articlePost请求")
conn := sqlx.NewSqlConn("mysql", dsn)
ContentModel := model.NewCourseContentModel(conn)
l := course_content.NewAddContentLogic(r.Context(), cfg, ContentModel)
resp, err := l.AddContent(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)

View File

@@ -4,23 +4,40 @@
package course_content
import (
"fmt"
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/logic/course_content"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/model"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/types"
"github.com/zeromicro/go-zero/core/stores/sqlx"
"github.com/zeromicro/go-zero/rest/httpx"
)
func DeleteContentHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
func DeleteContentHandler(cfg *config.Config) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.DeleteContentReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
mysqlCfg := cfg.MySQL
dsn := fmt.Sprintf(
"%s:%s@tcp(%s:%d)/%s?charset=%s&parseTime=true&loc=Local",
mysqlCfg.Username,
mysqlCfg.Password,
mysqlCfg.Host,
mysqlCfg.Port,
mysqlCfg.Database,
mysqlCfg.Charset,
)
fmt.Println("接收到articlePost请求")
l := course_content.NewDeleteContentLogic(r.Context(), svcCtx)
conn := sqlx.NewSqlConn("mysql", dsn)
ContentModel := model.NewCourseContentModel(conn)
l := course_content.NewDeleteContentLogic(r.Context(), cfg, ContentModel)
resp, err := l.DeleteContent(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)

View File

@@ -4,15 +4,18 @@
package course_content
import (
"fmt"
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/logic/course_content"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/model"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/types"
"github.com/zeromicro/go-zero/core/stores/sqlx"
"github.com/zeromicro/go-zero/rest/httpx"
)
func GetContentHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
func GetContentHandler(cfg *config.Config) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.GetContentReq
if err := httpx.Parse(r, &req); err != nil {
@@ -20,7 +23,22 @@ func GetContentHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return
}
l := course_content.NewGetContentLogic(r.Context(), svcCtx)
mysqlCfg := cfg.MySQL
dsn := fmt.Sprintf(
"%s:%s@tcp(%s:%d)/%s?charset=%s&parseTime=true&loc=Local",
mysqlCfg.Username,
mysqlCfg.Password,
mysqlCfg.Host,
mysqlCfg.Port,
mysqlCfg.Database,
mysqlCfg.Charset,
)
fmt.Println("接收到articlePost请求")
conn := sqlx.NewSqlConn("mysql", dsn)
ContentModel := model.NewCourseContentModel(conn)
l := course_content.NewGetContentLogic(r.Context(), cfg, ContentModel)
resp, err := l.GetContent(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)

View File

@@ -4,23 +4,40 @@
package course_content
import (
"fmt"
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/logic/course_content"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/model"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/types"
"github.com/zeromicro/go-zero/core/stores/sqlx"
"github.com/zeromicro/go-zero/rest/httpx"
)
func GetContentListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
func GetContentListHandler(cfg *config.Config) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.GetContentListReq
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
mysqlCfg := cfg.MySQL
dsn := fmt.Sprintf(
"%s:%s@tcp(%s:%d)/%s?charset=%s&parseTime=true&loc=Local",
mysqlCfg.Username,
mysqlCfg.Password,
mysqlCfg.Host,
mysqlCfg.Port,
mysqlCfg.Database,
mysqlCfg.Charset,
)
fmt.Println("接收到articlePost请求")
l := course_content.NewGetContentListLogic(r.Context(), svcCtx)
conn := sqlx.NewSqlConn("mysql", dsn)
ContentModel := model.NewCourseContentModel(conn)
l := course_content.NewGetContentListLogic(r.Context(), cfg, ContentModel)
resp, err := l.GetContentList(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)

View File

@@ -4,15 +4,18 @@
package course_content
import (
"fmt"
"net/http"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/logic/course_content"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/model"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/types"
"github.com/zeromicro/go-zero/core/stores/sqlx"
"github.com/zeromicro/go-zero/rest/httpx"
)
func UpdateContentHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
func UpdateContentHandler(cfg *config.Config) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.UpdateContentReq
if err := httpx.Parse(r, &req); err != nil {
@@ -20,7 +23,22 @@ func UpdateContentHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return
}
l := course_content.NewUpdateContentLogic(r.Context(), svcCtx)
mysqlCfg := cfg.MySQL
dsn := fmt.Sprintf(
"%s:%s@tcp(%s:%d)/%s?charset=%s&parseTime=true&loc=Local",
mysqlCfg.Username,
mysqlCfg.Password,
mysqlCfg.Host,
mysqlCfg.Port,
mysqlCfg.Database,
mysqlCfg.Charset,
)
fmt.Println("接收到articlePost请求")
conn := sqlx.NewSqlConn("mysql", dsn)
ContentModel := model.NewCourseContentModel(conn)
l := course_content.NewUpdateContentLogic(r.Context(), cfg, ContentModel)
resp, err := l.UpdateContent(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)

View File

@@ -6,7 +6,8 @@ package course_content
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/model"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/types"
"github.com/zeromicro/go-zero/core/logx"
@@ -14,11 +15,12 @@ import (
type AddContentLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
ctx context.Context
cfg *config.Config
model model.CourseContentModel
}
func NewAddContentLogic(ctx context.Context, svcCtx *svc.ServiceContext) *AddContentLogic {
func NewAddContentLogic(ctx context.Context, cfg *config.Config, model model.CourseContentModel) *AddContentLogic {
return &AddContentLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,

View File

@@ -6,7 +6,8 @@ package course_content
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/model"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/types"
"github.com/zeromicro/go-zero/core/logx"
@@ -14,15 +15,17 @@ import (
type DeleteContentLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
ctx context.Context
cfg *config.Config
model model.CourseContentModel
}
func NewDeleteContentLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteContentLogic {
func NewDeleteContentLogic(ctx context.Context, cfg *config.Config, model model.CourseContentModel) *DeleteContentLogic {
return &DeleteContentLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
cfg: cfg,
model: model,
}
}

View File

@@ -6,7 +6,8 @@ package course_content
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/model"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/types"
"github.com/zeromicro/go-zero/core/logx"
@@ -14,15 +15,17 @@ import (
type GetContentListLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
ctx context.Context
cfg *config.Config
model model.CourseContentModel
}
func NewGetContentListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetContentListLogic {
func NewGetContentListLogic(ctx context.Context, cfg *config.Config, model model.CourseContentModel) *GetContentListLogic {
return &GetContentListLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
cfg: cfg,
model: model,
}
}

View File

@@ -6,7 +6,8 @@ package course_content
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/model"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/types"
"github.com/zeromicro/go-zero/core/logx"
@@ -14,15 +15,17 @@ import (
type GetContentLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
ctx context.Context
cfg *config.Config
model model.CourseContentModel
}
func NewGetContentLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetContentLogic {
func NewGetContentLogic(ctx context.Context, cfg *config.Config, model model.CourseContentModel) *GetContentLogic {
return &GetContentLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
cfg: cfg,
model: model,
}
}

View File

@@ -6,7 +6,8 @@ package course_content
import (
"context"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/svc"
"github.com/JACKYMYPERSON/hldrCenter/config"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/model"
"github.com/JACKYMYPERSON/hldrCenter/internal/course_content/internal/types"
"github.com/zeromicro/go-zero/core/logx"
@@ -14,15 +15,17 @@ import (
type UpdateContentLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
ctx context.Context
cfg *config.Config
model model.CourseContentModel
}
func NewUpdateContentLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateContentLogic {
func NewUpdateContentLogic(ctx context.Context, cfg *config.Config, model model.CourseContentModel) *UpdateContentLogic {
return &UpdateContentLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
cfg: cfg,
model: model,
}
}