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.
147 lines
3.5 KiB
147 lines
3.5 KiB
package academy |
|
|
|
const ( |
|
//StateRemove 移除状态 |
|
StateRemove = -1 |
|
//StateNormal 正常状态 |
|
StateNormal = 0 |
|
//BusinessForArchvie 稿件 |
|
BusinessForArchvie = 1 |
|
//BusinessForArticle 专栏 |
|
BusinessForArticle = 2 |
|
//LogClientAcademy 日志服务类型 |
|
LogClientAcademy = 181 |
|
//DefaultState check search archive state |
|
DefaultState = 2018 |
|
) |
|
|
|
//TableName get table name |
|
func (a *Archive) TableName() string { |
|
return "academy_archive" |
|
} |
|
|
|
//Archive for academy achive & article. |
|
type Archive struct { |
|
ID int64 `gorm:"column:id"` |
|
OID int64 `gorm:"column:oid"` |
|
Title string `gorm:"column:title"` |
|
State int8 `gorm:"column:state"` |
|
Business int8 `gorm:"column:business"` |
|
CTime string `gorm:"column:ctime"` |
|
MTime string `gorm:"column:mtime"` |
|
Comment string `gorm:"column:comment"` |
|
Hot int64 `gorm:"column:hot"` |
|
} |
|
|
|
//TableName get table name |
|
func (at *ArchiveTag) TableName() string { |
|
return "academy_archive_tag" |
|
} |
|
|
|
//ArchiveTag for academy achive & tag relation . |
|
type ArchiveTag struct { |
|
ID int64 `gorm:"column:id"` |
|
OID int64 `gorm:"column:oid"` |
|
TID int64 `gorm:"column:tid"` |
|
State int8 `gorm:"column:state"` |
|
Business int8 `gorm:"column:business"` |
|
CTime string `gorm:"column:ctime"` |
|
MTime string `gorm:"column:mtime"` |
|
} |
|
|
|
//ArchiveOrigin for archive list. |
|
type ArchiveOrigin struct { |
|
OID int64 |
|
TIDs []int64 |
|
Comment string |
|
Business int8 |
|
} |
|
|
|
//ArchiveCount get archive count by tid. |
|
type ArchiveCount struct { |
|
TID int64 `gorm:"column:tid"` |
|
Count int `gorm:"column:count"` //当前tag关联的稿件量 |
|
} |
|
|
|
//ArchiveMeta for archive meta. |
|
type ArchiveMeta struct { |
|
OID int64 `json:"oid"` |
|
State int32 `json:"state"` |
|
Forbid int8 `json:"forbid"` |
|
Cover string `json:"cover"` |
|
Type string `json:"type"` |
|
Title string `json:"title"` |
|
UName string `json:"uname"` |
|
Comment string `json:"comment"` |
|
CTime int64 `json:"ctime"` |
|
MTime int64 `json:"mtime"` |
|
Tags map[int][]*TagMeta `json:"tags"` |
|
Hot int64 `json:"hot"` |
|
} |
|
|
|
//ArchiveTags for archive tag relation. |
|
type ArchiveTags struct { |
|
ID int64 `gorm:"column:id"` |
|
TID int64 `gorm:"column:tid"` |
|
OID int64 `gorm:"column:oid"` |
|
Type int8 `gorm:"column:type"` |
|
Business int8 `gorm:"column:business"` |
|
} |
|
|
|
//Archives for archive list |
|
type Archives struct { |
|
Pager *Pager `json:"pager"` |
|
Items []*ArchiveMeta `json:"items"` |
|
} |
|
|
|
// Pager Pager def. |
|
type Pager struct { |
|
Num int `json:"num"` |
|
Size int `json:"size"` |
|
Total int `json:"total"` |
|
} |
|
|
|
// LogParam for manager. |
|
type LogParam struct { |
|
UID int64 `json:"uid"` |
|
UName string `json:"uname"` |
|
Action string `json:"action"` |
|
TID int64 `json:"tid"` |
|
OIDs string `json:"oids"` |
|
OName string `json:"oname"` |
|
OState int8 `json:"ostate"` |
|
} |
|
|
|
// EsParam for es param. |
|
type EsParam struct { |
|
OID int64 |
|
Business int8 |
|
Keyword string |
|
Uname string |
|
TID []int64 |
|
Copyright int |
|
State int |
|
Pn int |
|
Ps int |
|
IP string |
|
TidsMap map[int][]int64 |
|
} |
|
|
|
// EsPage for es page. |
|
type EsPage struct { |
|
Num int `json:"num"` |
|
Size int `json:"size"` |
|
Total int `json:"total"` |
|
} |
|
|
|
// EsArc for search archive. |
|
type EsArc struct { |
|
OID int64 `json:"oid"` |
|
TID []int64 `json:"tid"` |
|
} |
|
|
|
// SearchResult archive list from search. |
|
type SearchResult struct { |
|
Page *EsPage `json:"page"` |
|
Result []*EsArc `json:"result"` |
|
}
|
|
|