123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318 |
- package favorite
- import (
- "strconv"
- "go-common/app/interface/main/app-interface/model"
- "go-common/app/interface/main/app-interface/model/audio"
- "go-common/app/interface/main/app-interface/model/bplus"
- "go-common/app/interface/main/app-interface/model/sp"
- "go-common/app/interface/main/app-interface/model/topic"
- article "go-common/app/interface/openplatform/article/model"
- "go-common/app/service/main/archive/model/archive"
- "time"
- )
- type MyFavorite struct {
- Tab *Tab `json:"tab,omitempty"`
- Favorite *FavList `json:"favorite,omitempty"`
- }
- type Tab struct {
- Fav bool `json:"favorite"`
- Topic bool `json:"topic"`
- Article bool `json:"article"`
- Clips bool `json:"clips"`
- Albums bool `json:"albums"`
- Specil bool `json:"specil"`
- Cinema bool `json:"cinema"`
- Audios bool `json:"audios"`
- Menu bool `json:"menu"`
- PGCMenu bool `json:"pgc_menu"`
- Ticket bool `json:"ticket"`
- Product bool `json:"product"`
- }
- type FavList struct {
- Count int `json:"count"`
- Items []*FavItem `json:"items"`
- }
- type FavideoList struct {
- Count int `json:"count"`
- Items []*FavideoItem `json:"items"`
- }
- type TopicList struct {
- Count int `json:"count"`
- Items []*TopicItem `json:"items"`
- }
- type ArticleList struct {
- Count int `json:"count"`
- Items []*ArticleItem `json:"items"`
- }
- type ClipsList struct {
- *bplus.PageInfo
- Items []*ClipsItem `json:"items"`
- }
- type AlbumsList struct {
- *bplus.PageInfo
- Items []*AlbumItem `json:"items"`
- }
- type SpList struct {
- Count int `json:"count"`
- Items []*SpItem `json:"items"`
- }
- type AudioList struct {
- Count int `json:"count"`
- Items []*AudioItem `json:"items"`
- }
- func (i *FavItem) FromFav(f *Folder) {
- i.MediaID = f.MediaID
- i.Fid = f.Fid
- i.Mid = f.Mid
- i.Name = f.Name
- if f.Cover != nil {
- i.Cover = f.Cover
- }
- i.CurCount = f.CurCount
- i.State = f.State
- }
- type FavItem struct {
- MediaID int64 `json:"media_id"`
- Fid int `json:"fid"`
- Mid int `json:"mid"`
- Name string `json:"name"`
- CurCount int `json:"cur_count"`
- State int `json:"state"`
- Cover []Cover `json:"cover"`
- }
- func (i *FavideoItem) FromFavideo(fv *Archive) {
- i.Aid = fv.Aid
- i.Title = fv.Title
- i.Pic = fv.Pic
- i.Name = fv.Author.Name
- i.PlayNum = int(fv.Stat.View)
- i.Danmaku = int(fv.Stat.Danmaku)
- i.Param = strconv.FormatInt(int64(fv.Aid), 10)
- i.Goto = model.GotoAv
- i.URI = model.FillURI(i.Goto, i.Param, model.AvHandler(archive.BuildArchive3(fv.Arc)))
- i.UGCPay = fv.Rights.UGCPay
- }
- type FavideoItem struct {
- Aid int64 `json:"aid"`
- Title string `json:"title"`
- Pic string `json:"pic"`
- Name string `json:"name"`
- PlayNum int `json:"play_num"`
- Danmaku int `json:"danmaku"`
- Goto string `json:"goto"`
- Param string `json:"param"`
- URI string `json:"uri"`
- UGCPay int32 `json:"ugc_pay"`
- }
- func (i *TopicItem) FromTopic(tp *topic.List) {
- i.ID = tp.ID
- i.MID = tp.MID
- i.Name = tp.Name
- i.PCCover = tp.PCCover
- i.H5Cover = tp.H5Cover
- i.FavAt = tp.FavAt
- i.PCUrl = tp.PCUrl
- i.H5Url = tp.H5Url
- i.Desc = tp.Desc
- i.Param = strconv.FormatInt(int64(tp.ID), 10)
- i.Goto = model.GotoWeb
- i.URI = model.FillURI(i.Goto, i.Param, nil)
- }
- type TopicItem struct {
- ID int64 `json:"id"`
- MID int64 `json:"mid"`
- Name string `json:"name"`
- PCCover string `json:"pc_cover"`
- H5Cover string `json:"h5_cover"`
- FavAt int64 `json:"fav_at"`
- PCUrl string `json:"pc_url"`
- H5Url string `json:"h5_url"`
- Desc string `json:"desc"`
- Goto string `json:"goto"`
- Param string `json:"param"`
- URI string `json:"uri"`
- }
- func (i *ArticleItem) FromArticle(af *article.Favorite) {
- i.ID = af.ID
- i.Title = af.Title
- i.BannerURL = af.BannerURL
- i.TemplateID = int(af.TemplateID)
- i.Name = af.Author.Name
- i.ImageURLs = af.ImageURLs
- i.Summary = af.Summary
- i.FTime = af.FavoriteTime
- i.Param = strconv.FormatInt(int64(af.ID), 10)
- i.Goto = model.GotoArticle
- i.URI = model.FillURI(i.Goto, i.Param, nil)
- }
- type ArticleItem struct {
- ID int64 `json:"id"`
- Title string `json:"title"`
- TemplateID int `json:"template_id"`
- BannerURL string `json:"banner_url"`
- Name string `json:"name"`
- ImageURLs []string `json:"image_urls"`
- Summary string `json:"summary"`
- FTime int64 `json:"favorite_time"`
- Goto string `json:"goto"`
- Param string `json:"param"`
- URI string `json:"uri"`
- }
- func (i *ClipsItem) FromClips(c *bplus.ClipList) {
- i.ID = c.Content.Item.ID
- i.Name = c.Content.User.Name
- i.UID = c.Content.User.UID
- i.HeadURL = c.Content.User.HeadURL
- i.IsVIP = c.Content.User.IsVIP
- i.IsFollowed = c.Content.User.IsFollowed
- i.UploadTimeText = c.Content.Item.UploadTimeText
- i.Tags = c.Content.Item.Tags
- i.Cover = c.Content.Item.Cover
- i.VideoTime = c.Content.Item.VideoTime
- i.Desc = c.Content.Item.Desc
- i.DanakuNum = c.Content.Item.DanakuNum
- i.WatchedNum = c.Content.Item.WatchedNum
- i.Param = strconv.FormatInt(int64(c.Content.Item.ID), 10)
- i.Goto = model.GotoClip
- i.URI = model.FillURI(i.Goto, i.Param, nil)
- i.Status = c.Content.Item.ShowStatus
- i.Reply = c.Content.Item.Reply
- i.UploadTime = c.Content.Item.UploadTime
- i.Width = c.Content.Item.Width
- i.Height = c.Content.Item.Height
- i.FirstPic = c.Content.Item.FirstPic
- i.VideoPlayURL = c.Content.Item.VideoPlayURL
- i.BackupPlayURL = c.Content.Item.BackupPlayURL
- i.LikeNum = c.Content.Item.LikeNum
- }
- type ClipsItem struct {
- ID int64 `json:"id,omitempty"`
- Name string `json:"name,omitempty"`
- UID int64 `json:"uid,omitempty"`
- HeadURL string `json:"head_url,omitempty"`
- IsVIP int `json:"is_vip,omitempty"`
- UploadTimeText string `json:"upload_time_text,omitempty"`
- Tags []string `json:"tags,omitempty"`
- Cover struct {
- Def string `json:"default,omitempty"`
- } `json:"cover,omitempty"`
- VideoTime int `json:"video_time,omitempty"`
- Desc string `json:"description,omitempty"`
- DanakuNum int `json:"damaku_num,omitempty"`
- WatchedNum int `json:"watched_num,omitempty"`
- Goto string `json:"goto,omitempty"`
- Param string `json:"param,omitempty"`
- URI string `json:"uri,omitempty"`
- Status int `json:"status,omitempty"`
- Reply int `json:"reply,omitempty"`
- FirstPic string `json:"first_pic,omitempty"`
- BackupPlayURL []string `json:"backup_playurl,omitempty"`
- IsFollowed bool `json:"is_followed,omitempty"`
- UploadTime string `json:"upload_time,omitempty"`
- Width int `json:"width,omitempty"`
- Height int `json:"height,omitempty"`
- VideoPlayURL string `json:"video_playurl,omitempty"`
- LikeNum int `json:"like_num,omitempty"`
- }
- func (i *AlbumItem) FromAlbum(bp *bplus.AlbumList) {
- i.ID = bp.Content.ID
- i.Pic = bp.Content.Pic
- i.PicCount = bp.Content.PicCount
- i.ShowStatus = bp.Content.ShowStatus
- i.Param = strconv.FormatInt(int64(bp.Content.ID), 10)
- i.Goto = model.GotoAlbum
- i.URI = model.FillURI(i.Goto, i.Param, nil)
- }
- type AlbumItem struct {
- ID int64 `json:"id"`
- Pic []*bplus.Pictures `json:"pictures"`
- ShowStatus int `json:"show_status"`
- PicCount int `json:"pictures_count"`
- Goto string `json:"goto"`
- Param string `json:"param"`
- URI string `json:"uri"`
- }
- func (i *SpItem) FromSp(s *sp.Item) {
- i.SpID = s.SpID
- i.Title = s.Title
- i.Cover = s.Cover
- i.MCover = s.MCover
- i.SCover = s.SCover
- timeTmp, _ := time.Parse("2006-01-02 15:04", s.CTime)
- i.CTime = timeTmp.Unix()
- i.Param = strconv.FormatInt(int64(s.SpID), 10)
- i.Goto = model.GotoSp
- i.URI = model.FillURI(i.Goto, i.Param, nil)
- }
- type SpItem struct {
- SpID int64 `json:"spid"`
- Title string `json:"title"`
- Cover string `json:"cover"`
- MCover string `json:"m_cover"`
- SCover string `json:"s_cover"`
- CTime int64 `json:"create_at"`
- Goto string `json:"goto"`
- Param string `json:"param"`
- URI string `json:"uri"`
- }
- func (i *AudioItem) FromAudio(a *audio.FavAudio) {
- i.ID = a.ID
- i.Title = a.Title
- i.IsOpen = a.IsOpen
- i.Cover = a.ImgURL
- i.Count = a.RecordsNum
- }
- type AudioItem struct {
- ID int64 `json:"id"`
- Title string `json:"title"`
- Cover string `json:"cover"`
- IsOpen int `json:"is_open"`
- Count int `json:"count"`
- }
- type TabItem struct {
- Name string `json:"name"`
- Uri string `json:"uri"`
- Tab string `json:"tab"`
- }
- type TabParam struct {
- MobiApp string `form:"mobi_app"`
- Device string `form:"device"`
- Build int `form:"build"`
- Platform string `form:"platform"`
- Mid int64 `form:"mid"`
- Business string `form:"business"`
- AccessKey string `form:"access_key"`
- ActionKey string `form:"actionKey"`
- Filtered string `form:"filtered"`
- }
|