123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- package archive
- import (
- "go-common/library/time"
- )
- // State + Attr + Copyright + Upfrom
- const (
- // open state
- StateOpen = int8(0)
- StateOrange = int8(1)
- // forbit state
- StateForbidWait = int8(-1)
- StateForbidRecicle = int8(-2)
- StateForbidPolice = int8(-3)
- StateForbidLock = int8(-4)
- StateForbidFackLock = int8(-5)
- StateForbidFixed = int8(-6)
- StateForbidLater = int8(-7)
- // StateForbidPatched = int8(-8)
- StateForbidWaitXcode = int8(-9)
- StateForbidAdminDelay = int8(-10)
- StateForbidFixing = int8(-11)
- // StateForbidStorageFail = int8(-12)
- StateForbidOnlyComment = int8(-13)
- // StateForbidTmpRecicle = int8(-14)
- StateForbidDispatch = int8(-15)
- StateForbidXcodeFail = int8(-16)
- StateForbidSubmit = int8(-30)
- StateForbidUserDelay = int8(-40)
- StateForbidUpDelete = int8(-100)
- // attribute yes and no
- AttrYes = int32(1)
- AttrNo = int32(0)
- // attribute bit
- AttrBitNoRank = uint(0)
- AttrBitNoIndex = uint(1)
- AttrBitNoWeb = uint(2)
- AttrBitNoMobile = uint(3)
- AttrBitNoSearch = uint(4)
- AttrBitOverseaLock = uint(5)
- AttrBitNoRecommend = uint(6)
- // AttrBitHideCoins = uint(7)
- AttrBitHasHD5 = uint(8)
- // AttrBitVisitorDm = uint(9)
- AttrBitAllowBp = uint(10)
- AttrBitIsBangumi = uint(11)
- // AttrBitAllowDownload = uint(12)
- AttrBitHideClick = uint(13)
- AttrBitAllowTag = uint(14)
- AttrBitIsFromArcAPI = uint(15)
- AttrBitJumpURL = uint(16)
- AttrBitIsMovie = uint(17)
- AttrBitBadgepay = uint(18)
- AttrBitStaff = uint(24) //联合投稿
- // copyright state
- CopyrightUnknow = int8(0)
- CopyrightOriginal = int8(1)
- CopyrightCopy = int8(2)
- //up_from
- UpFromWeb = int8(0)
- UpFromPGC = int8(1)
- UpFromWindows = int8(2)
- UpFromAPP = int8(3)
- UpFromMAC = int8(4)
- UpFromSecretPGC = int8(5)
- UpFromCoopera = int8(6)
- UpFromCreator = int8(7) // 创作姬
- UpFromAPPAndroid = int8(8) // 安卓主APP
- UpFromAPPiOS = int8(9) // iOS主APP
- UpFromCM = int8(10) // Web商单用户投稿
- UpFromIpad = int8(11) // ipad投稿的用户
- AdvertisingTypeID = 166 // 广告分区的typeid
- )
- var (
- _copyright = map[int8]int8{
- CopyrightUnknow: CopyrightUnknow,
- CopyrightOriginal: CopyrightOriginal,
- CopyrightCopy: CopyrightCopy,
- }
- )
- // InCopyrights check copyright in all copyrights.
- func InCopyrights(cp int8) (ok bool) {
- _, ok = _copyright[cp]
- return
- }
- // Archive is archive model.
- type Archive struct {
- Aid int64 `json:"aid"`
- Mid int64 `json:"mid"`
- TypeID int16 `json:"tid"`
- // HumanRank int `json:"-"`
- Title string `json:"title"`
- Author string `json:"author"`
- Cover string `json:"cover"`
- Tag string `json:"tag"`
- Duration int64 `json:"duration"`
- Copyright int8 `json:"copyright"`
- Source string `json:"source"`
- NoReprint int8 `json:"no_reprint"`
- UgcPay int8 `json:"ugcpay"`
- OrderID int64 `json:"order_id"`
- Desc string `json:"desc"`
- MissionID int `json:"mission_id"`
- // Round int8 `json:"-"`
- // Forward int64 `json:"-"`
- Attribute int32 `json:"attribute"`
- // Access int16 `json:"-"`
- // desc_format
- DescFormatID int `json:"desc_format_id,omitempty"`
- State int8 `json:"state"`
- StateDesc string `json:"state_desc"`
- // dynamic
- Dynamic string `json:"dynamic"`
- Porder *Porder `json:"porder"`
- // time
- DTime time.Time `json:"dtime"`
- PTime time.Time `json:"ptime"`
- CTime time.Time `json:"ctime"`
- // MTime time.Time `json:"-"`
- }
- // NotAllowUp check archive is or not allow update state.
- func (a *Archive) NotAllowUp() bool {
- return a.State == StateForbidUpDelete || a.State == StateForbidLock || a.State == StateForbidPolice
- }
- // AttrVal get attribute.
- func (a *Archive) AttrVal(bit uint) int32 {
- return (a.Attribute >> bit) & int32(1)
- }
- // Type type from archive
- type Type struct {
- ID int16 `json:"id"`
- PID int16 `json:"pid"`
- Name string `json:"name"`
- Description string `json:"description"`
- }
- // DescFormat str
- type DescFormat struct {
- ID int `json:"id"`
- TypeID int16 `json:"typeid"`
- Copyright int8 `json:"copyright"`
- Lang int8 `json:"lang"`
- }
- // FilterData filter-service data
- type FilterData struct {
- Level int64 `json:"level"`
- Limit int64 `json:"limit"`
- Msg string `json:"msg"`
- TypeID []int64 `json:"typeid"`
- Hit []string `json:"hit"`
- }
- // PayAsset str
- type PayAsset struct {
- Price int `json:"price"`
- PlatformPrice map[string]int `json:"platform_price"`
- }
|