123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- package archive
- import (
- "sync"
- "time"
- )
- const (
- //StateOpen state open
- StateOpen = 0
- //StateOrange 橙色通过
- StateOrange = 1
- //StateForbidWait 待审
- StateForbidWait = -1
- //StateForbidRecicle 打回
- StateForbidRecicle = -2
- //StateForbidPolice 网警锁定
- StateForbidPolice = -3
- //StateForbidLock 锁定
- StateForbidLock = -4
- //StateForbidFixed 修复待审
- StateForbidFixed = -6
- //StateForbidLater 暂缓待审
- StateForbidLater = -7
- //StateForbidXcodeFail 转码失败
- StateForbidXcodeFail = -16
- //StateForbidSubmit 创建提交
- StateForbidSubmit = -30
- //StateForbidUserDelay 定时
- StateForbidUserDelay = -40
- //StateForbidUpDelete 删除
- StateForbidUpDelete = -100
- //RoundBegin 开始流转
- RoundBegin = 0
- //RoundAuditSecond 二审:选定分区的多P稿件 及 PGC/活动的单P多P稿件
- RoundAuditSecond = 10
- //RoundAuditThird 三审:选定分区/PGC/活动 的单P多P稿件
- RoundAuditThird = 20
- //RoundReviewFirst 分区回查:粉丝小于配置阈值 如 5000 且 指定分区
- RoundReviewFirst = 30
- //RoundReviewFirstWaitTrigger 点击/粉丝 等待触发中间状态,7天内达到阈值进列表,未达到自动变99
- RoundReviewFirstWaitTrigger = 31
- //RoundReviewSecond 社区回查:粉丝大于配置阈值 如 5000 或 优质高危up
- RoundReviewSecond = 40
- //RoundTriggerFans 粉丝回查:粉丝量达到配置阈值
- RoundTriggerFans = 80
- //RoundTriggerClick 点击回查:点击量达到配置阈值
- RoundTriggerClick = 90
- //RoundEnd 流转结束
- RoundEnd = 99
- //AccessDefault access
- AccessDefault = int16(0)
- //AccessMember 会员可见
- AccessMember = int16(10000)
- //CopyrightUnknow copyright
- CopyrightUnknow = 0
- //CopyrightOriginal 原创
- CopyrightOriginal = 1
- //CopyrightCopy 转载
- CopyrightCopy = 2
- //AttrYes attribute yes
- AttrYes = int32(1)
- //AttrNo attribute no
- AttrNo = int32(0)
- //AttrBitNoRank 禁止排序
- AttrBitNoRank = uint(0)
- //AttrBitNoDynamic 禁止动态
- AttrBitNoDynamic = uint(1)
- //AttrBitNoWeb 禁止web
- AttrBitNoWeb = uint(2)
- //AttrBitNoMobile 禁止手机端
- AttrBitNoMobile = uint(3)
- //AttrBitNoSearch 禁止搜索
- AttrBitNoSearch = uint(4)
- //AttrBitOverseaLock 禁止海外
- AttrBitOverseaLock = uint(5)
- //AttrBitNoRecommend 禁止推荐
- AttrBitNoRecommend = uint(6)
- // AttrBitHideCoins = uint(7)
- //AttrBitHasHD5 是否高清
- AttrBitHasHD5 = uint(8)
- // AttrBitVisitorDm = uint(9)
- //AttrBitAllowBp 允许承包
- AttrBitAllowBp = uint(10)
- //AttrBitIsBangumi 番剧
- AttrBitIsBangumi = uint(11)
- //AttrBitIsPOrder 是否私单
- AttrBitIsPOrder = uint(12)
- //AttrBitHideClick 点击
- AttrBitHideClick = uint(13)
- //AttrBitAllowTag 允许操作tag
- AttrBitAllowTag = uint(14)
- // AttrBitIsFromArcApi = uint(15)
- //AttrBitJumpURL 跳转
- AttrBitJumpURL = uint(16)
- //AttrBitIsMovie is movie
- AttrBitIsMovie = uint(17)
- //AttrBitBadgepay 付费
- AttrBitBadgepay = uint(18)
- //ReplyDefault 默认评论状态
- ReplyDefault = int64(-1)
- //ReplyOn 开评论
- ReplyOn = int64(0)
- //ReplyOff 关评论
- ReplyOff = int64(1)
- //LogBusJob 稿件后台任务日志bus
- LogBusJob = 211
- //LogTypeReply 稿件后台任务type评论
- LogTypeReply = 1
- )
- //ReplyState 评论开关状态
- var ReplyState = []int64{
- ReplyDefault,
- ReplyOn,
- ReplyOff,
- }
- //ReplyDesc 评论状态描述
- var ReplyDesc = map[int64]string{
- ReplyDefault: "未知状态",
- ReplyOn: "开",
- ReplyOff: "关",
- }
- //UpInfo up info
- type UpInfo struct {
- Nw *Archive
- Old *Archive
- }
- // Oper is archive operate model.
- type Oper struct {
- ID int64 `json:"id"`
- AID int64 `json:"aid"`
- UID int64 `json:"uid"`
- TypeID int16 `json:"typeid"`
- State int `json:"state"`
- Content string `json:"-"`
- Round int8 `json:"round"`
- Attribute int32 `json:"attribute"`
- LastID int64 `json:"last_id"`
- Remark string `json:"-"`
- CTime time.Time `json:"ctime"`
- MTime time.Time `json:"mtime"`
- }
- // ArcMoveTypeCache archive move typeid count
- type ArcMoveTypeCache struct {
- Data map[int8]map[int16]map[string]int
- sync.Mutex
- }
- // ArcRoundFlowCache archive round flow record
- type ArcRoundFlowCache struct {
- Data map[int8]map[int64]map[string]int
- sync.Mutex
- }
- //Archive archive
- type Archive struct {
- ID int64 `json:"id"`
- AID int64 `json:"aid"` //result库binlog={id:0,aid:xxx}
- Mid int64 `json:"mid"`
- TypeID int16 `json:"typeid"`
- HumanRank int `json:"humanrank"`
- Duration int `json:"duration"`
- Desc string `json:"desc"`
- Title string `json:"title"`
- Cover string `json:"cover"`
- Content string `json:"content"`
- Tag string `json:"tag"`
- Attribute int32 `json:"attribute"`
- Copyright int8 `json:"copyright"`
- AreaLimit int8 `json:"arealimit"`
- State int `json:"state"`
- Author string `json:"author"`
- Access int `json:"access"`
- Forward int `json:"forward"`
- PubTime string `json:"pubtime"`
- Reason string `json:"reject_reason"`
- Round int8 `json:"round"`
- CTime string `json:"ctime"`
- MTime string `json:"mtime"`
- PTime string `json:"ptime"`
- }
- //IsSyncState can archive sync
- func (a *Archive) IsSyncState() bool {
- if a.State >= 0 || a.State == StateForbidUserDelay || a.State == StateForbidUpDelete || a.State == StateForbidRecicle || a.State == StateForbidPolice ||
- a.State == StateForbidLock {
- return true
- }
- return false
- }
- //ArgStat arg state
- type ArgStat struct {
- Aid int64
- Field int
- Value int
- RealIP string
- }
- // AttrVal get attribute value.
- func (a *Archive) AttrVal(bit uint) int32 {
- return (a.Attribute >> bit) & int32(1)
- }
- //NormalState normal state
- func NormalState(state int) bool {
- return state == StateOpen || state == StateOrange
- }
- //Type archive_type
- type Type struct {
- ID int16 `json:"id"`
- PID int16 `json:"pid"`
- Name string `json:"name"`
- }
- // StateMean the mean for archive state
- var StateMean = map[int]string{
- StateOpen: "开放浏览",
- StateOrange: "橙色通过",
- // forbid state
- StateForbidWait: "待审",
- StateForbidRecicle: "打回",
- StateForbidPolice: "网警锁定",
- StateForbidLock: "锁定稿件",
- StateForbidFixed: "修复待审",
- StateForbidLater: "暂缓审核",
- //StateForbidAdminDelay: "延迟发布",
- StateForbidXcodeFail: "转码失败",
- StateForbidSubmit: "创建提交",
- StateForbidUserDelay: "用户定时发布",
- StateForbidUpDelete: "UP主删除",
- }
|