go-common/app/interface/main/mcn/model/mcnmodel/tables.go
2019-04-22 18:49:16 +08:00

313 lines
13 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package mcnmodel
import (
"go-common/app/interface/main/mcn/model"
"go-common/library/time"
)
// go get github.com/abice/go-enum
// go:generate go-enum -f=tables.go
// table names
const (
//TableNameMcnUp up
TableNameMcnUp = "mcn_up"
//TableNameMcnSign sign
TableNameMcnSign = "mcn_sign"
//TableNameMcnDataSummary data summary
TableNameMcnDataSummary = "mcn_data_summary"
//TableNameMcnDataUp data up
TableNameMcnDataUp = "mcn_data_up"
//TableNameUpBaseInfo up base info
TableNameUpBaseInfo = "up_base_info"
//TableNameMcnRankUpFan rank for up fans
TableNameMcnRankUpFan = "mcn_rank_up_fans"
//TableNameMcnRankArchiveLike rank for archive likes
TableNameMcnRankArchiveLike = "mcn_rank_archive_likes"
//TableNameMcnUpRecommendPool up recomment pool
TableNameMcnUpRecommendPool = "mcn_up_recommend_pool"
TableMcnUpPermissionApply = "mcn_up_permission_apply"
)
// DataType 数据类型1累计2昨日3上周4上月
/* ENUM(
Accumulate = 1
Day = 2
Week = 3
Month = 4
ActiveFans = 5
)*/
const (
// DataTypeAccumulate is a DataType of type Accumulate
DataTypeAccumulate DataType = 1
// DataTypeDay is a DataType of type Day
DataTypeDay DataType = 2
// DataTypeWeek is a DataType of type Week
DataTypeWeek DataType = 3
// DataTypeMonth is a DataType of type Month
DataTypeMonth DataType = 4
// DataTypeActiveFans active fans
DataTypeActiveFans DataType = 5
)
const (
// McnDataTypeDay is a McnDataType of type Day
McnDataTypeDay McnDataType = 1
// McnDataTypeMonth is a McnDataType of type Month
McnDataTypeMonth McnDataType = 2
)
// DataType .
type DataType int8
// McnUp up table
type McnUp struct {
ID int64 `json:"id" gorm:"column:id"`
SignID int64 `json:"sign_id" gorm:"column:sign_id"`
McnMid int64 `json:"mcn_mid" gorm:"column:mcn_mid"`
UpMid int64 `json:"up_mid" gorm:"column:up_mid"`
BeginDate time.Time `json:"begin_date" gorm:"column:begin_date"`
EndDate time.Time `json:"end_date" gorm:"column:end_date"`
ContractLink string `json:"contract_link" gorm:"column:contract_link"`
UpAuthLink string `json:"up_auth_link" gorm:"column:up_auth_link"`
RejectReason string `json:"reject_reason" gorm:"column:reject_reason"`
RejectTime string `json:"reject_time" gorm:"column:reject_time"`
State model.MCNUPState `json:"state" gorm:"column:state"`
UpType int8 `json:"up_type" gorm:"column:up_type"` // 用户类型0为站内1为站外
SiteLink string `json:"site_link" gorm:"column:site_link"` //up主站外账号链接, 如果up type为1该项必填
StateChangeTime time.Time `json:"state_change_time" gorm:"column:state_change_time"`
ConfirmTime time.Time `json:"confirm_time" gorm:"column:confirm_time"`
Ctime time.Time `json:"ctime" gorm:"column:ctime"`
Mtime time.Time `json:"mtime" gorm:"column:mtime"`
Permission uint32 `gorm:"column:permission" json:"permission"`
PublicationPrice int64 `gorm:"column:publication_price" json:"publication_price"` // 单位1/1000 元
}
// TableName .
func (s *McnUp) TableName() string {
return TableNameMcnUp
}
// IsBindable check if up canbe bind to other
func (s *McnUp) IsBindable() bool {
return isUpBindable(s.State)
}
// IsBeingBindedWithMcn check this up is in the middle of being binded with mcn,
func (s *McnUp) IsBeingBindedWithMcn(mcn *McnSign) bool {
if mcn == nil {
return false
}
if s.SignID == mcn.ID &&
(s.State == model.MCNUPStateOnReview || s.State == model.MCNUPStateNoAuthorize) {
return true
}
return false
}
// McnSign mcn sign table
type McnSign struct {
ID int64 `json:"id" gorm:"column:id"`
McnMid int64 `json:"mcn_mid" gorm:"column:mcn_mid"`
CompanyName string `json:"company_name" gorm:"column:company_name"`
CompanyLicenseID string `json:"company_license_id" gorm:"column:company_license_id"`
CompanyLicenseLink string `json:"company_license_link" gorm:"column:company_license_link"`
ContractLink string `json:"contract_link" gorm:"column:contract_link"`
ContactName string `json:"contact_name" gorm:"column:contact_name"`
ContactTitle string `json:"contact_title" gorm:"column:contact_title"`
ContactIdcard string `json:"contact_idcard" gorm:"column:contact_idcard"`
ContactPhone string `json:"contact_phone" gorm:"column:contact_phone"`
BeginDate time.Time `json:"begin_date" gorm:"column:begin_date"`
EndDate time.Time `json:"end_date" gorm:"column:end_date"`
RejectReason string `json:"reject_reason" gorm:"column:reject_reason"`
RejectTime time.Time `json:"reject_time" gorm:"column:reject_time"`
State model.MCNSignState `json:"state" gorm:"column:state"`
Ctime time.Time `json:"ctime" gorm:"column:ctime"`
Mtime time.Time `json:"mtime" gorm:"column:mtime"`
Permission uint32 `json:"permission" gorm:"column:permission"`
}
// TableName table name
func (s *McnSign) TableName() string {
return TableNameMcnSign
}
// McnDataType .
/* ENUM(
Day = 1
Month = 2
)*/
type McnDataType int8
// McnDataSummary table
type McnDataSummary struct {
ID int64 `json:"id" gorm:"column:id"`
McnMid int64 `json:"mcn_mid" gorm:"column:mcn_mid"`
SignID int64 `json:"sign_id" gorm:"column:sign_id"`
UpCount int64 `json:"up_count" gorm:"column:up_count"`
FansCountAccumulate int64 `json:"fans_count_accumulate" gorm:"column:fans_count_accumulate"`
FansCountOnline int64 `json:"fans_count_online" gorm:"column:fans_count_online"`
FansCountReal int64 `json:"fans_count_real" gorm:"column:fans_count_real"`
FansCountCheatAccumulate int64 `json:"fans_count_cheat_accumulate" gorm:"column:fans_count_cheat_accumulate"`
FansCountIncreaseDay int64 `json:"fans_count_increase_day" gorm:"column:fans_count_increase_day"`
PlayCountAccumulate int64 `json:"play_count_accumulate" gorm:"column:play_count_accumulate"`
PlayCountIncreaseDay int64 `json:"play_count_increase_day" gorm:"column:play_count_increase_day"`
ArchiveCountAccumulate int64 `json:"archive_count_accumulate" gorm:"column:archive_count_accumulate"`
ActiveTid int64 `json:"active_tid" gorm:"column:active_tid"`
GenerateDate time.Time `json:"generate_date" gorm:"column:generate_date"`
DataType McnDataType `json:"data_type" gorm:"column:data_type"`
Ctime time.Time `json:"ctime" gorm:"column:ctime"`
Mtime time.Time `json:"mtime" gorm:"column:mtime"`
}
// TableName table name
func (s *McnDataSummary) TableName() string {
return TableNameMcnDataSummary
}
// McnDataUp table name
type McnDataUp struct {
ID int64 `json:"id" gorm:"column:id"`
McnMid int64 `json:"mcn_mid" gorm:"column:mcn_mid"`
SignID int64 `json:"sign_id" gorm:"column:sign_id"`
UpMid int64 `json:"up_mid" gorm:"column:up_mid"`
DataType DataType `json:"data_type" gorm:"column:data_type"`
FansIncreaseAccumulate int32 `json:"fans_increase_accumulate" gorm:"column:fans_increase_accumulate"`
ArchiveCount int32 `json:"archive_count" gorm:"column:archive_count"`
PlayCount int64 `json:"play_count" gorm:"column:play_count"`
FansIncreaseMonth int64 `json:"fans_increase_month" gorm:"column:fans_increase_month"`
FansCount int64 `json:"fans_count" gorm:"column:fans_count"`
FansCountActive int64 `json:"fans_count_active" gorm:"column:fans_count_active"`
GenerateDate time.Time `json:"generate_date" gorm:"column:generate_date"`
Ctime time.Time `json:"ctime" gorm:"column:ctime"`
Mtime time.Time `json:"mtime" gorm:"column:mtime"`
}
// TableName table name
func (s *McnDataUp) TableName() string {
return TableNameMcnDataUp
}
// UpBaseInfo struct
type UpBaseInfo struct {
ID uint32 `gorm:"column:id"`
Mid int64 `gorm:"column:mid"`
ActiveTid int64 `gorm:"column:active_tid"`
ArticleCountAccumulate int `gorm:"column:article_count_accumulate"`
Activity int `gorm:"column:activity"`
FansCount int `gorm:"column:fans_count"`
}
// TableName .
func (s *UpBaseInfo) TableName() string {
return TableNameUpBaseInfo
}
// McnRankUpFan .
type McnRankUpFan struct {
ID int64 `json:"id" gorm:"column:id"`
McnMid int64 `json:"mcn_mid" gorm:"column:mcn_mid"`
SignID int64 `json:"sign_id" gorm:"column:sign_id"`
UpMid int64 `json:"up_mid" gorm:"column:up_mid"`
Value1 int64 `json:"value1" gorm:"column:value1"`
Value2 int64 `json:"value2" gorm:"column:value2"`
ActiveTid int16 `json:"active_tid" gorm:"column:active_tid"`
DataType DataType `json:"data_type" gorm:"column:data_type"`
GenerateDate time.Time `json:"generate_date" gorm:"column:generate_date"`
Ctime time.Time `json:"ctime" gorm:"column:ctime"`
Mtime time.Time `json:"mtime" gorm:"column:mtime"`
}
// TableName .
func (s *McnRankUpFan) TableName() string {
return TableNameMcnRankUpFan
}
// McnRankArchiveLike .
type McnRankArchiveLike struct {
ID int64 `json:"id" gorm:"column:id"`
McnMid int64 `json:"mcn_mid" gorm:"column:mcn_mid"`
SignID int64 `json:"sign_id" gorm:"column:sign_id"`
UpMid int64 `json:"up_mid" gorm:"column:up_mid"`
ArchiveID int64 `json:"archive_id" gorm:"column:avid"`
LikeCount int64 `json:"like_count" gorm:"column:like_count"`
PlayIncr int64 `json:"play_incr" gorm:"column:play_incr" `
DataType DataType `json:"data_type" gorm:"column:data_type"`
Tid int16 `json:"tid" gorm:"column:tid"`
GenerateDate time.Time `json:"generate_date" gorm:"column:generate_date"`
Ctime time.Time `json:"ctime" gorm:"column:ctime"`
Mtime time.Time `json:"mtime" gorm:"column:mtime"`
}
// TableName .
func (s *McnRankArchiveLike) TableName() string {
return TableNameMcnRankArchiveLike
}
// McnUpRecommendPool 推荐池 struct
type McnUpRecommendPool struct {
ID int64 `gorm:"column:id" json:"id"`
UpMid int64 `gorm:"column:up_mid" json:"up_mid"`
FansCount int64 `gorm:"column:fans_count" json:"fans_count"`
FansCountIncreaseMonth int64 `gorm:"column:fans_count_increase_month" json:"fans_count_increase_month"`
ArchiveCount int64 `gorm:"column:archive_count" json:"archive_count"`
PlayCountAccumulate int64 `gorm:"column:play_count_accumulate" json:"play_count_accumulate"`
PlayCountAverage int64 `gorm:"column:play_count_average" json:"play_count_average"`
ActiveTid int16 `gorm:"column:active_tid" json:"active_tid"`
LastArchiveTime time.Time `gorm:"column:last_archive_time" json:"last_archive_time"`
State uint8 `gorm:"column:state" json:"state"`
Source int64 `gorm:"column:source" json:"source"`
GenerateTime time.Time `gorm:"column:generate_time" json:"generate_time"`
Ctime time.Time `gorm:"column:ctime" json:"ctime"`
Mtime time.Time `gorm:"column:mtime" json:"mtime"`
}
// TableName table name.
func (s *McnUpRecommendPool) TableName() string {
return TableNameMcnUpRecommendPool
}
// MCNUPRecommendState 推荐状态
// MCNUPRecommendState .
type MCNUPRecommendState int8
// const .
const (
// MCNUPRecommendStateUnKnown 未知状态
MCNUPRecommendStateUnKnown MCNUPRecommendState = 0
// MCNUPRecommendStateOff 未推荐
MCNUPRecommendStateOff MCNUPRecommendState = 1
// MCNUPRecommendStateOn 推荐中
MCNUPRecommendStateOn MCNUPRecommendState = 2
// MCNUPRecommendStateBan 禁止推荐
MCNUPRecommendStateBan MCNUPRecommendState = 3
// MCNUPRecommendStateDel 移除中
MCNUPRecommendStateDel MCNUPRecommendState = 100
)
// MCNUPRecommendSource
// type MCNUPRecommendSource mcnadminmodel.MCNUPRecommendSource
//McnUpPermissionApply permission
type McnUpPermissionApply struct {
ID int64 `gorm:"column:id" json:"id"`
McnMid int64 `gorm:"column:mcn_mid" json:"mcn_mid"`
UpMid int64 `gorm:"column:up_mid" json:"up_mid"`
SignID int64 `gorm:"column:sign_id" json:"sign_id"`
NewPermission uint32 `gorm:"column:new_permission" json:"new_permission"`
OldPermission uint32 `gorm:"column:old_permission" json:"old_permission"`
RejectReason string `gorm:"-" json:"reject_reason"`
RejectTime time.Time `gorm:"-" json:"reject_time"`
State int8 `gorm:"column:state" json:"state"`
Ctime time.Time `gorm:"column:ctime" json:"ctime"`
Mtime time.Time `gorm:"column:mtime" json:"mtime"`
AdminID int64 `gorm:"-" json:"-"`
AdminName string `gorm:"-" json:"-"`
UpAuthLink string `gorm:"column:up_auth_link" json:"up_auth_link"`
}
// TableName table name.
func (s *McnUpPermissionApply) TableName() string {
return TableMcnUpPermissionApply
}