Compare commits

...

14 Commits

Author SHA1 Message Date
majun 4524c0b941 增加频道列表 10 months ago
majun 2fdc9404c3 频道完成 10 months ago
majun 2a674d3b71 111 10 months ago
majun 42f5ed8e7f 查询已完成 10 months ago
majun 1977d8021a 修正 10 months ago
majun 534e608286 Bug修正 10 months ago
majun b77b029b12 修bug 10 months ago
majun 472d86fc7a 编写接口 10 months ago
majun bd279fb85f 初始化v2 10 months ago
majun 5705c1c9ac 初始化 10 months ago
majun b7d9d0227f 环境搭建 10 months ago
majun 93150398bc 清空 10 months ago
majun 750776dbce 搭建框架 11 months ago
majun e78e7fbf86 清空 11 months ago
  1. 0
      .gitattributes
  2. 0
      .gitignore
  3. 0
      Makefile
  4. 0
      README.MD
  5. 16
      api/channel/channel.go
  6. 33
      api/channel/v1/channel.go
  7. 16
      api/subscription/subscription.go
  8. 23
      api/subscription/v1/subscription.go
  9. 15
      demo/api/hello/hello.go
  10. 12
      demo/api/hello/v1/hello.go
  11. 13
      demo/internal/controller/hello/hello_v1_hello.go
  12. 13
      demo/main.go
  13. 5
      go.mod
  14. 4
      go.sum
  15. 2
      hack/config.yaml
  16. 0
      hack/hack-cli.mk
  17. 0
      hack/hack.mk
  18. 8
      internal/cmd/cmd.go
  19. 0
      internal/consts/consts.go
  20. 2
      internal/controller/channel/channel.go
  21. 9
      internal/controller/channel/channel_new.go
  22. 21
      internal/controller/channel/channel_v1_get_channel.go
  23. 14
      internal/controller/channel/channel_v1_get_channel_list.go
  24. 5
      internal/controller/subscription/subscription.go
  25. 15
      internal/controller/subscription/subscription_new.go
  26. 21
      internal/controller/subscription/subscription_v1_add_subscription.go
  27. 17
      internal/controller/subscription/subscription_v1_delete_subscription.go
  28. 0
      internal/dao/.gitkeep
  29. 27
      internal/dao/go_channel_subscriptions.go
  30. 27
      internal/dao/go_channels.go
  31. 27
      internal/dao/go_shows.go
  32. 27
      internal/dao/go_users.go
  33. 77
      internal/dao/internal/go_channel_subscriptions.go
  34. 81
      internal/dao/internal/go_channels.go
  35. 95
      internal/dao/internal/go_shows.go
  36. 79
      internal/dao/internal/go_users.go
  37. 0
      internal/logic/.gitkeep
  38. 0
      internal/model/.gitkeep
  39. 0
      internal/model/do/.gitkeep
  40. 17
      internal/model/do/go_channel_subscriptions.go
  41. 19
      internal/model/do/go_channels.go
  42. 27
      internal/model/do/go_shows.go
  43. 18
      internal/model/do/go_users.go
  44. 0
      internal/model/entity/.gitkeep
  45. 12
      internal/model/entity/go_channel_subscriptions.go
  46. 14
      internal/model/entity/go_channels.go
  47. 26
      internal/model/entity/go_shows.go
  48. 13
      internal/model/entity/go_users.go
  49. 0
      internal/packed/packed.go
  50. 0
      internal/service/.gitkeep
  51. 15
      main.go
  52. 0
      manifest/deploy/kustomize/base/deployment.yaml
  53. 0
      manifest/deploy/kustomize/base/kustomization.yaml
  54. 0
      manifest/deploy/kustomize/base/service.yaml
  55. 0
      manifest/deploy/kustomize/overlays/develop/configmap.yaml
  56. 0
      manifest/deploy/kustomize/overlays/develop/deployment.yaml
  57. 0
      manifest/deploy/kustomize/overlays/develop/kustomization.yaml
  58. 0
      manifest/docker/Dockerfile
  59. 0
      manifest/docker/docker.sh
  60. 0
      manifest/i18n/.gitkeep
  61. 0
      manifest/protobuf/.keep-if-necessary
  62. 0
      resource/public/html/.gitkeep
  63. 532
      resource/public/html/api.html
  64. 0
      resource/public/plugin/.gitkeep
  65. 0
      resource/public/resource/css/.gitkeep
  66. 0
      resource/public/resource/image/.gitkeep
  67. 0
      resource/public/resource/js/.gitkeep
  68. 0
      resource/template/.gitkeep
  69. 0
      utility/.gitkeep

