Create & Init Project...
This commit is contained in:
73
app/job/main/stat/model/stat.go
Normal file
73
app/job/main/stat/model/stat.go
Normal file
@ -0,0 +1,73 @@
|
||||
package model
|
||||
|
||||
import "go-common/app/service/main/archive/api"
|
||||
|
||||
const (
|
||||
TypeForView = "view"
|
||||
TypeForDm = "dm"
|
||||
TypeForReply = "reply"
|
||||
TypeForFav = "fav"
|
||||
TypeForCoin = "coin"
|
||||
TypeForShare = "share"
|
||||
TypeForRank = "rank"
|
||||
TypeForLike = "like"
|
||||
)
|
||||
|
||||
// StatMsg stat info.
|
||||
type StatMsg struct {
|
||||
Aid int64 `json:"aid"`
|
||||
Click int `json:"click"`
|
||||
DM int `json:"dm"`
|
||||
Reply int `json:"reply"`
|
||||
Fav int `json:"fav"`
|
||||
Coin int `json:"coin"`
|
||||
Share int `json:"share"`
|
||||
NowRank int `json:"now_rank"`
|
||||
HisRank int `json:"his_rank"`
|
||||
Like int `json:"like"`
|
||||
DisLike int `json:"dislike_count"`
|
||||
Type string `json:"-"`
|
||||
Ts int64 `json:"-"`
|
||||
}
|
||||
|
||||
type StatCount struct {
|
||||
Type string `json:"type"`
|
||||
Aid int64 `json:"id"`
|
||||
Count int `json:"count"`
|
||||
DisLike int `json:"dislike_count"`
|
||||
TimeStamp int64 `json:"timestamp"`
|
||||
}
|
||||
|
||||
// Merge merge message and stat from db.
|
||||
func Merge(m *StatMsg, s *api.Stat) {
|
||||
if m.Click >= 0 && m.Type == TypeForView {
|
||||
s.View = int32(m.Click)
|
||||
}
|
||||
if m.Coin >= 0 && m.Type == TypeForCoin {
|
||||
s.Coin = int32(m.Coin)
|
||||
}
|
||||
if m.DM >= 0 && m.Type == TypeForDm {
|
||||
s.Danmaku = int32(m.DM)
|
||||
}
|
||||
if m.Fav >= 0 && m.Type == TypeForFav {
|
||||
s.Fav = int32(m.Fav)
|
||||
}
|
||||
if m.Reply >= 0 && m.Type == TypeForReply {
|
||||
s.Reply = int32(m.Reply)
|
||||
}
|
||||
if m.Share >= 0 && m.Type == TypeForShare && int32(m.Share) > s.Share {
|
||||
s.Share = int32(m.Share)
|
||||
}
|
||||
if m.NowRank >= 0 && m.Type == TypeForRank {
|
||||
s.NowRank = int32(m.NowRank)
|
||||
}
|
||||
if m.HisRank >= 0 && m.Type == TypeForRank {
|
||||
s.HisRank = int32(m.HisRank)
|
||||
}
|
||||
if m.Like >= 0 && m.Type == TypeForLike {
|
||||
s.Like = int32(m.Like)
|
||||
}
|
||||
if m.DisLike >= 0 && m.Type == TypeForLike {
|
||||
s.DisLike = int32(m.DisLike)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user