12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package model
- import "go-common/app/service/main/archive/api"
- // is
- 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 int32 `json:"click"`
- DM int32 `json:"dm"`
- Reply int32 `json:"reply"`
- Fav int32 `json:"fav"`
- Coin int32 `json:"coin"`
- Share int32 `json:"share"`
- NowRank int32 `json:"now_rank"`
- HisRank int32 `json:"his_rank"`
- Like int32 `json:"like"`
- Type string `json:"-"`
- Ts int64 `json:"-"`
- }
- // StatCount is
- type StatCount struct {
- Type string `json:"type"`
- Aid int64 `json:"id"`
- Count int32 `json:"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 = m.Click
- }
- if m.Coin >= 0 && m.Type == TypeForCoin {
- s.Coin = m.Coin
- }
- if m.DM >= 0 && m.Type == TypeForDm {
- s.Danmaku = m.DM
- }
- if m.Fav >= 0 && m.Type == TypeForFav {
- s.Fav = m.Fav
- }
- if m.Reply >= 0 && m.Type == TypeForReply {
- s.Reply = m.Reply
- }
- if m.Share >= 0 && m.Type == TypeForShare && m.Share > s.Share {
- s.Share = m.Share
- }
- if m.NowRank >= 0 && m.Type == TypeForRank {
- s.NowRank = m.NowRank
- }
- if m.HisRank >= 0 && m.Type == TypeForRank {
- s.HisRank = m.HisRank
- }
- if m.Like >= 0 && m.Type == TypeForLike {
- s.Like = m.Like
- }
- }
|