From 8c292c41d4c5c8e0c8fa4f2b95c69357457c9636 Mon Sep 17 00:00:00 2001 From: mayiming <1627832236@qq.com> Date: Sat, 1 Nov 2025 23:48:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E8=AF=BE=E7=A8=8B=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8Handler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../createcourseactivityhandler.go | 4 ++-- .../deletecourseactivityhandler.go | 4 ++-- .../getcourseactivityhandler.go | 4 ++-- .../listcourseactivityhandler.go | 4 ++-- .../updatecourseactivityhandler.go | 4 ++-- .../createcourseactivitylogic.go | 13 +++++++----- .../deletecourseactivitylogic.go | 13 +++++++----- .../course_activity/getcourseactivitylogic.go | 13 +++++++----- .../listcourseactivitylogic.go | 13 +++++++----- .../updatecourseactivitylogic.go | 13 +++++++----- .../course_file/createcoursefilehandler.go | 20 ++++++++++++++++++- .../course_file/deletecoursefilehandler.go | 19 +++++++++++++++++- .../course_file/getcoursefilehandler.go | 20 ++++++++++++++++++- .../course_file/updatecoursefilehandler.go | 20 ++++++++++++++++++- .../course_activity/course_activity.sql | 6 +++--- 15 files changed, 128 insertions(+), 42 deletions(-) diff --git a/server/internal/course_activity/handler/course_activity/createcourseactivityhandler.go b/server/internal/course_activity/handler/course_activity/createcourseactivityhandler.go index 6e8171e3..31438e05 100644 --- a/server/internal/course_activity/handler/course_activity/createcourseactivityhandler.go +++ b/server/internal/course_activity/handler/course_activity/createcourseactivityhandler.go @@ -6,13 +6,13 @@ package course_activity import ( "net/http" + "github.com/JACKYMYPERSON/hldrCenter/config" "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 { +func CreateCourseActivityHandler(cfg *config.Config) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.CreateCourseActivityReq if err := httpx.Parse(r, &req); err != nil { diff --git a/server/internal/course_activity/handler/course_activity/deletecourseactivityhandler.go b/server/internal/course_activity/handler/course_activity/deletecourseactivityhandler.go index 412e7f6d..365cef25 100644 --- a/server/internal/course_activity/handler/course_activity/deletecourseactivityhandler.go +++ b/server/internal/course_activity/handler/course_activity/deletecourseactivityhandler.go @@ -6,13 +6,13 @@ package course_activity import ( "net/http" + "github.com/JACKYMYPERSON/hldrCenter/config" "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 { +func DeleteCourseActivityHandler(cfg *config.Config) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.DeleteCourseActivityReq if err := httpx.Parse(r, &req); err != nil { diff --git a/server/internal/course_activity/handler/course_activity/getcourseactivityhandler.go b/server/internal/course_activity/handler/course_activity/getcourseactivityhandler.go index e8064896..93f72211 100644 --- a/server/internal/course_activity/handler/course_activity/getcourseactivityhandler.go +++ b/server/internal/course_activity/handler/course_activity/getcourseactivityhandler.go @@ -6,13 +6,13 @@ package course_activity import ( "net/http" + "github.com/JACKYMYPERSON/hldrCenter/config" "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 { +func GetCourseActivityHandler(cfg *config.Config) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.GetCourseActivityReq if err := httpx.Parse(r, &req); err != nil { diff --git a/server/internal/course_activity/handler/course_activity/listcourseactivityhandler.go b/server/internal/course_activity/handler/course_activity/listcourseactivityhandler.go index 057fb77b..fa649664 100644 --- a/server/internal/course_activity/handler/course_activity/listcourseactivityhandler.go +++ b/server/internal/course_activity/handler/course_activity/listcourseactivityhandler.go @@ -6,13 +6,13 @@ package course_activity import ( "net/http" + "github.com/JACKYMYPERSON/hldrCenter/config" "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 { +func ListCourseActivityHandler(cfg *config.Config) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.ListCourseActivityReq if err := httpx.Parse(r, &req); err != nil { diff --git a/server/internal/course_activity/handler/course_activity/updatecourseactivityhandler.go b/server/internal/course_activity/handler/course_activity/updatecourseactivityhandler.go index 135a0aef..3d3695f1 100644 --- a/server/internal/course_activity/handler/course_activity/updatecourseactivityhandler.go +++ b/server/internal/course_activity/handler/course_activity/updatecourseactivityhandler.go @@ -6,13 +6,13 @@ package course_activity import ( "net/http" + "github.com/JACKYMYPERSON/hldrCenter/config" "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 { +func UpdateCourseActivityHandler(cfg *config.Config) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var req types.UpdateCourseActivityReq if err := httpx.Parse(r, &req); err != nil { diff --git a/server/internal/course_activity/internal/logic/course_activity/createcourseactivitylogic.go b/server/internal/course_activity/internal/logic/course_activity/createcourseactivitylogic.go index 63fd9046..a1c95b13 100644 --- a/server/internal/course_activity/internal/logic/course_activity/createcourseactivitylogic.go +++ b/server/internal/course_activity/internal/logic/course_activity/createcourseactivitylogic.go @@ -6,7 +6,8 @@ package course_activity import ( "context" - "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc" + "github.com/JACKYMYPERSON/hldrCenter/config" + "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/model" "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types" "github.com/zeromicro/go-zero/core/logx" @@ -14,15 +15,17 @@ import ( type CreateCourseActivityLogic struct { logx.Logger - ctx context.Context - svcCtx *svc.ServiceContext + ctx context.Context + cfg *config.Config + model model.CourseActivityModel } -func NewCreateCourseActivityLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateCourseActivityLogic { +func NewCreateCourseActivityLogic(ctx context.Context, cfg *config.Config, model model.CourseActivityModel) *CreateCourseActivityLogic { return &CreateCourseActivityLogic{ Logger: logx.WithContext(ctx), ctx: ctx, - svcCtx: svcCtx, + cfg: cfg, + model: model, } } diff --git a/server/internal/course_activity/internal/logic/course_activity/deletecourseactivitylogic.go b/server/internal/course_activity/internal/logic/course_activity/deletecourseactivitylogic.go index 9c6ad085..4c3e522e 100644 --- a/server/internal/course_activity/internal/logic/course_activity/deletecourseactivitylogic.go +++ b/server/internal/course_activity/internal/logic/course_activity/deletecourseactivitylogic.go @@ -6,7 +6,8 @@ package course_activity import ( "context" - "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc" + "github.com/JACKYMYPERSON/hldrCenter/config" + "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/model" "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types" "github.com/zeromicro/go-zero/core/logx" @@ -14,15 +15,17 @@ import ( type DeleteCourseActivityLogic struct { logx.Logger - ctx context.Context - svcCtx *svc.ServiceContext + ctx context.Context + cfg *config.Config + model model.CourseActivityModel } -func NewDeleteCourseActivityLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteCourseActivityLogic { +func NewDeleteCourseActivityLogic(ctx context.Context, cfg *config.Config, model model.CourseActivityModel) *DeleteCourseActivityLogic { return &DeleteCourseActivityLogic{ Logger: logx.WithContext(ctx), ctx: ctx, - svcCtx: svcCtx, + cfg: cfg, + model: model, } } diff --git a/server/internal/course_activity/internal/logic/course_activity/getcourseactivitylogic.go b/server/internal/course_activity/internal/logic/course_activity/getcourseactivitylogic.go index 9343472b..838e2892 100644 --- a/server/internal/course_activity/internal/logic/course_activity/getcourseactivitylogic.go +++ b/server/internal/course_activity/internal/logic/course_activity/getcourseactivitylogic.go @@ -6,7 +6,8 @@ package course_activity import ( "context" - "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc" + "github.com/JACKYMYPERSON/hldrCenter/config" + "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/model" "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types" "github.com/zeromicro/go-zero/core/logx" @@ -14,15 +15,17 @@ import ( type GetCourseActivityLogic struct { logx.Logger - ctx context.Context - svcCtx *svc.ServiceContext + ctx context.Context + cfg *config.Config + model model.CourseActivityModel } -func NewGetCourseActivityLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetCourseActivityLogic { +func NewGetCourseActivityLogic(ctx context.Context, cfg *config.Config, model model.CourseActivityModel) *GetCourseActivityLogic { return &GetCourseActivityLogic{ Logger: logx.WithContext(ctx), ctx: ctx, - svcCtx: svcCtx, + cfg: cfg, + model: model, } } diff --git a/server/internal/course_activity/internal/logic/course_activity/listcourseactivitylogic.go b/server/internal/course_activity/internal/logic/course_activity/listcourseactivitylogic.go index 4114d342..578147eb 100644 --- a/server/internal/course_activity/internal/logic/course_activity/listcourseactivitylogic.go +++ b/server/internal/course_activity/internal/logic/course_activity/listcourseactivitylogic.go @@ -6,7 +6,8 @@ package course_activity import ( "context" - "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc" + "github.com/JACKYMYPERSON/hldrCenter/config" + "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/model" "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types" "github.com/zeromicro/go-zero/core/logx" @@ -14,15 +15,17 @@ import ( type ListCourseActivityLogic struct { logx.Logger - ctx context.Context - svcCtx *svc.ServiceContext + ctx context.Context + cfg *config.Config + model model.CourseActivityModel } -func NewListCourseActivityLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListCourseActivityLogic { +func NewListCourseActivityLogic(ctx context.Context, cfg *config.Config, model model.CourseActivityModel) *ListCourseActivityLogic { return &ListCourseActivityLogic{ Logger: logx.WithContext(ctx), ctx: ctx, - svcCtx: svcCtx, + cfg: cfg, + model: model, } } diff --git a/server/internal/course_activity/internal/logic/course_activity/updatecourseactivitylogic.go b/server/internal/course_activity/internal/logic/course_activity/updatecourseactivitylogic.go index ae9e59df..15894188 100644 --- a/server/internal/course_activity/internal/logic/course_activity/updatecourseactivitylogic.go +++ b/server/internal/course_activity/internal/logic/course_activity/updatecourseactivitylogic.go @@ -6,7 +6,8 @@ package course_activity import ( "context" - "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/svc" + "github.com/JACKYMYPERSON/hldrCenter/config" + "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/model" "github.com/JACKYMYPERSON/hldrCenter/internal/course_activity/internal/types" "github.com/zeromicro/go-zero/core/logx" @@ -14,15 +15,17 @@ import ( type UpdateCourseActivityLogic struct { logx.Logger - ctx context.Context - svcCtx *svc.ServiceContext + ctx context.Context + cfg *config.Config + model model.CourseActivityModel } -func NewUpdateCourseActivityLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateCourseActivityLogic { +func NewUpdateCourseActivityLogic(ctx context.Context, cfg *config.Config, model model.CourseActivityModel) *UpdateCourseActivityLogic { return &UpdateCourseActivityLogic{ Logger: logx.WithContext(ctx), ctx: ctx, - svcCtx: svcCtx, + cfg: cfg, + model: model, } } diff --git a/server/internal/course_file/handler/course_file/createcoursefilehandler.go b/server/internal/course_file/handler/course_file/createcoursefilehandler.go index 28c9a007..c7bd422b 100644 --- a/server/internal/course_file/handler/course_file/createcoursefilehandler.go +++ b/server/internal/course_file/handler/course_file/createcoursefilehandler.go @@ -4,11 +4,14 @@ package course_file import ( + "fmt" "net/http" "github.com/JACKYMYPERSON/hldrCenter/config" "github.com/JACKYMYPERSON/hldrCenter/internal/course_file/internal/logic/course_file" + "github.com/JACKYMYPERSON/hldrCenter/internal/course_file/internal/model" "github.com/JACKYMYPERSON/hldrCenter/internal/course_file/internal/types" + "github.com/zeromicro/go-zero/core/stores/sqlx" "github.com/zeromicro/go-zero/rest/httpx" ) @@ -20,7 +23,22 @@ func CreateCourseFileHandler(cfg *config.Config) http.HandlerFunc { return } - l := course_file.NewCreateCourseFileLogic(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) + FileModel := model.NewCourseFileModel(conn) + + l := course_file.NewCreateCourseFileLogic(r.Context(), cfg, FileModel) resp, err := l.CreateCourseFile(&req) if err != nil { httpx.ErrorCtx(r.Context(), w, err) diff --git a/server/internal/course_file/handler/course_file/deletecoursefilehandler.go b/server/internal/course_file/handler/course_file/deletecoursefilehandler.go index 161d3a7f..102fdf4d 100644 --- a/server/internal/course_file/handler/course_file/deletecoursefilehandler.go +++ b/server/internal/course_file/handler/course_file/deletecoursefilehandler.go @@ -4,11 +4,14 @@ package course_file import ( + "fmt" "net/http" "github.com/JACKYMYPERSON/hldrCenter/config" "github.com/JACKYMYPERSON/hldrCenter/internal/course_file/internal/logic/course_file" + "github.com/JACKYMYPERSON/hldrCenter/internal/course_file/internal/model" "github.com/JACKYMYPERSON/hldrCenter/internal/course_file/internal/types" + "github.com/zeromicro/go-zero/core/stores/sqlx" "github.com/zeromicro/go-zero/rest/httpx" ) @@ -19,8 +22,22 @@ func DeleteCourseFileHandler(cfg *config.Config) http.HandlerFunc { 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_file.NewDeleteCourseFileLogic(r.Context(), svcCtx) + conn := sqlx.NewSqlConn("mysql", dsn) + FileModel := model.NewCourseFileModel(conn) + + l := course_file.NewDeleteCourseFileLogic(r.Context(), cfg, FileModel) resp, err := l.DeleteCourseFile(&req) if err != nil { httpx.ErrorCtx(r.Context(), w, err) diff --git a/server/internal/course_file/handler/course_file/getcoursefilehandler.go b/server/internal/course_file/handler/course_file/getcoursefilehandler.go index 21b56e76..f230e8ea 100644 --- a/server/internal/course_file/handler/course_file/getcoursefilehandler.go +++ b/server/internal/course_file/handler/course_file/getcoursefilehandler.go @@ -4,11 +4,14 @@ package course_file import ( + "fmt" "net/http" "github.com/JACKYMYPERSON/hldrCenter/config" "github.com/JACKYMYPERSON/hldrCenter/internal/course_file/internal/logic/course_file" + "github.com/JACKYMYPERSON/hldrCenter/internal/course_file/internal/model" "github.com/JACKYMYPERSON/hldrCenter/internal/course_file/internal/types" + "github.com/zeromicro/go-zero/core/stores/sqlx" "github.com/zeromicro/go-zero/rest/httpx" ) @@ -20,7 +23,22 @@ func GetCourseFileHandler(cfg *config.Config) http.HandlerFunc { return } - l := course_file.NewGetCourseFileLogic(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) + FileModel := model.NewCourseFileModel(conn) + + l := course_file.NewGetCourseFileLogic(r.Context(), cfg, FileModel) resp, err := l.GetCourseFile(&req) if err != nil { httpx.ErrorCtx(r.Context(), w, err) diff --git a/server/internal/course_file/handler/course_file/updatecoursefilehandler.go b/server/internal/course_file/handler/course_file/updatecoursefilehandler.go index d9ebc159..85bb13b2 100644 --- a/server/internal/course_file/handler/course_file/updatecoursefilehandler.go +++ b/server/internal/course_file/handler/course_file/updatecoursefilehandler.go @@ -4,11 +4,14 @@ package course_file import ( + "fmt" "net/http" "github.com/JACKYMYPERSON/hldrCenter/config" "github.com/JACKYMYPERSON/hldrCenter/internal/course_file/internal/logic/course_file" + "github.com/JACKYMYPERSON/hldrCenter/internal/course_file/internal/model" "github.com/JACKYMYPERSON/hldrCenter/internal/course_file/internal/types" + "github.com/zeromicro/go-zero/core/stores/sqlx" "github.com/zeromicro/go-zero/rest/httpx" ) @@ -20,7 +23,22 @@ func UpdateCourseFileHandler(cfg *config.Config) http.HandlerFunc { return } - l := course_file.NewUpdateCourseFileLogic(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) + FileModel := model.NewCourseFileModel(conn) + + l := course_file.NewUpdateCourseFileLogic(r.Context(), cfg, FileModel) resp, err := l.UpdateCourseFile(&req) if err != nil { httpx.ErrorCtx(r.Context(), w, err) diff --git a/server/sql/course/course_activity/course_activity.sql b/server/sql/course/course_activity/course_activity.sql index b4d50d7a..47689dd6 100644 --- a/server/sql/course/course_activity/course_activity.sql +++ b/server/sql/course/course_activity/course_activity.sql @@ -1,7 +1,7 @@ -- 课程活动表(作业/考试/讨论/直播等) CREATE TABLE `course_activity` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '活动ID(主键,自增)', - `course_id` int(11) NOT NULL COMMENT '关联课程ID(外键,关联course表的id)', + `course_id` int(11) NOT NULL COMMENT '关联课程ID(关联course表的id)', `title` varchar(255) NOT NULL COMMENT '活动标题(如“第1章作业”“期中测试”)', `activity_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '活动类型(1-作业,2-考试,3-讨论,4-直播)', `content` text COMMENT '活动详情(如作业要求、考试说明)', @@ -9,6 +9,6 @@ CREATE TABLE `course_activity` ( `end_time` datetime COMMENT '活动结束时间(如作业截止时间)', `sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序(数值越小越靠前)', PRIMARY KEY (`id`), - KEY `idx_course_id` (`course_id`) COMMENT '按课程ID查询活动的索引(优化关联查询)', - CONSTRAINT `fk_activity_course` FOREIGN KEY (`course_id`) REFERENCES `course` (`id`) ON DELETE CASCADE COMMENT '外键关联课程表,课程删除时活动级联删除' + KEY `idx_course_id` (`course_id`) COMMENT '按课程ID查询活动的索引(优化关联查询)' + -- 移除外键约束语句(goctl不支持) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生活动表(存储课程相关的作业、考试、讨论等活动)'; \ No newline at end of file