12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package result
- import (
- "database/sql/driver"
- "sync"
- "time"
- )
- const (
- AttrYes = int32(1)
- AttrNo = int32(0)
- AttrBitIsPGC = uint(9)
- AttrBitIsBangumi = uint(11)
- )
- type ArchiveUpInfo struct {
- Table string
- Action string
- Nw *Archive
- Old *Archive
- }
- type ResultDelay struct {
- Lock sync.RWMutex
- AIDs map[int64]struct{}
- }
- // Result archive result
- type Archive struct {
- ID int64 `json:"id"`
- AID int64 `json:"aid"`
- Mid int64 `json:"mid"`
- TypeID int16 `json:"typeid"`
- Videos int `json:"videos"`
- Title string `json:"title"`
- Cover string `json:"cover"`
- Content string `json:"content"`
- Duration int `json:"duration"`
- Attribute int32 `json:"attribute"`
- Copyright int8 `json:"copyright"`
- Access int `json:"access"`
- PubTime wocaoTime `json:"pubtime"`
- CTime wocaoTime `json:"ctime"`
- MTime wocaoTime `json:"mtime"`
- State int `json:"state"`
- MissionID int64 `json:"mission_id"`
- OrderID int64 `json:"order_id"`
- RedirectURL string `json:"redirect_url"`
- Forward int64 `json:"forward"`
- Dynamic string `json:"dynamic"`
- }
- type wocaoTime string
- // Scan scan time.
- func (jt *wocaoTime) Scan(src interface{}) (err error) {
- switch sc := src.(type) {
- case time.Time:
- *jt = wocaoTime(sc.Format("2006-01-02 15:04:05"))
- case string:
- *jt = wocaoTime(sc)
- }
- return
- }
- // Value get time value.
- func (jt wocaoTime) Value() (driver.Value, error) {
- return time.Parse("2006-01-02 15:04:05", string(jt))
- }
- // AttrSet set attribute.
- func (a *Archive) AttrSet(v int32, bit uint) {
- a.Attribute = a.Attribute&(^(1 << bit)) | (v << bit)
- }
- // AttrVal get attribute.
- func (a *Archive) AttrVal(bit uint) int32 {
- return (a.Attribute >> bit) & int32(1)
- }
|