123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package model
- import (
- artmdl "go-common/app/interface/openplatform/article/model"
- "go-common/app/service/main/archive/api"
- "go-common/app/service/main/archive/model/archive"
- "go-common/library/time"
- )
- // feed type
- const (
- ArchiveType = 0
- BangumiType = 1
- TypeApp = iota
- TypeWeb
- TypeArt
- )
- // FeedType return feed type
- func FeedType(app bool) int {
- if app {
- return TypeApp
- }
- return TypeWeb
- }
- // Feed struct of Feed
- type Feed struct {
- Type int64 `json:"type"`
- // Data is *api.Arc or *Bangumi
- Archive *api.Arc `json:"archive"`
- Bangumi *Bangumi `json:"bangumi"`
- // ID is aid or SeasonID
- ID int64 `json:"id"`
- PubDate time.Time `json:"pubdate"`
- Fold []*api.Arc `json:"fold"`
- }
- type Feeds []*Feed
- func (as Feeds) Len() int { return len(as) }
- func (as Feeds) Less(i, j int) bool {
- if as[i].PubDate != as[j].PubDate {
- return as[i].PubDate > as[j].PubDate
- }
- return as[i].ID > as[j].ID
- }
- func (as Feeds) Swap(i, j int) { as[i], as[j] = as[j], as[i] }
- type ArticleFeeds []*artmdl.Meta
- func (as ArticleFeeds) Len() int { return len(as) }
- func (as ArticleFeeds) Less(i, j int) bool {
- if as[i].PublishTime != as[j].PublishTime {
- return as[i].PublishTime > as[j].PublishTime
- }
- return as[i].ID > as[j].ID
- }
- func (as ArticleFeeds) Swap(i, j int) { as[i], as[j] = as[j], as[i] }
- // Arcs AidPubTime slice
- type Arcs []*archive.AidPubTime
- func (as Arcs) Len() int { return len(as) }
- func (as Arcs) Less(i, j int) bool {
- if as[i].PubDate != as[j].PubDate {
- return as[i].PubDate > as[j].PubDate
- }
- return as[i].Aid > as[j].Aid
- }
- func (as Arcs) Swap(i, j int) { as[i], as[j] = as[j], as[i] }
|