You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
292 lines
7.2 KiB
292 lines
7.2 KiB
package search |
|
|
|
import ( |
|
"go-common/app/interface/main/creative/model/archive" |
|
"go-common/app/interface/main/creative/model/music" |
|
"go-common/app/interface/main/creative/model/reply" |
|
) |
|
|
|
const ( |
|
//All for all of reply type. |
|
All = 0 |
|
//Archive for reply type. |
|
Archive = 1 |
|
//Article for reply type. |
|
Article = 12 |
|
//Audio for reply type. |
|
Audio = 14 |
|
//SmallVideo for reply type. |
|
SmallVideo = 5 |
|
) |
|
|
|
// Result search list. |
|
type Result struct { |
|
Class *ClassCount `json:"class"` |
|
Applies *ApplyStateCount `json:"apply_count"` |
|
Type map[int16]*TypeCount `json:"-"` |
|
ArrType []*TypeCount `json:"type"` |
|
OldArchives []*archive.OldArchiveVideoAudit `json:"archives"` |
|
Archives []*archive.ArcVideoAudit `json:"arc_audits"` |
|
Page struct { |
|
Pn int `json:"pn"` |
|
Ps int `json:"ps"` |
|
Count int `json:"count"` |
|
} `json:"page"` |
|
Aids []int64 `json:"-"` // from search, call archiveRPC |
|
Tip string `json:"tip"` |
|
} |
|
|
|
// StaffApplyResult search list. |
|
type StaffApplyResult struct { |
|
StateCount *ApplyStateCount `json:"state_count"` |
|
Type map[int16]*TypeCount `json:"-"` |
|
ArrType []*TypeCount `json:"type"` |
|
Applies []*StaffApply `json:"applies"` |
|
Page struct { |
|
Pn int `json:"pn"` |
|
Ps int `json:"ps"` |
|
Count int `json:"count"` |
|
} `json:"page"` |
|
Aids []int64 `json:"-"` // from search, call archiveRPC |
|
} |
|
|
|
// StaffApply str |
|
type StaffApply struct { |
|
ID int64 `json:"id"` |
|
Type int8 `json:"type"` |
|
Mid int64 `json:"mid"` |
|
Uname string `json:"uname"` |
|
State int8 `json:"state"` |
|
ApplyTitle string `json:"apply_title"` |
|
ApplyState int8 `json:"apply_state"` |
|
Archive *archive.ArcVideoAudit `json:"arc_audits"` |
|
} |
|
|
|
// ApplyStateCount pub count. |
|
type ApplyStateCount struct { |
|
Neglected int `json:"neglected"` |
|
Pending int `json:"pending"` |
|
Processed int `json:"processed"` |
|
} |
|
|
|
// ClassCount pub count. |
|
type ClassCount struct { |
|
Pubed int `json:"pubed"` |
|
NotPubed int `json:"not_pubed"` |
|
Pubing int `json:"is_pubing"` |
|
} |
|
|
|
// TypeCount archive count for a type. |
|
type TypeCount struct { |
|
Tid int16 `json:"tid"` |
|
Name string `json:"name"` |
|
Count int64 `json:"count"` |
|
} |
|
|
|
// Reply str |
|
type Reply struct { |
|
Message string `json:"message"` |
|
ID int64 `json:"id"` |
|
Floor int64 `json:"floor"` |
|
Count int `json:"count"` |
|
Root int64 `json:"root"` |
|
Oid int64 `json:"oid"` |
|
CTime string `json:"ctime"` |
|
MTime string `json:"mtime"` |
|
State int `json:"state"` |
|
Parent int64 `json:"parent"` |
|
Mid int64 `json:"mid"` |
|
Like int `json:"like"` |
|
Replier string `json:"replier"` |
|
Uface string `json:"uface"` |
|
Cover string `json:"cover"` |
|
Title string `json:"title"` |
|
Relation int `json:"relation"` |
|
IsElec int `json:"is_elec"` |
|
Type int `json:"type"` |
|
RootInfo *reply.Reply `json:"root_info"` |
|
ParentInfo *reply.Reply `json:"parent_info"` |
|
} |
|
|
|
//Replies for reply list. |
|
type Replies struct { |
|
SeID string `json:"seid"` |
|
Order string `json:"order"` |
|
Keyword string `json:"keyword"` |
|
Total int `json:"total"` |
|
PageCount int `json:"pagecount"` |
|
Repliers []int64 `json:"repliers"` |
|
DeriveOids []int64 `json:"-"` |
|
DeriveIds []int64 `json:"-"` |
|
Oids []int64 `json:"-"` |
|
TyOids map[int][]int64 `json:"-"` |
|
Result []*Reply `json:"result"` |
|
} |
|
|
|
//SimpleResult for archives simple result. |
|
type SimpleResult struct { |
|
ArchivesVideos []*SimpleArcVideos `json:"simple_arc_videos"` |
|
Class *ClassCount `json:"class"` |
|
Page struct { |
|
Pn int `json:"pn"` |
|
Ps int `json:"ps"` |
|
Count int `json:"count"` |
|
} `json:"page"` |
|
} |
|
|
|
//SimpleArcVideos for search archive & vidoes. |
|
type SimpleArcVideos struct { |
|
Archive *archive.SimpleArchive `json:"archive"` |
|
Videos []*archive.SimpleVideo `json:"videos"` |
|
} |
|
|
|
// ArcParam for es search param. |
|
type ArcParam struct { |
|
MID int64 |
|
AID int64 |
|
TypeID int64 |
|
Pn int |
|
Ps int |
|
State string |
|
Keyword string |
|
Order string |
|
} |
|
|
|
// Arc for search archive. |
|
type Arc struct { |
|
ID int64 `json:"id"` |
|
TypeID int64 `json:"typeid"` |
|
PID int64 `json:"pid"` |
|
State int64 `json:"state"` |
|
Duration int64 `json:"duration"` |
|
Title string `json:"title"` |
|
Cover string `json:"cover"` |
|
Desc string `json:"description"` |
|
PubDate string `json:"pubdate"` |
|
} |
|
|
|
// Pager for es page. |
|
type Pager struct { |
|
Num int `json:"num"` |
|
Size int `json:"size"` |
|
Total int `json:"total"` |
|
} |
|
|
|
// DCount for state count. |
|
type DCount struct { |
|
Count int `json:"doc_count"` |
|
} |
|
|
|
// PList for state count list. |
|
type PList struct { |
|
IsPubing DCount `json:"is_pubing"` |
|
NotPubed DCount `json:"not_pubed"` |
|
Pubed DCount `json:"pubed"` |
|
Pending DCount `json:"pending"` |
|
} |
|
|
|
// TList for type count list. |
|
type TList struct { |
|
DCount |
|
Key string `json:"key"` |
|
} |
|
|
|
// ArcResult archive list from search. |
|
type ArcResult struct { |
|
Page *Pager `json:"page"` |
|
Result struct { |
|
Vlist []*Arc `json:"vlist"` |
|
PList *PList `json:"plist"` |
|
TList []*TList `json:"tlist"` |
|
} `json:"result"` |
|
} |
|
|
|
// ReliesES str |
|
type ReliesES struct { |
|
Order string `json:"order"` |
|
Sort string `json:"sort"` |
|
Page *Pager `json:"page"` |
|
Result []*ReplyES `json:"result"` |
|
} |
|
|
|
// ReplyES str |
|
type ReplyES struct { |
|
Count int `json:"count"` |
|
CTime string `json:"ctime"` |
|
Floor int64 `json:"floor"` |
|
Hate int64 `json:"hate"` |
|
ID int64 `json:"id"` |
|
Like int `json:"like"` |
|
Message string `json:"message"` |
|
Mid int64 `json:"mid"` |
|
MTime string `json:"mtime"` |
|
OMid int64 `json:"o_mid"` |
|
Oid int64 `json:"oid"` |
|
Parent int64 `json:"parent"` |
|
Rcount int64 `json:"rcount"` |
|
Root int64 `json:"root"` |
|
State int `json:"state"` |
|
Type int `json:"type"` |
|
} |
|
|
|
//ReplyParam str |
|
type ReplyParam struct { |
|
Ak string |
|
Ck string |
|
OMID int64 |
|
OID int64 |
|
Pn int |
|
Ps int |
|
IsReport int8 |
|
Type int8 |
|
ResMdlPlat int8 |
|
FilterCtime string |
|
Kw string |
|
Order string |
|
IP string |
|
} |
|
|
|
// Bgm str |
|
type Bgm struct { |
|
SID int64 `json:"sid"` |
|
} |
|
|
|
// BgmResult str |
|
type BgmResult struct { |
|
Page *Pager `json:"page"` |
|
Result []*Bgm `json:"result"` |
|
} |
|
|
|
// MaterialRel str |
|
type MaterialRel struct { |
|
AID int64 `json:"aid"` |
|
} |
|
|
|
// BgmExtResult str |
|
type BgmExtResult struct { |
|
Page *Pager `json:"page"` |
|
Result []*MaterialRel `json:"result"` |
|
} |
|
|
|
// BgmSearchRes str |
|
type BgmSearchRes struct { |
|
Pager *Pager `json:"pager"` |
|
Bgms []*music.Music `json:"bgm"` |
|
} |
|
|
|
// ApplyResult apply list from search. |
|
type ApplyResult struct { |
|
Page *Pager `json:"page"` |
|
Result struct { |
|
Vlist []*Arc `json:"vlist"` |
|
ApplyPList *ApplyPList `json:"plist"` |
|
TList []*TList `json:"tlist"` |
|
} `json:"result"` |
|
} |
|
|
|
// ApplyPList for apply state count list. |
|
type ApplyPList struct { |
|
Neglected DCount `json:"neglected"` |
|
Pending DCount `json:"pending"` |
|
Processed DCount `json:"processed"` |
|
}
|
|
|