94 lines
2.3 KiB
Go
94 lines
2.3 KiB
Go
package daily
|
|
|
|
import (
|
|
xtime "go-common/library/time"
|
|
"strconv"
|
|
|
|
"go-common/app/interface/main/app-show/model"
|
|
"go-common/app/service/main/archive/api"
|
|
)
|
|
|
|
// Show is module.
|
|
type Show struct {
|
|
*Head
|
|
Body []*Item `json:"body"`
|
|
}
|
|
|
|
// Head is show head.
|
|
type Head struct {
|
|
ID int `json:"-"`
|
|
ColumnID int `json:"column_id,omitempty"`
|
|
Plat int8 `json:"-"`
|
|
Title string `json:"title"`
|
|
Desc string `json:"desc"`
|
|
Rank int `json:"-"`
|
|
Build int `json:"-"`
|
|
Condition string `json:"-"`
|
|
Date int64 `json:"date,omitempty"`
|
|
Cover string `json:"cover,omitempty"`
|
|
Type string `json:"type,omitempty"`
|
|
Goto string `json:"goto,omitempty"`
|
|
Param string `json:"param,omitempty"`
|
|
URI string `json:"uri,omitempty"`
|
|
}
|
|
|
|
type Item struct {
|
|
Title string `json:"title"`
|
|
Cover string `json:"cover"`
|
|
URI string `json:"uri"`
|
|
Param string `json:"param"`
|
|
Goto string `json:"goto"`
|
|
// up
|
|
Name string `json:"name,omitempty"`
|
|
// stat
|
|
Play int `json:"play,omitempty"`
|
|
Danmaku int `json:"danmaku,omitempty"`
|
|
Reply int `json:"reply,omitempty"`
|
|
Fav int `json:"favourite,omitempty"`
|
|
// movie and bangumi badge
|
|
Status int8 `json:"status,omitempty"`
|
|
CoverMark string `json:"cover_mark,omitempty"`
|
|
// ranking
|
|
Pts int64 `json:"pts,omitempty"`
|
|
// av
|
|
PubDate xtime.Time `json:"pubdate"`
|
|
// av stat
|
|
Duration int64 `json:"duration,omitempty"`
|
|
// region
|
|
Rid int `json:"rid,omitempty"`
|
|
Rname string `json:"rname,omitempty"`
|
|
// tag
|
|
TagID int64 `json:"tag_id,omitempty"`
|
|
TagName string `json:"tag_name,omitempty"`
|
|
}
|
|
|
|
// ColumnList
|
|
type ColumnList struct {
|
|
Cid int `json:"cid,omitempty"`
|
|
Ceid int `json:"ceid,omitempty"`
|
|
Name string `json:"name,omitempty"`
|
|
Cname string `json:"-"`
|
|
Children []*ColumnList `json:"children,omitempty"`
|
|
}
|
|
|
|
// FromArchivePB from archive.
|
|
func (i *Item) FromArchivePB(a *api.Arc) {
|
|
i.Title = a.Title
|
|
i.Cover = a.Pic
|
|
i.Param = strconv.FormatInt(a.Aid, 10)
|
|
i.URI = model.FillURI(model.GotoAv, i.Param, nil)
|
|
i.Goto = model.GotoAv
|
|
i.Play = int(a.Stat.View)
|
|
i.Danmaku = int(a.Stat.Danmaku)
|
|
i.Name = a.Author.Name
|
|
i.Reply = int(a.Stat.Reply)
|
|
i.Fav = int(a.Stat.Fav)
|
|
i.PubDate = a.PubDate
|
|
i.Rid = int(a.TypeID)
|
|
i.Rname = a.TypeName
|
|
i.Duration = a.Duration
|
|
if a.Access > 0 {
|
|
i.Play = 0
|
|
}
|
|
}
|