go-common/app/admin/main/mcn/model/statistics.go
2019-04-22 18:49:16 +08:00

266 lines
8.6 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 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"`
}