go-common/app/admin/main/videoup/model/archive/archive_state.go
2019-04-22 18:49:16 +08:00

355 lines
11 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)
}