123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- package model
- import (
- "fmt"
- "go-common/library/time"
- )
- const (
- //ModulesNotDelete module not delete
- ModulesNotDelete = 0
- //ModulesDelete module delete
- ModulesDelete = 1
- //ModulesValid module is valid
- ModulesValid = 1
- //ModulesPublishYes module is publish status in MC
- ModulesPublishYes = 1
- //ModulesPublishNo module is not publish status in MC
- ModulesPublishNo = 0
- //PageMain 主页
- PageMain = 0
- //PageJP 追番
- PageJP = 1
- //PageMovie 电影
- PageMovie = 2
- //PageDocumentary 纪录片
- PageDocumentary = 3
- //PageCN 国创
- PageCN = 4
- //PageSoapopera 电视剧
- PageSoapopera = 5
- //TypeSevenFocus 首页七格焦点图
- TypeSevenFocus = 1
- //TypeFiveFocus 5格焦点
- TypeFiveFocus = 2
- //TypeSixFocus 6格焦点
- TypeSixFocus = 3
- //TypeVertListFirst 竖图1列表
- TypeVertListFirst = 4
- //TypeVertListSecond 竖图2列表
- TypeVertListSecond = 5
- //TypeHorizList 横图列表
- TypeHorizList = 6
- //TypeZhuiFan 追番模块
- TypeZhuiFan = 7
- )
- // Modules is use for Modular
- type Modules struct {
- ID uint64 `json:"id"`
- PageID string `json:"page_id" form:"page_id" validate:"required"`
- Flexible string `json:"flexible" form:"flexible" validate:"required"`
- Icon string `json:"icon" form:"icon"`
- Title string `json:"title" form:"title" validate:"required"`
- Capacity uint64 `json:"capacity" form:"capacity" validate:"required"`
- More string `json:"more" form:"more" validate:"required"`
- Order uint8 `json:"order"`
- Moretype string `json:"moretype" form:"moretype"`
- Morepage int64 `json:"morepage" form:"morepage"`
- Deleted uint8 `json:"-"`
- Valid uint8 `json:"valid"`
- ModCore
- }
- // ModulesAddParam is use for Modular add param
- type ModulesAddParam struct {
- ID uint64 `form:"id" validate:"required"`
- PageID string `form:"page_id" validate:"required"`
- Flexible string `form:"flexible" validate:"required"`
- Icon string `form:"icon"`
- Title string `form:"title" validate:"required"`
- Capacity uint64 `form:"capacity" validate:"required"`
- More string `form:"more" validate:"required"`
- Moretype string `json:"moretype" form:"moretype"`
- Morepage int64 `json:"morepage" form:"morepage"`
- Order uint8
- ModCore
- }
- // ModCore def.
- type ModCore struct {
- Type string `json:"type" form:"type" validate:"required"`
- Source string `json:"source" form:"source" validate:"required"`
- SrcType int `json:"src_type" form:"src_type" validate:"required"`
- }
- //ModPub is used for store publish status
- type ModPub struct {
- Time string
- State uint8
- }
- //ModulesList is used for function module list
- type ModulesList struct {
- Items []*Modules `json:"items"`
- PubState uint8 `json:"pubstate"`
- PubTime string `json:"pubtime"`
- }
- // TableName tv modules
- func (a Modules) TableName() string {
- return "tv_modules"
- }
- //CommonCat , PGC types or ugc second level types
- type CommonCat struct {
- ID int32 `json:"id"`
- PID int32 `json:"pid"`
- Name string `json:"name"`
- Type int `json:"type"`
- }
- //ParentCat : ugc first level types
- type ParentCat struct {
- ID int32 `json:"id"`
- Name string `json:"name"`
- Type int `json:"type"`
- Children []*CommonCat `json:"children,omitempty"`
- }
- //SupCats : support category map
- type SupCats struct {
- UgcMap map[int32]int
- PgcMap map[int32]int
- }
- // AbnorCids is the export format for abnormal cids
- type AbnorCids struct {
- CID int64 `json:"cid"`
- VideoTitle string `json:"video_title"`
- CTime string `json:"ctime"`
- AID int64 `json:"aid"`
- ArcTitle string `json:"arc_title"`
- PubTime string `json:"pub_time"`
- }
- // Export transforms the structure to export csv data
- func (v *AbnorCids) Export() (res []string) {
- res = append(res, fmt.Sprintf("%d", v.CID))
- res = append(res, v.VideoTitle)
- res = append(res, v.CTime)
- res = append(res, fmt.Sprintf("%d", v.AID))
- res = append(res, v.ArcTitle)
- res = append(res, v.PubTime)
- return
- }
- // AbnorVideo def.
- type AbnorVideo struct {
- CID int64
- VideoTitle string
- CTime time.Time
- AID int64
- }
- // ToCids transforms the archive & video to abnormal cid export structure
- func (v *AbnorVideo) ToCids(arc *Archive) *AbnorCids {
- return &AbnorCids{
- CID: v.CID,
- VideoTitle: v.VideoTitle,
- CTime: v.CTime.Time().Format("2006-01-02 15:04:05"),
- AID: v.AID,
- ArcTitle: arc.Title,
- PubTime: arc.Pubtime.Time().Format("2006-01-02 15:04:05"),
- }
- }
|