完成课程文件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)