From 2fdc9404c368105daaad204dc713df0142404070 Mon Sep 17 00:00:00 2001 From: majun <3060162534@qq.com> Date: Sat, 30 Nov 2024 16:17:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=91=E9=81=93=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/subscription/subscription.go | 16 +++++++++++++++ api/subscription/v1/subscription.go | 23 ++++++++++++++++++++++ internal/cmd/cmd.go | 2 ++ internal/controller/subscription/subscription.go | 5 +++++ .../controller/subscription/subscription_new.go | 15 ++++++++++++++ .../subscription_v1_add_subscription.go | 21 ++++++++++++++++++++ .../subscription_v1_delete_subscription.go | 17 ++++++++++++++++ 7 files changed, 99 insertions(+) create mode 100644 api/subscription/subscription.go create mode 100644 api/subscription/v1/subscription.go create mode 100644 internal/controller/subscription/subscription.go create mode 100644 internal/controller/subscription/subscription_new.go create mode 100644 internal/controller/subscription/subscription_v1_add_subscription.go create mode 100644 internal/controller/subscription/subscription_v1_delete_subscription.go diff --git a/api/subscription/subscription.go b/api/subscription/subscription.go new file mode 100644 index 0000000..9d132d1 --- /dev/null +++ b/api/subscription/subscription.go @@ -0,0 +1,16 @@ +// ================================================================================= +// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT. +// ================================================================================= + +package subscription + +import ( + "context" + + "practice_Go/api/subscription/v1" +) + +type ISubscriptionV1 interface { + AddSubscription(ctx context.Context, req *v1.AddSubscriptionReq) (res *v1.AddSubscriptionRes, err error) + DeleteSubscription(ctx context.Context, req *v1.DeleteSubscriptionReq) (res *v1.DeleteSubscriptionRes, err error) +} diff --git a/api/subscription/v1/subscription.go b/api/subscription/v1/subscription.go new file mode 100644 index 0000000..7e9617a --- /dev/null +++ b/api/subscription/v1/subscription.go @@ -0,0 +1,23 @@ +package v1 + +import "github.com/gogf/gf/v2/frame/g" + +type AddSubscriptionReq struct { + g.Meta `path:"/subscription" method:"post" tags:"Subscription" summary:"添加订阅信息"` + Id int `v:"required|min:1#频道ID不能为空|频道ID不能小于1" dc:"频道ID"` + UserId int `v:"required|min:90000000|max:99999999#用户ID不能为空|用户ID不能小于90000000|用户ID不能大于99999999" dc:"用户ID"` +} + +type AddSubscriptionRes struct { + Success bool `json:"success" dc:"订阅是否成功"` +} + +type DeleteSubscriptionReq struct { + g.Meta `path:"/subscription" method:"delete" tags:"Subscription" summary:"删除订阅信息"` + Id int `v:"required|min:1#频道ID不能为空|频道ID不能小于1" dc:"频道ID"` + UserId int `v:"required|min:90000000|max:99999999#用户ID不能为空|用户ID不能小于90000000|用户ID不能大于99999999" dc:"用户ID"` +} + +type DeleteSubscriptionRes struct { + Success bool `json:"success" dc:"取消订阅是否成功"` +} \ No newline at end of file diff --git a/internal/cmd/cmd.go b/internal/cmd/cmd.go index 0b31372..b25301d 100644 --- a/internal/cmd/cmd.go +++ b/internal/cmd/cmd.go @@ -3,6 +3,7 @@ package cmd import ( "context" "practice_Go/internal/controller/channel" + "practice_Go/internal/controller/subscription" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" @@ -20,6 +21,7 @@ var ( group.Middleware(ghttp.MiddlewareHandlerResponse) group.Bind( channel.NewV1(), + subscription.NewV1(), ) }) s.SetServerRoot("resource/public") diff --git a/internal/controller/subscription/subscription.go b/internal/controller/subscription/subscription.go new file mode 100644 index 0000000..4e6d2cf --- /dev/null +++ b/internal/controller/subscription/subscription.go @@ -0,0 +1,5 @@ +// ================================================================================= +// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish. +// ================================================================================= + +package subscription diff --git a/internal/controller/subscription/subscription_new.go b/internal/controller/subscription/subscription_new.go new file mode 100644 index 0000000..10ecb06 --- /dev/null +++ b/internal/controller/subscription/subscription_new.go @@ -0,0 +1,15 @@ +// ================================================================================= +// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish. +// ================================================================================= + +package subscription + +import ( + "practice_Go/api/subscription" +) + +type ControllerV1 struct{} + +func NewV1() subscription.ISubscriptionV1 { + return &ControllerV1{} +} diff --git a/internal/controller/subscription/subscription_v1_add_subscription.go b/internal/controller/subscription/subscription_v1_add_subscription.go new file mode 100644 index 0000000..83b3bc6 --- /dev/null +++ b/internal/controller/subscription/subscription_v1_add_subscription.go @@ -0,0 +1,21 @@ +package subscription + +import ( + "context" + + "practice_Go/api/subscription/v1" + "practice_Go/internal/dao" + "practice_Go/internal/model/do" +) + +func (c *ControllerV1) AddSubscription(ctx context.Context, req *v1.AddSubscriptionReq) (res *v1.AddSubscriptionRes, err error) { + res = &v1.AddSubscriptionRes{} + _, err = dao.GoChannelSubscriptions.Ctx(ctx).Data(do.GoChannelSubscriptions{ + ChannelId: req.Id, + UserId: req.UserId, + }).Insert() + if err == nil { + res.Success = true + } + return +} diff --git a/internal/controller/subscription/subscription_v1_delete_subscription.go b/internal/controller/subscription/subscription_v1_delete_subscription.go new file mode 100644 index 0000000..40e0a31 --- /dev/null +++ b/internal/controller/subscription/subscription_v1_delete_subscription.go @@ -0,0 +1,17 @@ +package subscription + +import ( + "context" + + "practice_Go/api/subscription/v1" + "practice_Go/internal/dao" +) + +func (c *ControllerV1) DeleteSubscription(ctx context.Context, req *v1.DeleteSubscriptionReq) (res *v1.DeleteSubscriptionRes, err error) { + res = &v1.DeleteSubscriptionRes{} + _, err = dao.GoChannelSubscriptions.Ctx(ctx).Wheref("channel_id =? and user_id =?", req.Id, req.UserId).Delete() + if err == nil { + res.Success = true + } + return +}