完成课程内容Handler
This commit is contained in:
3
server/internal/admin/etc/admin-api.yaml
Normal file
3
server/internal/admin/etc/admin-api.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
Name: admin-api
|
||||||
|
Host: 0.0.0.0
|
||||||
|
Port: 8888
|
||||||
@@ -4,11 +4,14 @@
|
|||||||
package admin
|
package admin
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/config"
|
"github.com/JACKYMYPERSON/hldrCenter/config"
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/logic/admin"
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/logic/admin"
|
||||||
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/model"
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/types"
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/types"
|
||||||
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||||
"github.com/zeromicro/go-zero/rest/httpx"
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -20,7 +23,22 @@ func CreateAdminHandler(cfg *config.Config) http.HandlerFunc {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
l := admin.NewCreateAdminLogic(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)
|
||||||
|
AdminModel := model.NewAdminModel(conn)
|
||||||
|
|
||||||
|
l := admin.NewCreateAdminLogic(r.Context(), cfg, AdminModel)
|
||||||
resp, err := l.CreateAdmin(&req)
|
resp, err := l.CreateAdmin(&req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
httpx.ErrorCtx(r.Context(), w, err)
|
httpx.ErrorCtx(r.Context(), w, err)
|
||||||
|
|||||||
@@ -4,11 +4,14 @@
|
|||||||
package admin
|
package admin
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/config"
|
"github.com/JACKYMYPERSON/hldrCenter/config"
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/logic/admin"
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/logic/admin"
|
||||||
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/model"
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/types"
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/types"
|
||||||
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||||
"github.com/zeromicro/go-zero/rest/httpx"
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -20,7 +23,22 @@ func DeleteAdminHandler(cfg *config.Config) http.HandlerFunc {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
l := admin.NewDeleteAdminLogic(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)
|
||||||
|
AdminModel := model.NewAdminModel(conn)
|
||||||
|
|
||||||
|
l := admin.NewDeleteAdminLogic(r.Context(), cfg, AdminModel)
|
||||||
resp, err := l.DeleteAdmin(&req)
|
resp, err := l.DeleteAdmin(&req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
httpx.ErrorCtx(r.Context(), w, err)
|
httpx.ErrorCtx(r.Context(), w, err)
|
||||||
|
|||||||
@@ -4,11 +4,14 @@
|
|||||||
package admin
|
package admin
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/config"
|
"github.com/JACKYMYPERSON/hldrCenter/config"
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/logic/admin"
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/logic/admin"
|
||||||
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/model"
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/types"
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/types"
|
||||||
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||||
"github.com/zeromicro/go-zero/rest/httpx"
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -20,7 +23,22 @@ func GetAdminHandler(cfg *config.Config) http.HandlerFunc {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
l := admin.NewGetAdminLogic(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)
|
||||||
|
AdminModel := model.NewAdminModel(conn)
|
||||||
|
|
||||||
|
l := admin.NewGetAdminLogic(r.Context(), cfg, AdminModel)
|
||||||
resp, err := l.GetAdmin(&req)
|
resp, err := l.GetAdmin(&req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
httpx.ErrorCtx(r.Context(), w, err)
|
httpx.ErrorCtx(r.Context(), w, err)
|
||||||
|
|||||||
@@ -4,11 +4,14 @@
|
|||||||
package admin
|
package admin
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/config"
|
"github.com/JACKYMYPERSON/hldrCenter/config"
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/logic/admin"
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/logic/admin"
|
||||||
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/model"
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/types"
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/types"
|
||||||
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||||
"github.com/zeromicro/go-zero/rest/httpx"
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -20,7 +23,22 @@ func ListAdminHandler(cfg *config.Config) http.HandlerFunc {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
l := admin.NewListAdminLogic(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)
|
||||||
|
AdminModel := model.NewAdminModel(conn)
|
||||||
|
|
||||||
|
l := admin.NewListAdminLogic(r.Context(), cfg, AdminModel)
|
||||||
resp, err := l.ListAdmin(&req)
|
resp, err := l.ListAdmin(&req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
httpx.ErrorCtx(r.Context(), w, err)
|
httpx.ErrorCtx(r.Context(), w, err)
|
||||||
|
|||||||
@@ -4,11 +4,14 @@
|
|||||||
package admin
|
package admin
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/config"
|
"github.com/JACKYMYPERSON/hldrCenter/config"
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/logic/admin"
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/logic/admin"
|
||||||
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/model"
|
||||||
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/types"
|
"github.com/JACKYMYPERSON/hldrCenter/internal/admin/internal/types"
|
||||||
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
||||||
"github.com/zeromicro/go-zero/rest/httpx"
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -20,7 +23,22 @@ func UpdateAdminHandler(cfg *config.Config) http.HandlerFunc {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
l := admin.NewUpdateAdminLogic(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)
|
||||||
|
AdminModel := model.NewAdminModel(conn)
|
||||||
|
|
||||||
|
l := admin.NewUpdateAdminLogic(r.Context(), cfg, AdminModel)
|
||||||
resp, err := l.UpdateAdmin(&req)
|
resp, err := l.UpdateAdmin(&req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
httpx.ErrorCtx(r.Context(), w, err)
|
httpx.ErrorCtx(r.Context(), w, err)
|
||||||
|
|||||||
@@ -3,48 +3,85 @@
|
|||||||
|
|
||||||
package types
|
package types
|
||||||
|
|
||||||
type CreateCourseFileReq struct {
|
type AdminInfo struct {
|
||||||
ContentId int `json:"content_id" form:"content_id" validate:"required"` // 关联的内容ID(必填)
|
Id int64 `json:"id"` // 用户ID
|
||||||
Title string `json:"title" form:"title" validate:"required,max=255"` // 文件标题(必填,最长255字符)
|
Username string `json:"username"` // 用户名
|
||||||
FileType string `json:"file_type" form:"file_type" validate:"required,max=30"` // 文件类型(必填,最长30字符)
|
Password string `json:"password"` // 密码(仅创建/更新时传递)
|
||||||
FileUrl string `json:"file_url" form:"file_url" validate:"required,max=255"` // 文件URL(必填,最长255字符)
|
CoverUrl string `json:"cover_url"` // 封面URL
|
||||||
|
Intro string `json:"intro"` // 简介
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
Role string `json:"role"` // 角色(super_admin/normal_admin)
|
||||||
|
Status int32 `json:"status"` // 1启用,0禁用
|
||||||
}
|
}
|
||||||
|
|
||||||
type CreateCourseFileResp struct {
|
type BaseResp struct {
|
||||||
Id int `json:"id"` // 新增文件的ID
|
Code int32 `json:"code"` // 0成功,非0失败
|
||||||
Message string `json:"message"` // 操作结果信息
|
Message string `json:"message"` // 提示信息
|
||||||
}
|
}
|
||||||
|
|
||||||
type DeleteCourseFileReq struct {
|
type CreateAdminData struct {
|
||||||
Id int `json:"id" form:"id" param:"id" validate:"required"` // 文件ID(必填,从路径参数获取)
|
Id int64 `json:"id"` // 新增的管理员ID
|
||||||
}
|
}
|
||||||
|
|
||||||
type DeleteCourseFileResp struct {
|
type CreateAdminReq struct {
|
||||||
Message string `json:"message"` // 操作结果信息
|
Username string `json:"username" form:"username"` // 用户名(必填)
|
||||||
|
Password string `json:"password" form:"password"` // 密码(必填,需加密)
|
||||||
|
CoverUrl string `json:"cover_url,optional" form:"cover_url"` // 封面URL(可选)
|
||||||
|
Intro string `json:"intro,optional" form:"intro"` // 简介(可选)
|
||||||
|
Role string `json:"role,optional" form:"role"` // 角色(默认normal_admin)
|
||||||
|
Status int32 `json:"status,optional" form:"status"` // 状态(默认1)
|
||||||
}
|
}
|
||||||
|
|
||||||
type GetCourseFileReq struct {
|
type CreateAdminResp struct {
|
||||||
Id int `json:"id" form:"id" param:"id" validate:"required"` // 文件ID(必填,从路径参数获取)
|
BaseResp
|
||||||
|
Data CreateAdminData `json:"data,optional"` // 业务数据(可选)
|
||||||
}
|
}
|
||||||
|
|
||||||
type GetCourseFileResp struct {
|
type DeleteAdminReq struct {
|
||||||
Id int `json:"id"` // 文件ID
|
Id int64 `json:"id" form:"id"` // 用户ID(必填)
|
||||||
ContentId int `json:"content_id"` // 关联的内容ID
|
|
||||||
Title string `json:"title"` // 文件标题
|
|
||||||
FileType string `json:"file_type"` // 文件类型
|
|
||||||
FileUrl string `json:"file_url"` // 文件URL
|
|
||||||
CreateTime string `json:"create_time"` // 创建时间(格式化字符串)
|
|
||||||
UpdateTime string `json:"update_time"` // 更新时间(格式化字符串)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type UpdateCourseFileReq struct {
|
type DeleteAdminResp struct {
|
||||||
Id int `json:"id" form:"id" validate:"required"` // 文件ID(必填)
|
BaseResp
|
||||||
ContentId int `json:"content_id" form:"content_id"` // 可选:更新关联的内容ID
|
|
||||||
Title string `json:"title" form:"title" validate:"omitempty,max=255"` // 可选:更新标题
|
|
||||||
FileType string `json:"file_type" form:"file_type" validate:"omitempty,max=30"` // 可选:更新文件类型
|
|
||||||
FileUrl string `json:"file_url" form:"file_url" validate:"omitempty,max=255"` // 可选:更新文件URL
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type UpdateCourseFileResp struct {
|
type GetAdminReq struct {
|
||||||
Message string `json:"message"` // 操作结果信息
|
Id int64 `json:"id" form:"id"` // 用户ID(必填)
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetAdminResp struct {
|
||||||
|
BaseResp
|
||||||
|
Data AdminInfo `json:"data"` // 管理员详情数据
|
||||||
|
}
|
||||||
|
|
||||||
|
type ListAdminData struct {
|
||||||
|
Total int64 `json:"total"` // 总条数
|
||||||
|
List []AdminInfo `json:"list"` // 管理员列表
|
||||||
|
}
|
||||||
|
|
||||||
|
type ListAdminReq struct {
|
||||||
|
Page int32 `json:"page,optional" form:"page"` // 页码,默认1
|
||||||
|
Size int32 `json:"size,optional" form:"size"` // 每页条数,默认10
|
||||||
|
Role string `json:"role,optional" form:"role"` // 按角色筛选
|
||||||
|
Status int32 `json:"status,optional" form:"status"` // 按状态筛选
|
||||||
|
}
|
||||||
|
|
||||||
|
type ListAdminResp struct {
|
||||||
|
BaseResp
|
||||||
|
Data ListAdminData `json:"data"` // 业务数据
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateAdminReq struct {
|
||||||
|
Id int64 `json:"id" form:"id"` // 用户ID(必填)
|
||||||
|
Username string `json:"username,optional" form:"username"` // 用户名(可选)
|
||||||
|
Password string `json:"password,optional" form:"password"` // 密码(可选)
|
||||||
|
CoverUrl string `json:"cover_url,optional" form:"cover_url"` // 封面URL(可选)
|
||||||
|
Intro string `json:"intro,optional" form:"intro"` // 简介(可选)
|
||||||
|
Role string `json:"role,optional" form:"role"` // 角色(可选)
|
||||||
|
Status int32 `json:"status,optional" form:"status"` // 状态(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateAdminResp struct {
|
||||||
|
BaseResp
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ func NewAddContentLogic(ctx context.Context, cfg *config.Config, model model.Cou
|
|||||||
return &AddContentLogic{
|
return &AddContentLogic{
|
||||||
Logger: logx.WithContext(ctx),
|
Logger: logx.WithContext(ctx),
|
||||||
ctx: ctx,
|
ctx: ctx,
|
||||||
svcCtx: svcCtx,
|
cfg: cfg,
|
||||||
|
model: model,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user