go-common/app/admin/main/videoup/model/archive/archive_state.go

355 lines
11 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
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)
}