0
demo/.gitattributes → .gitattributes

0
demo/.gitignore → .gitignore

0
demo/Makefile → Makefile

0
demo/README.MD → README.MD

16
api/channel/channel.go

@ -0,0 +1,16 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package channel
import (
"context"
"practice_Go/api/channel/v1"
)
type IChannelV1 interface {
GetChannel(ctx context.Context, req *v1.GetChannelReq) (res *v1.GetChannelRes, err error)
GetChannelList(ctx context.Context, req *v1.GetChannelListReq) (res *v1.GetChannelListRes, err error)
}

33
api/channel/v1/channel.go

@ -0,0 +1,33 @@
package v1
import (
"practice_Go/internal/model/entity"
"github.com/gogf/gf/v2/frame/g"
)
type ChannelList struct {
Id int `json:"id" dc:"频道ID"`
Name string `json:"name" dc:"频道名称"`
}
type GetChannelReq struct {
g.Meta `path:"/channel" method:"get" tags:"Channel" 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"`
FlagType int `v:"min:1|max:2#类型不能小于1|类型不能大于2" dc:"列表类型"`
}
type GetChannelRes struct {
*entity.GoChannels `json:"channel" dc:"单个频道"`
List []*entity.GoShows `json:"shows" dc:"频道下的所有节目和对应创作人"`
Status bool `json:"status" dc:"订阅状态"`
}
type GetChannelListReq struct {
g.Meta `path:"/list" method:"get" tags:"ChannelList" summary:"获取频道列表"`
}
type GetChannelListRes struct {
List []*ChannelList `json:"list" dc:"频道列表"`
}

16
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)
}

