go-common/app/admin/main/mcn/model/statistics.go

266 lines
8.6 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package model
import (
arcmodel "go-common/app/service/main/archive/model/archive"
xtime "go-common/library/time"
)
const (
// TopDataLenth .
TopDataLenth int = 5
)
// DataType .
type DataType int8
// 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
)
// DataViewTypeSummary .
type DataViewTypeSummary int8
const (
// SignUpsAccumulate signed up accumulate amount.
SignUpsAccumulate DataViewTypeSummary = 1
// FansIncr signed up fans incr amount.
FansIncr DataViewTypeSummary = 2
// VideoUpsIncr signed up videoup incr amount.
VideoUpsIncr DataViewTypeSummary = 3
// PlaysIncr signed up paly incr amount.
PlaysIncr DataViewTypeSummary = 4
)
// DataViewFansTop .
type DataViewFansTop int8
const (
// McnFansIncr .
McnFansIncr DataViewFansTop = 1
// McnFansIncrRate .
McnFansIncrRate DataViewFansTop = 2
// UpFansIncr .
UpFansIncr DataViewFansTop = 3
// UpFansIncrRate .
UpFansIncrRate DataViewFansTop = 4
)
// MCNDataSummary .
type MCNDataSummary struct {
ID int64 `json:"id"`
MCNID int64 `json:"mcn_mid"`
SignID int64 `json:"sign_id"`
UPCount int64 `json:"up_count"`
FansCountAccumulate int64 `json:"fans_count_accumulate"`
FansCountOnline int64 `json:"fans_count_online"`
FansCountReal int64 `json:"fans_count_real"`
FansCountCheat int64 `json:"fans_count_cheat"`
FansCountCheatAccumulate int64 `json:"fans_count_cheat_accumulate"`
FansCountIncreaseDay int64 `json:"fans_count_increase_day"`
PlayCountAccumulate int64 `json:"play_count_accumulate"`
PlayCountIncreaseDay int64 `json:"play_count_increase_day"`
ArchiveCountAccumulate int64 `json:"archive_count_accumulate"`
ArchiveCountIncreaseDay int64 `json:"archive_count_increase_day"`
ActiveTID int64 `json:"active_tid"`
GenerateDate xtime.Time `json:"generate_date"`
Ctime xtime.Time `json:"ctime"`
Mtime xtime.Time `json:"mtime"`
}
// MCNDataUP .
type MCNDataUP struct {
ID int64 `json:"id"`
MCNID int64 `json:"mcn_mid"`
SignID int64 `json:"sign_id"`
UPMID int64 `json:"up_mid"`
DataType int8 `json:"data_type"`
FansCountAll int64 `json:"fans_count_all"`
FansCountActive int64 `json:"fans_count_active"`
FansIncreaseAccumulate int64 `json:"fans_increase_accumulate"`
ArchiveCount int64 `json:"archive_count"`
PlayCount int64 `json:"play_count"`
FansIncreaseMonth int64 `json:"fans_increase_month"`
GenerateDate xtime.Time `json:"generate_date"`
Ctime xtime.Time `json:"ctime"`
Mtime xtime.Time `json:"mtime"`
}
// MCNDataArchiveRank .
type MCNDataArchiveRank struct {
ID int64 `json:"id"`
MCNID int64 `json:"mcn_mid"`
SignID int64 `json:"sign_id"`
ArchiveID int64 `json:"archive_id"`
ArchiveTitle string `json:"archive_title"`
UPMID int64 `json:"up_mid"`
LikeCountAccumulate int64 `json:"like_count_accumulate"`
LikeCountIncrease int64 `json:"like_count_increase"`
PlayCountIncrease int64 `json:"play_count_increase"`
DataType int8 `json:"data_type"`
TID int64 `json:"tid"`
CtimeArchive xtime.Time `json:"ctime_archive"`
Ctime xtime.Time `json:"ctime"`
Mtime xtime.Time `json:"mtime"`
}
// RankDataBase 基本排行信息
type RankDataBase struct {
Tid int16 `json:"tid"`
DataType DataType `json:"data_type"`
}
// TidnameInfo tid name
type TidnameInfo struct {
Tid int16 `json:"tid"`
Name string `json:"name"`
}
// RankArchiveLikeInfo archive like rank info
type RankArchiveLikeInfo struct {
RankDataBase
ArchiveID int64 `json:"archive_id"` // 稿件ID
ArchiveTitle string `json:"archive_title"`
Pic string `json:"pic"` // 封面
TidName string `json:"tid_name"`
LikesIncrease int64 `json:"likes_increase"`
LikesAccumulate int64 `json:"likes_accumulate"`
PlayIncrease int64 `json:"play_increase"`
PlayAccumulate int64 `json:"play_accumulate"`
Ctime xtime.Time `json:"ctime"`
Stat arcmodel.Stat3 `json:"stat"` // 统计信息
Author arcmodel.Author3 `json:"author"` // up主信息
}
// TotalMcnDataInfo .
type TotalMcnDataInfo struct {
BaseInfo *McnDataOverview `json:"base_info"`
TopInfo *McnDataTopInfo `json:"top_info"`
TypesInfo *McnDataTypesInfo `json:"types_info"`
}
// McnDataTopInfo .
type McnDataTopInfo struct {
McnFansIncr []*FansRankIncr `json:"mcn_fans_incr"`
McnFansRateIncr []*FansRankIncr `json:"mcn_fans_rate_incr"`
UpFansIncr []*FansRankIncr `json:"up_fans_incr"`
UpFansRateIncr []*FansRankIncr `json:"up_fans_rate_incr"`
ArcLikesIncr []*LikesRankIncr `json:"arc_likes_incr"`
}
// FansRankIncr .
type FansRankIncr struct {
SignID int64 `json:"sign_id"`
Mid int64 `json:"mid"`
Name string `json:"name"`
Rank int16 `json:"rank"`
FansIncr int64 `json:"fans_incr"`
Fans int64 `json:"fans"`
RateIncr int64 `json:"rate_incr"`
}
// LikesRankIncr .
type LikesRankIncr struct {
McnMid int64 `json:"mcn_mid"`
McnName string `json:"mcn_name"`
UpMid int64 `json:"up_mid"`
UpName string `json:"up_name"`
AVID int64 `json:"avid"`
AVTitle string `json:"av_title"`
TID int16 `json:"tid"`
TypeName string `json:"type_name"`
LikesIncr int64 `json:"likes_incr"`
PlayIncr int64 `json:"play_incr"`
SignID int64 `json:"sign_id"`
}
// McnDataTypesInfo .
type McnDataTypesInfo struct {
SignUps []*DataTypes `json:"sign_ups"`
FansIncr []*DataTypes `json:"fans_incr"`
VideoupIncr []*DataTypes `json:"videoup_incr"`
PlayIncr []*DataTypes `json:"play_incr"`
}
// DataTypes .
type DataTypes struct {
TID int16 `json:"tid"`
TypeName string `json:"type_name"`
Total int64 `json:"total"`
Amount int64 `json:"amount"`
Rate int64 `json:"rate"`
}
// McnDataOverview base data.
type McnDataOverview struct {
Mcns int64 `json:"mcns"`
SignUps int64 `json:"sign_ups"`
SignUpsIncr int64 `json:"sign_ups_incr"`
Fans50 int64 `json:"fans_50"`
Fans10 int64 `json:"fans_10"`
Fans1 int64 `json:"fans_1"`
FansIncr50 int64 `json:"fans_incr_50"`
FansIncr10 int64 `json:"fans_incr_10"`
FansIncr1 int64 `json:"fans_incr_1"`
}
// McnRankFansOverview top5 data.
type McnRankFansOverview struct {
ID int64 `json:"id"`
SignID int64 `json:"sign_id"`
Mid int64 `json:"mid"`
DataView int8 `json:"data_view"`
DataType int8 `json:"data_type"`
Rank int16 `json:"rank"`
FansIncr int64 `json:"fans_incr"`
Fans int64 `json:"fans"`
GenerateDate xtime.Time `json:"generate_date"`
Ctime xtime.Time `json:"ctime"`
Mtime xtime.Time `json:"mtime"`
}
// McnDataTypeSummary tids data.
type McnDataTypeSummary struct {
ID int64 `json:"id"`
Tid int16 `json:"tid"`
DataView int8 `json:"data_view"`
DataType int8 `json:"data_type"`
Amount int64 `json:"amount"`
GenerateDate xtime.Time `json:"generate_date"`
Ctime xtime.Time `json:"ctime"`
Mtime xtime.Time `json:"mtime"`
}
// McnRankArchiveLikesOverview total mcn arc rank likes top
type McnRankArchiveLikesOverview struct {
ID int64 `json:"id"`
McnMid int64 `json:"mcn_mid"`
UpMid int64 `json:"up_mid"`
SignID int64 `json:"sign_id"`
Avid int64 `json:"avid"`
Tid int16 `json:"tid"`
Rank int16 `json:"rank"`
DataType int8 `json:"data_type"`
Likes int64 `json:"likes"`
Plays int64 `json:"plays"`
GenerateDate xtime.Time `json:"generate_date"`
Ctime xtime.Time `json:"ctime"`
Mtime xtime.Time `json:"mtime"`
}