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.
354 lines
11 KiB
354 lines
11 KiB
package archive |
|
|
|
const ( |
|
// StateOpen 开放浏览 |
|
StateOpen = int8(0) |
|
// StateOrange 橙色通过 |
|
StateOrange = int8(1) |
|
// StateForbidWait 待审 |
|
StateForbidWait = int8(-1) |
|
// StateForbidRecycle 被打回 |
|
StateForbidRecycle = int8(-2) |
|
// StateForbidPolice 网警锁定 |
|
StateForbidPolice = int8(-3) |
|
// StateForbidLock 被锁定 |
|
StateForbidLock = int8(-4) |
|
// StateForbidFackLock 管理员锁定(可浏览) |
|
StateForbidFackLock = int8(-5) |
|
// StateForbidFixed 修复待审 |
|
StateForbidFixed = int8(-6) |
|
// StateForbidLater 暂缓审核 |
|
StateForbidLater = int8(-7) |
|
// StateForbidPatched 补档待审 |
|
StateForbidPatched = int8(-8) |
|
// StateForbidWaitXcode 等待转码 |
|
StateForbidWaitXcode = int8(-9) |
|
// StateForbidAdminDelay 延迟审核 |
|
StateForbidAdminDelay = int8(-10) |
|
// StateForbidFixing 视频源待修 |
|
StateForbidFixing = int8(-11) |
|
// StateForbidStorageFail 转储失败 |
|
StateForbidStorageFail = int8(-12) |
|
// StateForbidOnlyComment 允许评论待审 |
|
StateForbidOnlyComment = int8(-13) |
|
// StateForbidTmpRecicle 临时回收站 |
|
StateForbidTmpRecicle = int8(-14) |
|
// StateForbidDispatch 分发中 |
|
StateForbidDispatch = int8(-15) |
|
// StateForbidXcodeFail 转码失败 |
|
StateForbidXcodeFail = int8(-16) |
|
// StateForbitUpLoad 创建未提交 |
|
StateForbitUpLoad = int8(-20) // NOTE:spell body can judge to change state |
|
// StateForbidSubmit 创建已提交 |
|
StateForbidSubmit = int8(-30) |
|
// StateForbidUserDelay 定时发布 |
|
StateForbidUserDelay = int8(-40) |
|
// StateForbidUpDelete 用户删除 |
|
StateForbidUpDelete = int8(-100) |
|
// AttrYes attribute yes |
|
AttrYes = int32(1) |
|
// AttrNo attribute no |
|
AttrNo = int32(0) |
|
// AttrBitNoRank 禁止排行 |
|
AttrBitNoRank = uint(0) // NOTE: double write for archive_forbid |
|
// AttrBitNoDynamic 动态禁止 |
|
AttrBitNoDynamic = uint(1) // NOTE: double write for archive_forbid |
|
// AttrBitNoWeb 禁止网页输出 |
|
AttrBitNoWeb = uint(2) |
|
// AttrBitNoMobile 禁止客户端列表 |
|
AttrBitNoMobile = uint(3) |
|
// AttrBitNoSearch 搜索禁止 |
|
AttrBitNoSearch = uint(4) |
|
// AttrBitOverseaLock 海外禁止 |
|
AttrBitOverseaLock = uint(5) |
|
// AttrBitNoRecommend 禁止推荐 |
|
AttrBitNoRecommend = uint(6) // NOTE: double write for archive_forbid |
|
// AttrBitNoReprint 禁止转载 |
|
AttrBitNoReprint = uint(7) |
|
// AttrBitHasHD5 是否高清 |
|
AttrBitHasHD5 = uint(8) |
|
// AttrBitIsPGC 是否PGC稿件 |
|
AttrBitIsPGC = uint(9) |
|
// AttrBitAllowBp 允许承包 |
|
AttrBitAllowBp = uint(10) |
|
// AttrBitIsBangumi 是否番剧 |
|
AttrBitIsBangumi = uint(11) |
|
// AttrBitIsPorder 是否私单 |
|
AttrBitIsPorder = uint(12) |
|
// AttrBitLimitArea 是否限制地区 |
|
AttrBitLimitArea = uint(13) |
|
// AttrBitAllowTag 允许其他人添加tag |
|
AttrBitAllowTag = uint(14) |
|
// AttrBitIsFromArcAPI useless |
|
AttrBitIsFromArcAPI = uint(15) // TODO: delete |
|
// AttrBitJumpURL 跳转 |
|
AttrBitJumpURL = uint(16) |
|
// AttrBitIsMovie 是否影视 |
|
AttrBitIsMovie = uint(17) |
|
// AttrBitBadgepay 付费 |
|
AttrBitBadgepay = uint(18) |
|
//AttrBitPushBlog 推送动态 |
|
AttrBitPushBlog = uint(20) |
|
//AttrBitParentMode 家长模式 |
|
AttrBitParentMode = uint(21) |
|
//AttrBitUGCPay UGC付费 |
|
AttrBitUGCPay = uint(22) |
|
|
|
// CopyrightUnknow 未知版权类型 |
|
CopyrightUnknow = int8(0) |
|
// CopyrightOriginal 原创 |
|
CopyrightOriginal = int8(1) |
|
// CopyrightCopy 转载 |
|
CopyrightCopy = int8(2) |
|
// UpFromWeb 网页上传 |
|
UpFromWeb = int8(0) |
|
// UpFromPGC PGC上传 |
|
UpFromPGC = int8(1) |
|
// UpFromWindows Windows客户端上传 |
|
UpFromWindows = int8(2) |
|
// UpFromAPP APP上传 |
|
UpFromAPP = int8(3) |
|
// UpFromMAC Mac客户端上传 |
|
UpFromMAC = int8(4) |
|
// UpFromSecretPGC 机密PGC上传 |
|
UpFromSecretPGC = int8(5) |
|
// UpFromCoopera 合作方嵌套 |
|
UpFromCoopera = int8(6) |
|
// UpFromCreator 创作姬上传 |
|
UpFromCreator = int8(7) |
|
// UpFromAndroid 安卓上传 |
|
UpFromAndroid = int8(8) |
|
// UpFromIOS IOS上传 |
|
UpFromIOS = int8(9) |
|
// DelayTypeForAdmin 管理员定时发布 |
|
DelayTypeForAdmin = int8(1) |
|
// DelayTypeForUser 用户定时发布 |
|
DelayTypeForUser = int8(2) |
|
// RoundBegin 一审阶段 |
|
RoundBegin = int8(0) |
|
// RoundAuditSecond 二审:选定分区的多P稿件 及 PGC/活动的单P多P稿件 |
|
RoundAuditSecond = int8(10) |
|
// RoundAuditThird 三审:选定分区/PGC/活动 的单P多P稿件 |
|
RoundAuditThird = int8(20) |
|
// RoundReviewFlow 私单回查:私单ID大于0 |
|
RoundReviewFlow = int8(21) |
|
//RoundReviewBadgepayFlow 付费审核 |
|
RoundAuditUGCPayFlow = int8(24) |
|
// RoundReviewFirst 分区回查:粉丝小于配置阈值 如 5000 且 指定分区 |
|
RoundReviewFirst = int8(30) |
|
// RoundReviewFirstWaitTrigger 点击/粉丝 等待触发中间状态,7天内达到阈值进列表,未达到自动变99 |
|
RoundReviewFirstWaitTrigger = int8(31) |
|
// RoundReviewSecond 社区回查:粉丝大于配置阈值 如 5000 或 优质高危up |
|
RoundReviewSecond = int8(40) |
|
// RoundTriggerFans 粉丝回查:粉丝量达到配置阈值 |
|
RoundTriggerFans = int8(80) |
|
// RoundTriggerClick 点击回查:点击量达到配置阈值 |
|
RoundTriggerClick = int8(90) |
|
// RoundEnd 结束 |
|
RoundEnd = int8(99) |
|
// AccessDefault 非会员可见 |
|
AccessDefault = int16(0) |
|
// AccessMember 会员可见 |
|
AccessMember = int16(10000) |
|
|
|
// LogClientType 日志服务类型 |
|
//for buiness |
|
|
|
//LogClientVideo 视频business id |
|
LogClientVideo = int(2) |
|
//LogClientArchive 稿件business id |
|
LogClientArchive = int(3) |
|
//LogClientUp up主business id |
|
LogClientUp = int(4) |
|
//LogClientPorder 私单business id |
|
LogClientPorder = int(5) |
|
//LogClientArchiveMusic 稿件bgm business id |
|
LogClientArchiveMusic = int(6) |
|
//LogClientPolicy 策略business id |
|
LogClientPolicy = int(7) //稿件策略组 |
|
//LogClientConsumer 一审任务 business id |
|
LogClientConsumer = int(131) |
|
//LogClientTypePorderLog for business type |
|
|
|
//LogClientTypePorderLog 私单type id |
|
LogClientTypePorderLog = int(1) |
|
//LogClientTypeVideo 视频 type id |
|
LogClientTypeVideo = int(1) |
|
//LogClientTypeArchive 稿件 type id |
|
LogClientTypeArchive = int(1) |
|
//LogClientTypePorder 私单 id |
|
LogClientTypePorder = int(14) |
|
//LogClientTypePolicy 策略type id |
|
LogClientTypePolicy = int(1) //稿件策略组修改记录 |
|
|
|
//LogClientArchiveMusicTypeMusic 稿件bgm type id |
|
LogClientArchiveMusicTypeMusic = int(1) |
|
//LogClientArchiveMusicTypeMaterial 稿件bgm素材 type id |
|
LogClientArchiveMusicTypeMaterial = int(2) |
|
//LogClientArchiveMusicTypeCategory 稿件bgm分类 type id |
|
LogClientArchiveMusicTypeCategory = int(3) |
|
//LogClientArchiveMusicTypeMaterialRelation 稿件bgm关联 type id |
|
LogClientArchiveMusicTypeMaterialRelation = int(4) |
|
//LogClientArchiveMusicTypeCategoryRelation 稿件bgm分区关联 type id |
|
LogClientArchiveMusicTypeCategoryRelation = int(5) |
|
|
|
//InnerAttrChannelReview 内部属性-频道回查--已删除 |
|
InnerAttrChannelReview = uint(0) |
|
|
|
//LogClientTypeConsumer 一审任务type id |
|
LogClientTypeConsumer = int(1) |
|
) |
|
|
|
var ( |
|
_attr = map[int32]int32{ |
|
AttrNo: AttrNo, |
|
AttrYes: AttrYes, |
|
} |
|
_access = map[int16]string{ |
|
AccessDefault: "非会员可见", |
|
AccessMember: "会员可见", |
|
} |
|
_copyright = map[int8]string{ |
|
CopyrightUnknow: "未知", |
|
CopyrightOriginal: "自制", |
|
CopyrightCopy: "转载", |
|
} |
|
_bits = map[uint]string{ |
|
AttrBitNoRank: "排行禁止", |
|
AttrBitNoDynamic: "动态禁止", |
|
AttrBitNoWeb: "禁止web端输出", |
|
AttrBitNoMobile: "禁止移动端输出", |
|
AttrBitNoSearch: "禁止搜索", |
|
AttrBitOverseaLock: "海外禁止", |
|
AttrBitNoRecommend: "推荐禁止", |
|
AttrBitNoReprint: "禁止转载", |
|
AttrBitHasHD5: "高清1080P", |
|
// AttrBitVisitorDm: AttrBitVisitorDm, |
|
AttrBitIsPGC: "PGC", |
|
AttrBitAllowBp: "允许承包", |
|
AttrBitIsBangumi: "番剧", |
|
AttrBitIsPorder: "是否私单", |
|
AttrBitLimitArea: "是否地区限制", |
|
AttrBitAllowTag: "允许操作TAG", |
|
// AttrBitIsFromArcAPI: AttrBitIsFromArcAPI, |
|
AttrBitJumpURL: "跳转", |
|
AttrBitIsMovie: "电影", |
|
AttrBitBadgepay: "付费", //pgc付费 |
|
AttrBitPushBlog: "禁止粉丝动态", |
|
AttrBitParentMode: "家长模式", |
|
AttrBitUGCPay: "UGC付费", |
|
} |
|
// oversea forbidden typeid |
|
_overseaTypes = map[int16]int16{ |
|
15: 15, //'连载剧集' |
|
29: 29, //'三次元音乐' |
|
32: 32, //'完结动画' |
|
33: 33, //'连载动画' |
|
34: 34, //'完结剧集' |
|
37: 37, //'纪录片' |
|
51: 51, //'资讯' |
|
54: 54, //'OP/ED/OST' |
|
71: 71, //'综艺' |
|
86: 86, //'特摄布袋戏' |
|
96: 96, //'星海' |
|
130: 130, //'音乐选集' |
|
131: 131, //'Korea相关' |
|
137: 137, //'明星' |
|
145: 145, //'欧美电影' |
|
146: 146, //'日本电影' |
|
147: 147, //'国产电影' |
|
152: 152, //'官方延伸' |
|
153: 153, //'国产动画' |
|
} |
|
|
|
_upFromTypes = map[int8]string{ |
|
UpFromWeb: "网页上传", |
|
UpFromPGC: "PGC上传", |
|
UpFromWindows: "Windows客户端上传", |
|
UpFromAPP: "APP上传", |
|
UpFromMAC: "Mac客户端上传", |
|
UpFromSecretPGC: "机密PGC上传", |
|
UpFromCoopera: "合作方嵌套", |
|
UpFromCreator: "创作姬上传", |
|
UpFromAndroid: "安卓上传", |
|
UpFromIOS: "IOS上传", |
|
} |
|
) |
|
|
|
// UpFrom get upfrom desc |
|
func UpFrom(ufID int8) string { |
|
return _upFromTypes[ufID] |
|
} |
|
|
|
// Attr attribute |
|
type Attr int32 |
|
|
|
// InCopyrights in correct copyrights. |
|
func InCopyrights(cp int8) (ok bool) { |
|
_, ok = _copyright[cp] |
|
return |
|
} |
|
|
|
// CopyrightsDesc return copyrights desc. |
|
func CopyrightsDesc(cp int8) (desc string) { |
|
desc = _copyright[cp] |
|
return |
|
} |
|
|
|
// AccessDesc return acces desc. |
|
func AccessDesc(acces int16) (desc string) { |
|
desc = _access[acces] |
|
return |
|
} |
|
|
|
// BitDesc return bit desc. |
|
func BitDesc(bit uint) (desc string) { |
|
return _bits[bit] |
|
} |
|
|
|
// InAttr in correct attrs. |
|
func InAttr(attr int32) (ok bool) { |
|
_, ok = _attr[attr] |
|
return |
|
} |
|
|
|
// InOverseaType check in oversea forbid type. |
|
func InOverseaType(typeID int16) (ok bool) { |
|
_, ok = _overseaTypes[typeID] |
|
return |
|
} |
|
|
|
// NormalState check state. |
|
func NormalState(state int8) bool { |
|
return state == StateOpen || state == StateOrange |
|
} |
|
|
|
// NotAllowDelay check need delete dtime of state. |
|
func NotAllowDelay(state int8) bool { |
|
return state == StateForbidRecycle || state == StateForbidLock |
|
} |
|
|
|
// AttrSet set attribute. |
|
func (arc *Archive) AttrSet(v int32, bit uint) { |
|
arc.Attribute = arc.Attribute&(^(1 << bit)) | (v << bit) |
|
} |
|
|
|
// AttrVal get attribute. |
|
func (arc *Archive) AttrVal(bit uint) int32 { |
|
return (arc.Attribute >> bit) & int32(1) |
|
} |
|
|
|
// WithAttr set attribute value with a attr value. |
|
func (arc *Archive) WithAttr(attr Attr) { |
|
arc.Attribute = arc.Attribute | int32(attr) |
|
} |
|
|
|
// NotAllowUp check archive is or not allow update state. |
|
func (arc *Archive) NotAllowUp() bool { |
|
return arc.State == StateForbidUpDelete || arc.State == StateForbidLater || arc.State == StateForbidLock || arc.State == StateForbidPolice |
|
} |
|
|
|
//InnerAttrSet set inner_attr |
|
func (addit *Addit) InnerAttrSet(v int64, bit uint) { |
|
addit.InnerAttr = addit.InnerAttr&(^(1 << bit)) | (v << bit) |
|
}
|
|
|