23
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:"取消订阅是否成功"`
}

15
demo/api/hello/hello.go

@ -1,15 +0,0 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package hello
import (
"context"
"demo/api/hello/v1"
)
type IHelloV1 interface {
Hello(ctx context.Context, req *v1.HelloReq) (res *v1.HelloRes, err error)
}

12
demo/api/hello/v1/hello.go

@ -1,12 +0,0 @@
package v1
import (
"github.com/gogf/gf/v2/frame/g"
)
type HelloReq struct {
g.Meta `path:"/hello" tags:"Hello" method:"get" summary:"You first hello api"`
}
type HelloRes struct {
g.Meta `mime:"text/html" example:"string"`
}

13
demo/internal/controller/hello/hello_v1_hello.go

@ -1,13 +0,0 @@
package hello
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"demo/api/hello/v1"
)
func (c *ControllerV1) Hello(ctx context.Context, req *v1.HelloReq) (res *v1.HelloRes, err error) {
g.RequestFromCtx(ctx).Response.Writeln("Hello World!")
return
}

13
demo/main.go

@ -1,13 +0,0 @@
package main
import (
_ "demo/internal/packed"
"github.com/gogf/gf/v2/os/gctx"
"demo/internal/cmd"
)
func main() {
cmd.Main.Run(gctx.GetInitCtx())
}

5
demo/go.mod → go.mod

@ -1,9 +1,11 @@
module demo
module practice_Go
go 1.18 go 1.18
require github.com/gogf/gf/v2 v2.8.1 require github.com/gogf/gf/v2 v2.8.1
require github.com/go-sql-driver/mysql v1.7.1 // indirect
require ( require (
github.com/BurntSushi/toml v1.4.0 // indirect github.com/BurntSushi/toml v1.4.0 // indirect
github.com/clbanning/mxj/v2 v2.7.0 // indirect github.com/clbanning/mxj/v2 v2.7.0 // indirect
@ -12,6 +14,7 @@ require (
github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.8.1
github.com/gorilla/websocket v1.5.3 // indirect github.com/gorilla/websocket v1.5.3 // indirect
github.com/grokify/html-strip-tags-go v0.1.0 // indirect github.com/grokify/html-strip-tags-go v0.1.0 // indirect
github.com/magiconair/properties v1.8.7 // indirect github.com/magiconair/properties v1.8.7 // indirect

4
demo/go.sum → go.sum

@ -14,6 +14,10 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.8.1 h1:jbaPawkb8qmaYzrmBDbTa8Zkhzacq1RBOZw+qRJExI4=
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.8.1/go.mod h1:s2aI1fV9AvKi4NtMpv3pV0EHtazkvfUNVQmzapr7UJQ=
github.com/gogf/gf/v2 v2.8.1 h1:1oVQg3G5OgCats4qWFTH3pHLe92nfUQeUDta05tUs1g= github.com/gogf/gf/v2 v2.8.1 h1:1oVQg3G5OgCats4qWFTH3pHLe92nfUQeUDta05tUs1g=
github.com/gogf/gf/v2 v2.8.1/go.mod h1:6iYuZZ+A0ZcH8+4MDS/P0SvTPCvKzRvyAsY1kbkJYJc= github.com/gogf/gf/v2 v2.8.1/go.mod h1:6iYuZZ+A0ZcH8+4MDS/P0SvTPCvKzRvyAsY1kbkJYJc=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=

2
demo/hack/config.yaml → hack/config.yaml

@ -4,7 +4,7 @@
gfcli: gfcli:
gen: gen:
dao: dao:
- link: "mysql:root:12345678@tcp(127.0.0.1:3306)/test"
- link: "mysql:root:123456@tcp(127.0.0.1:3306)/demo"
descriptionTag: true descriptionTag: true
docker: docker:

0
demo/hack/hack-cli.mk → hack/hack-cli.mk

0
demo/hack/hack.mk → hack/hack.mk

8
demo/internal/cmd/cmd.go → internal/cmd/cmd.go

@ -2,12 +2,12 @@ package cmd
import ( import (
"context" "context"
"practice_Go/internal/controller/channel"
"practice_Go/internal/controller/subscription"
"github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/net/ghttp"
"github.com/gogf/gf/v2/os/gcmd" "github.com/gogf/gf/v2/os/gcmd"
"demo/internal/controller/hello"
) )
var ( var (
@ -20,9 +20,11 @@ var (
s.Group("/", func(group *ghttp.RouterGroup) { s.Group("/", func(group *ghttp.RouterGroup) {
group.Middleware(ghttp.MiddlewareHandlerResponse) group.Middleware(ghttp.MiddlewareHandlerResponse)
group.Bind( group.Bind(
hello.NewV1(),
channel.NewV1(),
subscription.NewV1(),
) )
}) })
s.SetServerRoot("resource/public")
s.Run() s.Run()
return nil return nil
}, },

0
demo/internal/consts/consts.go → internal/consts/consts.go

2
demo/internal/controller/hello/hello.go → internal/controller/channel/channel.go

@ -2,4 +2,4 @@
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish. // This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// ================================================================================= // =================================================================================
package hello
package channel

9
demo/internal/controller/hello/hello_new.go → internal/controller/channel/channel_new.go

@ -1,16 +1,15 @@
// ================================================================================= // =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// ================================================================================= // =================================================================================
package hello
package channel
import ( import (
"demo/api/hello"
"practice_Go/api/channel"
) )
type ControllerV1 struct{} type ControllerV1 struct{}
func NewV1() hello.IHelloV1 {
func NewV1() channel.IChannelV1 {
return &ControllerV1{} return &ControllerV1{}
} }

21
internal/controller/channel/channel_v1_get_channel.go

@ -0,0 +1,21 @@
package channel
import (
"context"
"practice_Go/api/channel/v1"
"practice_Go/internal/dao"
"practice_Go/internal/model/entity"
)
func (c *ControllerV1) GetChannel(ctx context.Context, req *v1.GetChannelReq) (res *v1.GetChannelRes, err error) {
res = &v1.GetChannelRes{}
err = dao.GoChannels.Ctx(ctx).WherePri(req.Id).Scan(&res.GoChannels)
query := dao.GoShows.Ctx(ctx).With(entity.GoUsers{}).Where("channel_id =?", req.Id)
if req.FlagType != 0 {
query = query.Where("flag_type =?", req.FlagType)
}
err = query.Scan(&res.List)
res.Status, err = dao.GoChannelSubscriptions.Ctx(ctx).Wheref("channel_id =? and user_id =?", req.Id, req.UserId).Exist()
return
}

14
internal/controller/channel/channel_v1_get_channel_list.go

@ -0,0 +1,14 @@
package channel
import (
"context"
"practice_Go/api/channel/v1"
"practice_Go/internal/dao"
)
func (c *ControllerV1) GetChannelList(ctx context.Context, req *v1.GetChannelListReq) (res *v1.GetChannelListRes, err error) {
res = &v1.GetChannelListRes{}
err = dao.GoChannels.Ctx(ctx).Fields("id, name").Scan(&res.List)
return
}

5
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

15
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{}
}

21
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
}

17
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
}

0
demo/internal/dao/.gitkeep → internal/dao/.gitkeep

27
internal/dao/go_channel_subscriptions.go

@ -0,0 +1,27 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package dao
import (
"practice_Go/internal/dao/internal"
)
// internalGoChannelSubscriptionsDao is internal type for wrapping internal DAO implements.
type internalGoChannelSubscriptionsDao = *internal.GoChannelSubscriptionsDao
// goChannelSubscriptionsDao is the data access object for table go_channel_subscriptions.
// You can define custom methods on it to extend its functionality as you wish.
type goChannelSubscriptionsDao struct {
internalGoChannelSubscriptionsDao
}
var (
// GoChannelSubscriptions is globally public accessible object for table go_channel_subscriptions operations.
GoChannelSubscriptions = goChannelSubscriptionsDao{
internal.NewGoChannelSubscriptionsDao(),
}
)
// Fill with you ideas below.

27
internal/dao/go_channels.go

@ -0,0 +1,27 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package dao
import (
"practice_Go/internal/dao/internal"
)
// internalGoChannelsDao is internal type for wrapping internal DAO implements.
type internalGoChannelsDao = *internal.GoChannelsDao
// goChannelsDao is the data access object for table go_channels.
// You can define custom methods on it to extend its functionality as you wish.
type goChannelsDao struct {
internalGoChannelsDao
}
var (
// GoChannels is globally public accessible object for table go_channels operations.
GoChannels = goChannelsDao{
internal.NewGoChannelsDao(),
}
)
// Fill with you ideas below.

27
internal/dao/go_shows.go

@ -0,0 +1,27 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package dao
import (
"practice_Go/internal/dao/internal"
)
// internalGoShowsDao is internal type for wrapping internal DAO implements.
type internalGoShowsDao = *internal.GoShowsDao
// goShowsDao is the data access object for table go_shows.
// You can define custom methods on it to extend its functionality as you wish.
type goShowsDao struct {
internalGoShowsDao
}
var (
// GoShows is globally public accessible object for table go_shows operations.
GoShows = goShowsDao{
internal.NewGoShowsDao(),
}
)
// Fill with you ideas below.

27
internal/dao/go_users.go

@ -0,0 +1,27 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package dao
import (
"practice_Go/internal/dao/internal"
)
// internalGoUsersDao is internal type for wrapping internal DAO implements.
type internalGoUsersDao = *internal.GoUsersDao
// goUsersDao is the data access object for table go_users.
// You can define custom methods on it to extend its functionality as you wish.
type goUsersDao struct {
internalGoUsersDao
}
var (
// GoUsers is globally public accessible object for table go_users operations.
GoUsers = goUsersDao{
internal.NewGoUsersDao(),
}
)
// Fill with you ideas below.

77
internal/dao/internal/go_channel_subscriptions.go

@ -0,0 +1,77 @@
// ==========================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// ==========================================================================
package internal
import (
"context"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
)
// GoChannelSubscriptionsDao is the data access object for table go_channel_subscriptions.
type GoChannelSubscriptionsDao struct {
table string // table is the underlying table name of the DAO.
group string // group is the database configuration group name of current DAO.
columns GoChannelSubscriptionsColumns // columns contains all the column names of Table for convenient usage.
}
// GoChannelSubscriptionsColumns defines and stores column names for table go_channel_subscriptions.
type GoChannelSubscriptionsColumns struct {
Id string // 频道订阅关系唯一ID,自增
UserId string // 关联的用户ID,指向go_users表的id,长度为8位整数,不能为空
ChannelId string // 关联的频道ID,指向go_channels表的id,不能为空
}
// goChannelSubscriptionsColumns holds the columns for table go_channel_subscriptions.
var goChannelSubscriptionsColumns = GoChannelSubscriptionsColumns{
Id: "id",
UserId: "user_id",
ChannelId: "channel_id",
}
// NewGoChannelSubscriptionsDao creates and returns a new DAO object for table data access.
func NewGoChannelSubscriptionsDao() *GoChannelSubscriptionsDao {
return &GoChannelSubscriptionsDao{
group: "default",
table: "go_channel_subscriptions",
columns: goChannelSubscriptionsColumns,
}
}
// DB retrieves and returns the underlying raw database management object of current DAO.
func (dao *GoChannelSubscriptionsDao) DB() gdb.DB {
return g.DB(dao.group)
}
// Table returns the table name of current dao.
func (dao *GoChannelSubscriptionsDao) Table() string {
return dao.table
}
// Columns returns all column names of current dao.
func (dao *GoChannelSubscriptionsDao) Columns() GoChannelSubscriptionsColumns {
return dao.columns
}
// Group returns the configuration group name of database of current dao.
func (dao *GoChannelSubscriptionsDao) Group() string {
return dao.group
}
// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
func (dao *GoChannelSubscriptionsDao) Ctx(ctx context.Context) *gdb.Model {
return dao.DB().Model(dao.table).Safe().Ctx(ctx)
}
// Transaction wraps the transaction logic using function f.
// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
// It commits the transaction and returns nil if function f returns nil.
//
// Note that, you should not Commit or Rollback the transaction in function f
// as it is automatically handled by this function.
func (dao *GoChannelSubscriptionsDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
return dao.Ctx(ctx).Transaction(ctx, f)
}

81
internal/dao/internal/go_channels.go

@ -0,0 +1,81 @@
// ==========================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// ==========================================================================
package internal
import (
"context"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
)
// GoChannelsDao is the data access object for table go_channels.
type GoChannelsDao struct {
table string // table is the underlying table name of the DAO.
group string // group is the database configuration group name of current DAO.
columns GoChannelsColumns // columns contains all the column names of Table for convenient usage.
}
// GoChannelsColumns defines and stores column names for table go_channels.
type GoChannelsColumns struct {
Id string // 频道唯一ID,自增
Image string // 频道图片路径或相关标识,可为空
Name string // 频道名称,最大长度255字符,不能为空
SubscriptionCount string // 频道订阅数量,初始值为0,可累加
BackgroundImage string // 频道背景图路径或相关标识,可为空
}
// goChannelsColumns holds the columns for table go_channels.
var goChannelsColumns = GoChannelsColumns{
Id: "id",
Image: "image",
Name: "name",
SubscriptionCount: "subscription_count",
BackgroundImage: "background_image",
}
// NewGoChannelsDao creates and returns a new DAO object for table data access.
func NewGoChannelsDao() *GoChannelsDao {
return &GoChannelsDao{
group: "default",
table: "go_channels",
columns: goChannelsColumns,
}
}
// DB retrieves and returns the underlying raw database management object of current DAO.
func (dao *GoChannelsDao) DB() gdb.DB {
return g.DB(dao.group)
}
// Table returns the table name of current dao.
func (dao *GoChannelsDao) Table() string {
return dao.table
}
// Columns returns all column names of current dao.
func (dao *GoChannelsDao) Columns() GoChannelsColumns {
return dao.columns
}
// Group returns the configuration group name of database of current dao.
func (dao *GoChannelsDao) Group() string {
return dao.group
}
// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
func (dao *GoChannelsDao) Ctx(ctx context.Context) *gdb.Model {
return dao.DB().Model(dao.table).Safe().Ctx(ctx)
}
// Transaction wraps the transaction logic using function f.
// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
// It commits the transaction and returns nil if function f returns nil.
//
// Note that, you should not Commit or Rollback the transaction in function f
// as it is automatically handled by this function.
func (dao *GoChannelsDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
return dao.Ctx(ctx).Transaction(ctx, f)
}

95
internal/dao/internal/go_shows.go

@ -0,0 +1,95 @@
// ==========================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// ==========================================================================
package internal
import (
"context"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
)
// GoShowsDao is the data access object for table go_shows.
type GoShowsDao struct {
table string // table is the underlying table name of the DAO.
group string // group is the database configuration group name of current DAO.
columns GoShowsColumns // columns contains all the column names of Table for convenient usage.
}
// GoShowsColumns defines and stores column names for table go_shows.
type GoShowsColumns struct {
Id string // 展示内容唯一ID,自增
Cover string // 展示内容封面路径或相关标识,可为空
Name string // 展示内容名称,最大长度255字符,不能为空
UserId string // 关联的用户ID,指向go_users表的id,长度为8位整数,不能为空
ReleaseTime string // 展示内容发布时间,可为空
VideoDuration string // 展示内容视频时长,格式根据实际情况定,可为空
ViewCount string // 展示内容观看数量,初始值为0,可累加
Comments string // 展示内容评论数量,初始值为0,可累加
Likes string // 展示内容点赞数量,初始值为0,可累加
FlagType string // 展示内容标识类型,按业务规则确定,可为空
ClubId string // 关联的俱乐部ID,指向go_clubs表的id,可为空
ChannelId string // 关联的频道ID,指向go_channels表的id,可为空
}
// goShowsColumns holds the columns for table go_shows.
var goShowsColumns = GoShowsColumns{
Id: "id",
Cover: "cover",
Name: "name",
UserId: "user_id",
ReleaseTime: "release_time",
VideoDuration: "video_duration",
ViewCount: "view_count",
Comments: "comments",
Likes: "likes",
FlagType: "flag_type",
ClubId: "club_id",
ChannelId: "channel_id",
}
// NewGoShowsDao creates and returns a new DAO object for table data access.
func NewGoShowsDao() *GoShowsDao {
return &GoShowsDao{
group: "default",
table: "go_shows",
columns: goShowsColumns,
}
}
// DB retrieves and returns the underlying raw database management object of current DAO.
func (dao *GoShowsDao) DB() gdb.DB {
return g.DB(dao.group)
}
// Table returns the table name of current dao.
func (dao *GoShowsDao) Table() string {
return dao.table
}
// Columns returns all column names of current dao.
func (dao *GoShowsDao) Columns() GoShowsColumns {
return dao.columns
}
// Group returns the configuration group name of database of current dao.
func (dao *GoShowsDao) Group() string {
return dao.group
}
// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
func (dao *GoShowsDao) Ctx(ctx context.Context) *gdb.Model {
return dao.DB().Model(dao.table).Safe().Ctx(ctx)
}
// Transaction wraps the transaction logic using function f.
// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
// It commits the transaction and returns nil if function f returns nil.
//
// Note that, you should not Commit or Rollback the transaction in function f
// as it is automatically handled by this function.
func (dao *GoShowsDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
return dao.Ctx(ctx).Transaction(ctx, f)
}

79
internal/dao/internal/go_users.go

@ -0,0 +1,79 @@
// ==========================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// ==========================================================================
package internal
import (
"context"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
)
// GoUsersDao is the data access object for table go_users.
type GoUsersDao struct {
table string // table is the underlying table name of the DAO.
group string // group is the database configuration group name of current DAO.
columns GoUsersColumns // columns contains all the column names of Table for convenient usage.
}
// GoUsersColumns defines and stores column names for table go_users.
type GoUsersColumns struct {
Id string // 用户唯一ID,自增,长度为8位整数
Username string // 用户名,最大长度255字符,不能为空
Avatar string // 用户头像路径或相关标识,可为空
Password string // 用户登录密码,最大长度255字符,不能为空
}
// goUsersColumns holds the columns for table go_users.
var goUsersColumns = GoUsersColumns{
Id: "id",
Username: "username",
Avatar: "avatar",
Password: "password",
}
// NewGoUsersDao creates and returns a new DAO object for table data access.
func NewGoUsersDao() *GoUsersDao {
return &GoUsersDao{
group: "default",
table: "go_users",
columns: goUsersColumns,
}
}
// DB retrieves and returns the underlying raw database management object of current DAO.
func (dao *GoUsersDao) DB() gdb.DB {
return g.DB(dao.group)
}
// Table returns the table name of current dao.
func (dao *GoUsersDao) Table() string {
return dao.table
}
// Columns returns all column names of current dao.
func (dao *GoUsersDao) Columns() GoUsersColumns {
return dao.columns
}
// Group returns the configuration group name of database of current dao.
func (dao *GoUsersDao) Group() string {
return dao.group
}
// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
func (dao *GoUsersDao) Ctx(ctx context.Context) *gdb.Model {
return dao.DB().Model(dao.table).Safe().Ctx(ctx)
}
// Transaction wraps the transaction logic using function f.
// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
// It commits the transaction and returns nil if function f returns nil.
//
// Note that, you should not Commit or Rollback the transaction in function f
// as it is automatically handled by this function.
func (dao *GoUsersDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
return dao.Ctx(ctx).Transaction(ctx, f)
}

0
demo/internal/logic/.gitkeep → internal/logic/.gitkeep

0
demo/internal/model/.gitkeep → internal/model/.gitkeep

0
demo/internal/model/do/.gitkeep → internal/model/do/.gitkeep

17
internal/model/do/go_channel_subscriptions.go

@ -0,0 +1,17 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package do
import (
"github.com/gogf/gf/v2/frame/g"
)
// GoChannelSubscriptions is the golang structure of table go_channel_subscriptions for DAO operations like Where/Data.
type GoChannelSubscriptions struct {
g.Meta `orm:"table:go_channel_subscriptions, do:true"`
Id interface{} // 频道订阅关系唯一ID,自增
UserId interface{} // 关联的用户ID,指向go_users表的id,长度为8位整数,不能为空
ChannelId interface{} // 关联的频道ID,指向go_channels表的id,不能为空
}

19
internal/model/do/go_channels.go

@ -0,0 +1,19 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package do
import (
"github.com/gogf/gf/v2/frame/g"
)
// GoChannels is the golang structure of table go_channels for DAO operations like Where/Data.
type GoChannels struct {
g.Meta `orm:"table:go_channels, do:true"`
Id interface{} // 频道唯一ID,自增
Image interface{} // 频道图片路径或相关标识,可为空
Name interface{} // 频道名称,最大长度255字符,不能为空
SubscriptionCount interface{} // 频道订阅数量,初始值为0,可累加
BackgroundImage interface{} // 频道背景图路径或相关标识,可为空
}

27
internal/model/do/go_shows.go

@ -0,0 +1,27 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package do
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
// GoShows is the golang structure of table go_shows for DAO operations like Where/Data.
type GoShows struct {
g.Meta `orm:"table:go_shows, do:true"`
Id interface{} // 展示内容唯一ID,自增
Cover interface{} // 展示内容封面路径或相关标识,可为空
Name interface{} // 展示内容名称,最大长度255字符,不能为空
UserId interface{} // 关联的用户ID,指向go_users表的id,长度为8位整数,不能为空
ReleaseTime *gtime.Time // 展示内容发布时间,可为空
VideoDuration *gtime.Time // 展示内容视频时长,格式根据实际情况定,可为空
ViewCount interface{} // 展示内容观看数量,初始值为0,可累加
Comments interface{} // 展示内容评论数量,初始值为0,可累加
Likes interface{} // 展示内容点赞数量,初始值为0,可累加
FlagType interface{} // 展示内容标识类型,按业务规则确定,可为空
ClubId interface{} // 关联的俱乐部ID,指向go_clubs表的id,可为空
ChannelId interface{} // 关联的频道ID,指向go_channels表的id,可为空
}

18
internal/model/do/go_users.go

@ -0,0 +1,18 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package do
import (
"github.com/gogf/gf/v2/frame/g"
)
// GoUsers is the golang structure of table go_users for DAO operations like Where/Data.
type GoUsers struct {
g.Meta `orm:"table:go_users, do:true"`
Id interface{} // 用户唯一ID,自增,长度为8位整数
Username interface{} // 用户名,最大长度255字符,不能为空
Avatar interface{} // 用户头像路径或相关标识,可为空
Password interface{} // 用户登录密码,最大长度255字符,不能为空
}

0
demo/internal/model/entity/.gitkeep → internal/model/entity/.gitkeep

12
internal/model/entity/go_channel_subscriptions.go

@ -0,0 +1,12 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package entity
// GoChannelSubscriptions is the golang structure for table go_channel_subscriptions.
type GoChannelSubscriptions struct {
Id int `json:"id" orm:"id" description:"频道订阅关系唯一ID,自增"` // 频道订阅关系唯一ID,自增
UserId int `json:"userId" orm:"user_id" description:"关联的用户ID,指向go_users表的id,长度为8位整数,不能为空"` // 关联的用户ID,指向go_users表的id,长度为8位整数,不能为空
ChannelId int `json:"channelId" orm:"channel_id" description:"关联的频道ID,指向go_channels表的id,不能为空"` // 关联的频道ID,指向go_channels表的id,不能为空
}

14
internal/model/entity/go_channels.go

@ -0,0 +1,14 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package entity
// GoChannels is the golang structure for table go_channels.
type GoChannels struct {
Id int `json:"id" orm:"id" description:"频道唯一ID,自增"` // 频道唯一ID,自增
Image string `json:"image" orm:"image" description:"频道图片路径或相关标识,可为空"` // 频道图片路径或相关标识,可为空
Name string `json:"name" orm:"name" description:"频道名称,最大长度255字符,不能为空"` // 频道名称,最大长度255字符,不能为空
SubscriptionCount int `json:"subscriptionCount" orm:"subscription_count" description:"频道订阅数量,初始值为0,可累加"` // 频道订阅数量,初始值为0,可累加
BackgroundImage string `json:"backgroundImage" orm:"background_image" description:"频道背景图路径或相关标识,可为空"` // 频道背景图路径或相关标识,可为空
}

26
internal/model/entity/go_shows.go

@ -0,0 +1,26 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package entity
import (
"github.com/gogf/gf/v2/os/gtime"
)
// GoShows is the golang structure for table go_shows.
type GoShows struct {
Id int `json:"id" orm:"id" description:"展示内容唯一ID,自增"` // 展示内容唯一ID,自增
Cover string `json:"cover" orm:"cover" description:"展示内容封面路径或相关标识,可为空"` // 展示内容封面路径或相关标识,可为空
Name string `json:"name" orm:"name" description:"展示内容名称,最大长度255字符,不能为空"` // 展示内容名称,最大长度255字符,不能为空
UserId int `json:"userId" orm:"user_id" description:"关联的用户ID,指向go_users表的id,长度为8位整数,不能为空"` // 关联的用户ID,指向go_users表的id,长度为8位整数,不能为空
User *GoUsers `json:"user" orm:"with:id=user_id" description:"关联的用户信息"` // 关联的用户信息
ReleaseTime *gtime.Time `json:"releaseTime" orm:"release_time" description:"展示内容发布时间,可为空"` // 展示内容发布时间,可为空
VideoDuration *gtime.Time `json:"videoDuration" orm:"video_duration" description:"展示内容视频时长,格式根据实际情况定,可为空"` // 展示内容视频时长,格式根据实际情况定,可为空
ViewCount int `json:"viewCount" orm:"view_count" description:"展示内容观看数量,初始值为0,可累加"` // 展示内容观看数量,初始值为0,可累加
Comments int `json:"comments" orm:"comments" description:"展示内容评论数量,初始值为0,可累加"` // 展示内容评论数量,初始值为0,可累加
Likes int `json:"likes" orm:"likes" description:"展示内容点赞数量,初始值为0,可累加"` // 展示内容点赞数量,初始值为0,可累加
FlagType int `json:"flagType" orm:"flag_type" description:"展示内容标识类型,按业务规则确定,可为空"` // 展示内容标识类型,按业务规则确定,可为空
ClubId int `json:"clubId" orm:"club_id" description:"关联的俱乐部ID,指向go_clubs表的id,可为空"` // 关联的俱乐部ID,指向go_clubs表的id,可为空
ChannelId int `json:"channelId" orm:"channel_id" description:"关联的频道ID,指向go_channels表的id,可为空"` // 关联的频道ID,指向go_channels表的id,可为空
}

13
internal/model/entity/go_users.go

@ -0,0 +1,13 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package entity
// GoUsers is the golang structure for table go_users.
type GoUsers struct {
Id int `json:"id" orm:"id" description:"用户唯一ID,自增,长度为8位整数"` // 用户唯一ID,自增,长度为8位整数
Username string `json:"username" orm:"username" description:"用户名,最大长度255字符,不能为空"` // 用户名,最大长度255字符,不能为空
Avatar string `json:"avatar" orm:"avatar" description:"用户头像路径或相关标识,可为空"` // 用户头像路径或相关标识,可为空
Password string `json:"password" orm:"password" description:"用户登录密码,最大长度255字符,不能为空"` // 用户登录密码,最大长度255字符,不能为空
}

0
demo/internal/packed/packed.go → internal/packed/packed.go

0
demo/internal/service/.gitkeep → internal/service/.gitkeep

15
main.go

@ -0,0 +1,15 @@
package main
import (
_ "practice_Go/internal/packed"
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
"github.com/gogf/gf/v2/os/gctx"
"practice_Go/internal/cmd"
)
func main() {
cmd.Main.Run(gctx.GetInitCtx())
}

0
demo/manifest/deploy/kustomize/base/deployment.yaml → manifest/deploy/kustomize/base/deployment.yaml

0
demo/manifest/deploy/kustomize/base/kustomization.yaml → manifest/deploy/kustomize/base/kustomization.yaml

0
demo/manifest/deploy/kustomize/base/service.yaml → manifest/deploy/kustomize/base/service.yaml

0
demo/manifest/deploy/kustomize/overlays/develop/configmap.yaml → manifest/deploy/kustomize/overlays/develop/configmap.yaml

0
demo/manifest/deploy/kustomize/overlays/develop/deployment.yaml → manifest/deploy/kustomize/overlays/develop/deployment.yaml

0
demo/manifest/deploy/kustomize/overlays/develop/kustomization.yaml → manifest/deploy/kustomize/overlays/develop/kustomization.yaml

0
demo/manifest/docker/Dockerfile → manifest/docker/Dockerfile

0
demo/manifest/docker/docker.sh → manifest/docker/docker.sh

0
demo/manifest/i18n/.gitkeep → manifest/i18n/.gitkeep

0
demo/manifest/protobuf/.keep-if-necessary → manifest/protobuf/.keep-if-necessary

0
demo/resource/public/html/.gitkeep → resource/public/html/.gitkeep

532
resource/public/html/api.html
File diff suppressed because it is too large
View File

0
demo/resource/public/plugin/.gitkeep → resource/public/plugin/.gitkeep

0
demo/resource/public/resource/css/.gitkeep → resource/public/resource/css/.gitkeep

0
demo/resource/public/resource/image/.gitkeep → resource/public/resource/image/.gitkeep

0
demo/resource/public/resource/js/.gitkeep → resource/public/resource/js/.gitkeep

0
demo/resource/template/.gitkeep → resource/template/.gitkeep

0
demo/utility/.gitkeep → utility/.gitkeep

Loading…
Cancel
Save