123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- package model
- import (
- "encoding/json"
- "strconv"
- artmdl "go-common/app/interface/openplatform/article/model"
- )
- const (
- // ActUpdate ...
- ActUpdate = "update"
- // ActInsert ...
- ActInsert = "insert"
- // ActDelete ...
- ActDelete = "delete"
- )
- // Message canal binlog message.
- type Message struct {
- Action string `json:"action"`
- Table string `json:"table"`
- New json.RawMessage `json:"new"`
- Old json.RawMessage `json:"old"`
- }
- // Article db struction.
- type Article struct {
- ID int64 `json:"article_id"`
- CTime string `json:"ctime"`
- CategoryID int64 `json:"category_id"`
- Title string `json:"title"`
- Summary string `json:"summary"`
- BannerURL string `json:"banner_url"`
- TemplateID int `json:"template_id"`
- State int `json:"state"`
- Mid int64 `json:"mid"`
- Reprint int `json:"reprint"`
- ImageURLs string `json:"image_urls"`
- OriginImageURLs string `json:"origin_image_urls"`
- PublishTime int `json:"publish_time"`
- DeletedTime int `json:"deleted_time"`
- Attributes int32 `json:"attributes,omitempty"`
- Reason string `json:"reject_reason,omitempty"`
- Words int64 `json:"words"`
- DynamicIntro string `json:"dynamic_intro"`
- MediaID int64 `json:"media_id"`
- }
- // SearchArticle .
- type SearchArticle struct {
- Article
- Tags string `json:"tags"`
- Content string `json:"content"`
- StatsView int64 `json:"stats_view"`
- StatsFavorite int64 `json:"stats_favorite"`
- StatsLikes int64 `json:"stats_likes"`
- StatsDisLike int64 `json:"stats_dislike"`
- StatsReply int64 `json:"stats_reply"`
- StatsShare int64 `json:"stats_share"`
- StatsCoin int64 `json:"stats_coin"`
- Keywords string `json:"keywords"`
- }
- // Author db struction.
- type Author struct {
- ID int64 `json:"id"`
- State int `json:"state"`
- Mid int64 `json:"mid"`
- DailyLimit int `json:"daily_limit"`
- }
- // Merge merges stat.
- func Merge(last, m *artmdl.StatMsg) (changed [][2]int64) {
- if m.View != nil && *m.View >= 0 {
- *last.View += *m.View
- changed = append(changed, [2]int64{int64(artmdl.FieldView), *last.View})
- }
- if m.Like != nil {
- *last.Like = *m.Like
- changed = append(changed, [2]int64{int64(artmdl.FieldLike), *last.Like})
- }
- if m.Dislike != nil {
- *last.Dislike = *m.Dislike
- }
- if m.Share != nil && *m.Share >= 0 {
- *last.Share += *m.Share
- }
- if m.Favorite != nil && *m.Favorite >= 0 {
- *last.Favorite = *m.Favorite
- changed = append(changed, [2]int64{int64(artmdl.FieldFav), *last.Favorite})
- }
- if m.Reply != nil && *m.Reply >= 0 {
- *last.Reply = *m.Reply
- changed = append(changed, [2]int64{int64(artmdl.FieldReply), *last.Reply})
- }
- if m.Coin != nil && *m.Coin >= 0 {
- *last.Coin = *m.Coin
- }
- return
- }
- // ReadURLs returns article's read urls.
- func ReadURLs(aid int64) []string {
- aidStr := strconv.FormatInt(aid, 10)
- return []string{
- "http://www.bilibili.com/read/cv/" + aidStr,
- "https://www.bilibili.com/read/cv/" + aidStr,
- "http://www.bilibili.com/read/app/" + aidStr,
- "https://www.bilibili.com/read/app/" + aidStr,
- }
- }
- // GameCacheRetry .
- type GameCacheRetry struct {
- Action string `json:"action"`
- Aid int64 `json:"aid"`
- }
- // FlowCacheRetry .
- type FlowCacheRetry struct {
- Aid int64 `json:"aid"`
- Mid int64 `json:"mid"`
- }
- // DynamicCacheRetry .
- type DynamicCacheRetry struct {
- Aid int64
- Mid int64
- Show bool
- Comment string
- Ts int64
- DynamicIntro string
- }
- // LikeMsg msg
- type LikeMsg struct {
- BusinessID int64 `json:"business_id"`
- MessageID int64 `json:"message_id"`
- LikesCount int64 `json:"likes_count"`
- DislikesCount int64 `json:"dislikes_count"`
- }
- // DynamicMsg msg
- type DynamicMsg struct {
- Card struct {
- Comment string `json:"comment"`
- Dynamic string `json:"dynamic"`
- OwnerID int64 `json:"owner_id"`
- Rid int64 `json:"rid"`
- Show int64 `json:"show"`
- Stype int64 `json:"stype"`
- Ts int64 `json:"ts"`
- Type int64 `json:"type"`
- } `json:"card"`
- }
- // Setting the setting struct
- type Setting struct {
- Recheck *Recheck
- }
- // Recheck setting struct
- type Recheck struct {
- Day int64 `json:"day"`
- View int64 `json:"view"`
- }
- // Read presents user reading duration struct
- type Read struct {
- Buvid string
- Aid int64
- Mid int64
- IP string
- From string
- StartTime int64
- EndTime int64
- }
|