123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- package model
- import (
- "go-common/library/time"
- )
- const (
- _TypeUGC = 2
- _TypePGC = 1
- )
- // Homepage is the home page struct
- type Homepage struct {
- Recom []*Card `json:"recom"`
- Latest []*Card `json:"latest"`
- Lists map[string][]*Card `json:"lists"`
- Follow []*Follow `json:"follow,omitempty"`
- }
- // Card is the unit to display
- type Card struct {
- SeasonID int `json:"season_id"`
- Title string `json:"title"`
- Cover string `json:"cover"`
- Type int `json:"type"` // 1=pgc, 2=ugc
- NewEP *NewEP `json:"new_ep"`
- CornerMark *SnVipCorner `json:"cornermark"`
- }
- // IsUGC returns whether the card is ugc card
- func (c Card) IsUGC() bool {
- return c.Type == _TypeUGC
- }
- // BePGC def.
- func (c *Card) BePGC() {
- c.Type = _TypePGC
- }
- // NewEP is the latest EP of a season
- type NewEP struct {
- ID int64 `json:"id"`
- Index string `json:"index"`
- IndexShow string `json:"index_show"`
- Cover string `json:"cover"`
- }
- // Rank represents the table TV_RANK
- type Rank struct {
- ID int64
- Rank int
- Title string
- Type int8
- CID int64
- ContID int64
- Category int8
- Position int32
- IsDeleted int8
- Ctime time.Time
- Mtime time.Time
- }
- // SimpleRank picks the necessary fields from tv_rank
- type SimpleRank struct {
- ContID int64
- ContType int
- }
- // RespModInterv is the response struct for mod intervention
- type RespModInterv struct {
- Ranks []*SimpleRank
- AIDs []int64
- SIDs []int64
- }
- // IsUGC returns whether the card is ugc card
- func (c SimpleRank) IsUGC() bool {
- return c.ContType == _TypeUGC
- }
- // ReqZone is the request struct of zone page
- type ReqZone struct {
- SType int
- IntervType int
- LengthLimit int
- IntervM int
- PGCListM map[int][]*Card
- }
- //RespAI is the response of AI ugc rank data
- type RespAI struct {
- Note string `json:"note"`
- SourceData string `json:"source_data"`
- Code int `json:"code"`
- Num int `json:"num"`
- List []*AIData `json:"list"`
- }
- // AIData is the ai card structure
- type AIData struct {
- AID int `json:"aid"`
- MID int `json:"mid"`
- Pts int `json:"pts"`
- Play int `json:"play"`
- Coints int `json:"coins"`
- VideoReview int `json:"video_review"`
- }
- //ToCard transforms an ArcCMS to Card
- func (a ArcCMS) ToCard() *Card {
- return &Card{
- SeasonID: int(a.AID),
- Title: a.Title,
- Cover: a.Cover,
- Type: _TypeUGC,
- NewEP: &NewEP{Cover: a.Cover},
- }
- }
- //ToIdxSn transforms an ArcCMS to IdxSeason
- func (a ArcCMS) ToIdxSn() *IdxSeason {
- return &IdxSeason{
- SeasonID: a.AID,
- Title: a.Title,
- Cover: a.Cover,
- Upinfo: "",
- }
- }
- // ReqZoneInterv is the request structure for zone intervention
- type ReqZoneInterv struct {
- RankType int
- Category int
- Limit int
- }
|