model

package
v0.0.0-...-50df04f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 2, 2023 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Comment

type Comment struct {
	Id          int64  `json:"id" gorm:"column:cid;primary_key"`       //评论id
	Content     string `json:"content" gorm:"column:content"`          //评论内容
	CreatedTime int64  `json:"create_date" gorm:"column:created_time"` //评论时间
	User        User   `json:"user" gorm:"ForeignKey:UserID"`          //创建该评论的用户id
	UserID      int64  `json:"user_id" gorm:"column:uid"`              //外键:发布评论的用户ID
	Video       Video  `json:"video" gorm:"ForeignKey:VideoID"`        //视频
	VideoID     int64  `json:"video_id" gorm:"column:vid"`             //外键:发布评论的视频ID
}

func (*Comment) TableName

func (c *Comment) TableName() string

结构体Comment对应数据库中comments表

type Follow

type Follow struct {
	Id       string `json:"id" gorm:"column:follow_id;primary_key"`      //关注主键
	UserA    User   `json:"ua" gorm:"ForeignKey:UserAID"`                //用户A
	UserAID  int64  `json:"ua_id" gorm:"column:uaid"`                    //外键:用户A的ID
	UserB    User   `json:"ub" gorm:"ForeignKey:UserBID"`                //用户B
	UserBID  int64  `json:"ub_id" gorm:"column:ubid"`                    //外键:用户B的ID
	IsFollow bool   `json:"is_follow" gorm:"column:is_follow;default:0"` //true:A关注B,false:A未关注B
}

关注的操作

func (*Follow) TableName

func (f *Follow) TableName() string

type Friend

type Friend struct {
	Id       string `json:"id" gorm:"column:friend_id;primary_key"`      //好友主键
	UserA    User   `json:"ua" gorm:"ForeignKey:UserAID"`                //用户A
	UserAID  int64  `json:"ua_id" gorm:"column:uaid"`                    //外键:用户A的ID
	UserB    User   `json:"ub" gorm:"ForeignKey:UserBID"`                //用户B
	UserBID  int64  `json:"ub_id" gorm:"column:ubid"`                    //外键:用户B的ID
	IsFriend bool   `json:"is_friend" gorm:"column:is_friend;default:0"` //true:是,false:不是
}

好友,此处假设id小的为A用户,大的为B用户

func (*Friend) TableName

func (f *Friend) TableName() string

type Like

type Like struct {
	Id         string `json:"id" gorm:"column:like_id;primary_key"`            //点赞主键
	User       User   `json:"author" gorm:"ForeignKey:UserID"`                 //用户
	UserID     int64  `json:"user_id" gorm:"column:uid"`                       //外键:用户的ID
	Video      Video  `json:"video" gorm:"ForeignKey:VideoID"`                 //视频
	VideoID    int64  `json:"video_id" gorm:"column:vid"`                      //外键:视频的ID
	IsFavorite bool   `json:"is_favorite" gorm:"column:is_favorite;default:0"` //true:已点赞,false:未点赞
}

点赞视频的操作

func (*Like) TableName

func (u *Like) TableName() string

type Message

type Message struct {
	Id          int64  `json:"id" gorm:"column:message_id;primary_key"` //消息主键
	Content     string `json:"content" gorm:"column:content"`           //消息内容
	CreatedTime string `json:"create_time" gorm:"column:created_time"`  //消息时间,格式: yyyy-MM-dd HH:MM:ss
	UserA       User   `json:"ua" gorm:"ForeignKey:UserAID"`            //用户A
	UserAID     int64  `json:"ua_id" gorm:"column:uaid"`                //外键:用户A的ID
	UserB       User   `json:"ub" gorm:"ForeignKey:UserBID"`            //用户B
	UserBID     int64  `json:"ub_id" gorm:"column:ubid"`                //外键:用户B的ID
}

消息

func (*Message) TableName

func (f *Message) TableName() string

type User

type User struct {
	Id            int64  `json:"id" gorm:"column:uid;primary_key"`            //用户ID
	UserName      string `json:"name" gorm:"uniqueIndex;column:user_name"`    //昵称(唯一索引)
	Password      string `json:"password" gorm:"column:password"`             //密码
	FollowCount   int64  `json:"follow_count" gorm:"column:follow_count"`     //关注总数
	FollowerCount int64  `json:"follower_count" gorm:"column:follower_count"` //粉丝总数
	IsFollow      bool   `json:"is_follow" gorm:"column:is_follow;default:0"` //true:已关注,false:未关注

}

omitempty: 如果字段值为空,则在编码期间忽略该字段

func (*User) TableName

func (u *User) TableName() string

结构体User对应数据库中tk_user表

type Video

type Video struct {
	Id            int64  `json:"id" gorm:"column:vid;primary_key"`                  //视频主键
	Title         string `json:"title" gorm:"column:video_title"`                   //视频简介、标题
	PlayUrl       string `json:"play_url" gorm:"column:play_url"`                   //视频播放地址
	CoverUrl      string `json:"cover_url" gorm:"column:cover_url"`                 //视频封面地址
	FavoriteCount int64  `json:"favorite_count" gorm:"column:favorite_count"`       //视频点赞总数
	CommentCount  int64  `json:"comment_count" gorm:"column:comment_count"`         //视频评论总数
	CreatedTime   int64  `json:"created_time,omitempty" gorm:"column:created_time"` //视频创建时间,时间戳形式
	IsFavorite    bool   `json:"is_favorite" gorm:"column:is_favorite;default:0"`   //true:已点赞,false:未点赞
	User          User   `json:"author" gorm:"ForeignKey:UserID"`                   //视频作者
	UserID        int64  `json:"user_id" gorm:"column:uid"`                         //外键:视频作者的ID
}

json其实对应前端的 键 结构体名称+ID 即可设置外键

func (*Video) TableName

func (v *Video) TableName() string

结构体Video对应数据库中 tk_video 表

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL