diff --git a/api/channel/channel.go b/api/channel/channel.go new file mode 100644 index 0000000..b726246 --- /dev/null +++ b/api/channel/channel.go @@ -0,0 +1,15 @@ +// ================================================================================= +// 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) +} diff --git a/api/channel/v1/channel.go b/api/channel/v1/channel.go new file mode 100644 index 0000000..887da21 --- /dev/null +++ b/api/channel/v1/channel.go @@ -0,0 +1,19 @@ +package v1 + +import ( + "practice_Go/internal/model/entity" + + "github.com/gogf/gf/v2/frame/g" +) + +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"` +} + +type GetChannelRes struct { + *entity.GoChannels `json:"channel" dc:"单个频道"` + List []*entity.GoShows `json:"shows" dc:"频道下的所有节目和对应创作人"` + // `json:"status" dc:"频道是否订阅"` +} \ No newline at end of file diff --git a/go.mod b/go.mod index f025646..2b3f164 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,8 @@ go 1.18 require github.com/gogf/gf/v2 v2.8.1 +require github.com/go-sql-driver/mysql v1.7.1 // indirect + require ( github.com/BurntSushi/toml v1.4.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/go-logr/logr v1.4.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/grokify/html-strip-tags-go v0.1.0 // indirect github.com/magiconair/properties v1.8.7 // indirect diff --git a/go.sum b/go.sum index c153e8d..3640d20 100644 --- a/go.sum +++ b/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/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= 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/go.mod h1:6iYuZZ+A0ZcH8+4MDS/P0SvTPCvKzRvyAsY1kbkJYJc= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= diff --git a/internal/cmd/cmd.go b/internal/cmd/cmd.go index 5ad82cc..0b31372 100644 --- a/internal/cmd/cmd.go +++ b/internal/cmd/cmd.go @@ -2,12 +2,11 @@ package cmd import ( "context" + "practice_Go/internal/controller/channel" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/os/gcmd" - - ) var ( @@ -20,7 +19,7 @@ var ( s.Group("/", func(group *ghttp.RouterGroup) { group.Middleware(ghttp.MiddlewareHandlerResponse) group.Bind( - + channel.NewV1(), ) }) s.SetServerRoot("resource/public") diff --git a/internal/controller/channel/channel.go b/internal/controller/channel/channel.go new file mode 100644 index 0000000..ca1e43b --- /dev/null +++ b/internal/controller/channel/channel.go @@ -0,0 +1,5 @@ +// ================================================================================= +// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish. +// ================================================================================= + +package channel diff --git a/internal/controller/channel/channel_new.go b/internal/controller/channel/channel_new.go new file mode 100644 index 0000000..a634786 --- /dev/null +++ b/internal/controller/channel/channel_new.go @@ -0,0 +1,15 @@ +// ================================================================================= +// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish. +// ================================================================================= + +package channel + +import ( + "practice_Go/api/channel" +) + +type ControllerV1 struct{} + +func NewV1() channel.IChannelV1 { + return &ControllerV1{} +} diff --git a/internal/controller/channel/channel_v1_get_channel.go b/internal/controller/channel/channel_v1_get_channel.go new file mode 100644 index 0000000..45e0882 --- /dev/null +++ b/internal/controller/channel/channel_v1_get_channel.go @@ -0,0 +1,16 @@ +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) { + err = dao.GoChannels.Ctx(ctx).WherePri(req.Id).Scan(&res.GoChannels) + err = dao.GoShows.Ctx(ctx).With(entity.GoUsers{}).Where("channel_id =?", req.Id).Scan(&res.List) + + return +} diff --git a/internal/dao/go_channel_subscriptions.go b/internal/dao/go_channel_subscriptions.go new file mode 100644 index 0000000..e6a15c1 --- /dev/null +++ b/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. diff --git a/internal/dao/go_channels.go b/internal/dao/go_channels.go new file mode 100644 index 0000000..96623c3 --- /dev/null +++ b/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. diff --git a/internal/dao/go_shows.go b/internal/dao/go_shows.go new file mode 100644 index 0000000..c2863a7 --- /dev/null +++ b/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. diff --git a/internal/dao/go_users.go b/internal/dao/go_users.go new file mode 100644 index 0000000..ca97b1c --- /dev/null +++ b/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. diff --git a/internal/dao/internal/go_channel_subscriptions.go b/internal/dao/internal/go_channel_subscriptions.go new file mode 100644 index 0000000..1945383 --- /dev/null +++ b/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) +} diff --git a/internal/dao/internal/go_channels.go b/internal/dao/internal/go_channels.go new file mode 100644 index 0000000..ba6f52a --- /dev/null +++ b/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) +} diff --git a/internal/dao/internal/go_shows.go b/internal/dao/internal/go_shows.go new file mode 100644 index 0000000..fd56563 --- /dev/null +++ b/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) +} diff --git a/internal/dao/internal/go_users.go b/internal/dao/internal/go_users.go new file mode 100644 index 0000000..370e69a --- /dev/null +++ b/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) +} diff --git a/internal/model/do/go_channel_subscriptions.go b/internal/model/do/go_channel_subscriptions.go new file mode 100644 index 0000000..fd8d1fa --- /dev/null +++ b/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,不能为空 +} diff --git a/internal/model/do/go_channels.go b/internal/model/do/go_channels.go new file mode 100644 index 0000000..bf610d5 --- /dev/null +++ b/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{} // 频道背景图路径或相关标识,可为空 +} diff --git a/internal/model/do/go_shows.go b/internal/model/do/go_shows.go new file mode 100644 index 0000000..d70a210 --- /dev/null +++ b/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,可为空 +} diff --git a/internal/model/do/go_users.go b/internal/model/do/go_users.go new file mode 100644 index 0000000..1355588 --- /dev/null +++ b/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字符,不能为空 +} diff --git a/internal/model/entity/go_channel_subscriptions.go b/internal/model/entity/go_channel_subscriptions.go new file mode 100644 index 0000000..b35ae9f --- /dev/null +++ b/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,不能为空 +} diff --git a/internal/model/entity/go_channels.go b/internal/model/entity/go_channels.go new file mode 100644 index 0000000..e21717e --- /dev/null +++ b/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:"频道背景图路径或相关标识,可为空"` // 频道背景图路径或相关标识,可为空 +} diff --git a/internal/model/entity/go_shows.go b/internal/model/entity/go_shows.go new file mode 100644 index 0000000..bfd6e16 --- /dev/null +++ b/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,可为空 +} diff --git a/internal/model/entity/go_users.go b/internal/model/entity/go_users.go new file mode 100644 index 0000000..fb324db --- /dev/null +++ b/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字符,不能为空 +} diff --git a/main.exe~ b/main.exe~ new file mode 100644 index 0000000..b68065d Binary files /dev/null and b/main.exe~ differ diff --git a/main.go b/main.go index cff9434..8dd2208 100644 --- a/main.go +++ b/main.go @@ -3,6 +3,8 @@ 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"