diff --git a/api/interface.go b/api/interface.go index ecf1a60..7ccd38e 100644 --- a/api/interface.go +++ b/api/interface.go @@ -31,3 +31,7 @@ type ILinkV1 interface { type IUserV1 interface { GetUserCurrent(ctx context.Context, req *request.GetUserReq) (res *request.GetUserRes, err error) } + +type ISponsorV1 interface { + GetSponsor(context.Context, *request.GetSponsorReq) (*request.GetSponsorRes, error) +} diff --git a/api/request/sponsorApi.go b/api/request/sponsorApi.go new file mode 100644 index 0000000..2771d6f --- /dev/null +++ b/api/request/sponsorApi.go @@ -0,0 +1,9 @@ +package request + +import "github.com/gogf/gf/v2/frame/g" + +type GetSponsorReq struct { + g.Meta `path:"/list" tags:"获取赞助" method:"get" summary:"获取赞助"` +} + +type GetSponsorRes struct{} diff --git a/internal/cmd/cmd.go b/internal/cmd/cmd.go index 6c49d74..f9f9460 100644 --- a/internal/cmd/cmd.go +++ b/internal/cmd/cmd.go @@ -2,6 +2,7 @@ package cmd import ( "PersonalMain/internal/controller/auth/link/custom/friend" + "PersonalMain/internal/controller/auth/link/custom/sponsor" "PersonalMain/internal/controller/auth/token" authUser "PersonalMain/internal/controller/auth/user" "PersonalMain/internal/controller/user" @@ -51,6 +52,11 @@ var ( friend.NewLinkCustomFriendV1(), ) }) + group.Group("/sponsor", func(group *ghttp.RouterGroup) { + group.Bind( + sponsor.NewSponsorV1(), + ) + }) group.Group("/location", func(group *ghttp.RouterGroup) { //location.NewLinkCustomLocationV1() }) diff --git a/internal/controller/auth/link/custom/sponsor/sponsorController.go b/internal/controller/auth/link/custom/sponsor/sponsorController.go new file mode 100644 index 0000000..c4bb83f --- /dev/null +++ b/internal/controller/auth/link/custom/sponsor/sponsorController.go @@ -0,0 +1,29 @@ +package sponsor + +import ( + "PersonalMain/api" + "PersonalMain/api/request" + "PersonalMain/internal/service/SponsorService" + "context" + "github.com/gogf/gf/v2/net/ghttp" +) + +type ControllerV1 struct{} + +func NewSponsorV1() api.ISponsorV1 { + return &ControllerV1{} +} + +func sponorService() SponsorService.SponsorService { + return SponsorService.NewSponsorService() +} + +// GetSponsor +// +// 获取赞助 +func (*ControllerV1) GetSponsor(ctx context.Context, _ *request.GetSponsorReq) (res *request.GetSponsorRes, err error) { + req := ghttp.RequestFromCtx(ctx) + // 获取业务 + sponorService().GetSponsor(req) + return res, err +} diff --git a/internal/dao/sponsorDAO/sponsorDAO.go b/internal/dao/sponsorDAO/sponsorDAO.go new file mode 100644 index 0000000..4b8f18b --- /dev/null +++ b/internal/dao/sponsorDAO/sponsorDAO.go @@ -0,0 +1,29 @@ +package sponsorDAO + +import ( + "PersonalMain/internal/model/do" + "context" + "github.com/gogf/gf/v2/frame/g" +) + +// GetSponsor +// +// 获取赞助 +func GetSponsor() *[]do.SponsorDO { + // 获取数据表全部数据 + var getSponorDO []do.SponsorDO + result, err := g.Model("xf_sponsor").OrderDesc("created_at").All() + if err == nil { + if !result.IsEmpty() { + _ = result.Structs(&getSponorDO) + g.Log().Cat("Database").Cat("Sponor").Notice(context.Background(), "xf_sponor 数据表数据提取成功") + return &getSponorDO + } else { + g.Log().Cat("Database").Cat("Sponor").Notice(context.Background(), "xf_sponor 数据表中没有赞助相关信息") + return nil + } + } else { + g.Log().Cat("Database").Cat("Sponor").Error(context.Background(), err.Error()) + return nil + } +} diff --git a/internal/logic/SponsorServiceImpl/sponsorServiceImpl.go b/internal/logic/SponsorServiceImpl/sponsorServiceImpl.go new file mode 100644 index 0000000..90ee884 --- /dev/null +++ b/internal/logic/SponsorServiceImpl/sponsorServiceImpl.go @@ -0,0 +1,23 @@ +package SponsorServiceImpl + +import ( + "PersonalMain/internal/dao/sponsorDAO" + "PersonalMain/utility/ErrorCode" + "PersonalMain/utility/ResultUtil" + "github.com/gogf/gf/v2/net/ghttp" +) + +type SponsorServiceImpl struct{} + +// GetSponsor +// +// 获取赞助 +func (*SponsorServiceImpl) GetSponsor(req *ghttp.Request) { + // 获取赞助 + getSponorDO := sponsorDAO.GetSponsor() + if getSponorDO != nil { + ResultUtil.Success(req, "Success", getSponorDO) + } else { + ResultUtil.ErrorNoData(req, ErrorCode.NoSponsor) + } +} diff --git a/internal/model/do/sponsorDO.go b/internal/model/do/sponsorDO.go new file mode 100644 index 0000000..729b471 --- /dev/null +++ b/internal/model/do/sponsorDO.go @@ -0,0 +1,14 @@ +package do + +import "time" + +type SponsorDO struct { + Id *uint64 `json:"id"` + Name string `json:"name"` + UserId *uint64 `json:"user_id"` + Url *string `json:"url"` + Type uint8 `json:"type"` + Amount uint64 `json:"amount"` + CreatedAt time.Time `json:"created_at"` + Check uint8 `json:"check"` +} diff --git a/internal/service/SponsorService/sponsorService.go b/internal/service/SponsorService/sponsorService.go new file mode 100644 index 0000000..468843e --- /dev/null +++ b/internal/service/SponsorService/sponsorService.go @@ -0,0 +1,14 @@ +package SponsorService + +import ( + "PersonalMain/internal/logic/SponsorServiceImpl" + "github.com/gogf/gf/v2/net/ghttp" +) + +func NewSponsorService() SponsorService { + return &SponsorServiceImpl.SponsorServiceImpl{} +} + +type SponsorService interface { + GetSponsor(*ghttp.Request) +} diff --git a/utility/ErrorCode/ErrorCode.go b/utility/ErrorCode/ErrorCode.go index 7550f30..5c99e89 100644 --- a/utility/ErrorCode/ErrorCode.go +++ b/utility/ErrorCode/ErrorCode.go @@ -30,6 +30,7 @@ var ( LikeLinkAlreadyExists = ErrorCode{output: "LikeLinkAlreadyExists", code: 40304, message: "链接已存在"} LinkAcceptDenied = ErrorCode{output: "LinkAcceptDenied", code: 40305, message: "链接接受协议拒绝"} FriendLinkDoesNotExist = ErrorCode{output: "FriendLinkDoesNotExist", code: 40306, message: "友链不存在"} + NoSponsor = ErrorCode{output: "NoSponsor", code: 40307, message: "没有赞助"} ServerUnknownError = ErrorCode{output: "ServerUnknownError", code: 50000, message: "服务器未知错误"} ServerDatabaseInteriorError = ErrorCode{output: "ServerDatabaseInteriorError", code: 50001, message: "服务器数据库内部错误"} )