185 lines
4.4 KiB
Go
185 lines
4.4 KiB
Go
|
package block
|
|||
|
|
|||
|
import (
|
|||
|
"time"
|
|||
|
)
|
|||
|
|
|||
|
// BlockStatus 封禁状态 0. 未封禁 1. 永久封禁 2. 限时封禁
|
|||
|
type BlockStatus uint8
|
|||
|
|
|||
|
const (
|
|||
|
// BlockStatusFalse 未封禁
|
|||
|
BlockStatusFalse BlockStatus = iota
|
|||
|
// BlockStatusForever 永久封禁
|
|||
|
BlockStatusForever
|
|||
|
// BlockStatusLimit 限时封禁
|
|||
|
BlockStatusLimit
|
|||
|
// BlockStatusCredit 小黑屋封禁
|
|||
|
BlockStatusCredit
|
|||
|
)
|
|||
|
|
|||
|
// BlockSource 封禁来源 1. 小黑屋(小黑屋和manager后台封禁) 2. 系统封禁(反作弊及监控系统上报) 3.解封 (所有后台,用户前台自助的解封)
|
|||
|
type BlockSource uint8
|
|||
|
|
|||
|
const (
|
|||
|
// BlockSourceCredit 小黑屋封禁
|
|||
|
BlockSourceCredit BlockSource = iota + 1
|
|||
|
// BlockSourceSys 系统封禁
|
|||
|
BlockSourceSys
|
|||
|
// BlockSourceRemove 解封
|
|||
|
BlockSourceRemove
|
|||
|
)
|
|||
|
|
|||
|
// String .
|
|||
|
func (b BlockSource) String() string {
|
|||
|
switch b {
|
|||
|
case BlockSourceCredit:
|
|||
|
return "小黑屋封禁"
|
|||
|
case BlockSourceSys:
|
|||
|
return "系统封禁"
|
|||
|
case BlockSourceRemove:
|
|||
|
return "解封"
|
|||
|
default:
|
|||
|
return ""
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
const (
|
|||
|
// BlockLogBizID 用户审核日志
|
|||
|
BlockLogBizID = 122
|
|||
|
// BlockJOBManagerID blockjob manager uid
|
|||
|
BlockJOBManagerID = 1493
|
|||
|
// BlockJOBManagerName blockjob manager name
|
|||
|
BlockJOBManagerName = "blockjob"
|
|||
|
)
|
|||
|
|
|||
|
// BlockArea 封禁业务
|
|||
|
type BlockArea uint8
|
|||
|
|
|||
|
// const .
|
|||
|
const (
|
|||
|
BlockAreaNone BlockArea = iota
|
|||
|
BlockAreaReply
|
|||
|
BlockAreaDanmaku
|
|||
|
BlockAreaMessage
|
|||
|
BlockAreaTag
|
|||
|
BlockAreaProfile // 个人资料
|
|||
|
BlockAreaArchive
|
|||
|
BlockAreaMusic
|
|||
|
BlockAreaArticle
|
|||
|
BlockAreaSpaceBanner // 空间头图
|
|||
|
BlockAreaDynamic // 动态
|
|||
|
BlockAreaAlbum // 相册
|
|||
|
BlockAreaQuickVideo //小视频
|
|||
|
)
|
|||
|
|
|||
|
// String .
|
|||
|
func (b BlockArea) String() string {
|
|||
|
switch b {
|
|||
|
case BlockAreaReply:
|
|||
|
return "评论"
|
|||
|
case BlockAreaDanmaku:
|
|||
|
return "弹幕"
|
|||
|
case BlockAreaMessage:
|
|||
|
return "私信"
|
|||
|
case BlockAreaTag:
|
|||
|
return "标签"
|
|||
|
case BlockAreaProfile:
|
|||
|
return "个人资料"
|
|||
|
case BlockAreaArchive:
|
|||
|
return "投稿"
|
|||
|
case BlockAreaMusic:
|
|||
|
return "音频"
|
|||
|
case BlockAreaArticle:
|
|||
|
return "专栏"
|
|||
|
case BlockAreaSpaceBanner:
|
|||
|
return "空间头图"
|
|||
|
case BlockAreaDynamic:
|
|||
|
return "动态"
|
|||
|
case BlockAreaAlbum:
|
|||
|
return "相册"
|
|||
|
case BlockAreaQuickVideo:
|
|||
|
return "小视频"
|
|||
|
default:
|
|||
|
return ""
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// BlockAction .
|
|||
|
type BlockAction uint8
|
|||
|
|
|||
|
const (
|
|||
|
// BlockActionLimit 限时封禁
|
|||
|
BlockActionLimit BlockAction = iota + 1
|
|||
|
// BlockActionForever 永久封禁
|
|||
|
BlockActionForever
|
|||
|
// BlockActionAdminRemove 后台解封
|
|||
|
BlockActionAdminRemove
|
|||
|
// BlockActionSelfRemove 自助解封
|
|||
|
BlockActionSelfRemove
|
|||
|
)
|
|||
|
|
|||
|
// String .
|
|||
|
func (b BlockAction) String() string {
|
|||
|
switch b {
|
|||
|
case BlockActionLimit:
|
|||
|
return "限时封禁"
|
|||
|
case BlockActionForever:
|
|||
|
return "永久封禁"
|
|||
|
case BlockActionAdminRemove:
|
|||
|
return "后台解封"
|
|||
|
case BlockActionSelfRemove:
|
|||
|
return "自动解封"
|
|||
|
default:
|
|||
|
return ""
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// BlockInfo 封禁信息
|
|||
|
type BlockInfo struct {
|
|||
|
MID int64 `json:"mid"`
|
|||
|
BlockStatus BlockStatus `json:"block_status"` // blockStatus 封禁状态 0. 未封禁 1. 永久封禁 2. 限时封禁
|
|||
|
// EndTime int64 `json:"end_time"` // 结束封禁时间 unix time 永久封禁为0
|
|||
|
}
|
|||
|
|
|||
|
// ParseDB .
|
|||
|
func (b *BlockInfo) ParseDB(data *DBUser) {
|
|||
|
b.MID = data.MID
|
|||
|
b.BlockStatus = data.Status
|
|||
|
}
|
|||
|
|
|||
|
// ParseMC .
|
|||
|
func (b *BlockInfo) ParseMC(data *MCBlockInfo, mid int64) {
|
|||
|
b.MID = mid
|
|||
|
b.BlockStatus = data.BlockStatus
|
|||
|
}
|
|||
|
|
|||
|
// BlockHistory 封禁历史
|
|||
|
type BlockHistory struct {
|
|||
|
Area BlockArea `json:"type"`
|
|||
|
Operator string `json:"operator"` // 操作人
|
|||
|
Reason string `json:"reason"` // 封禁原因
|
|||
|
Action BlockAction `json:"action"` // 操作类型
|
|||
|
ActionTime int64 `json:"action_time"` // 操作时间
|
|||
|
RemoveTime int64 `json:"remove_time"` // 解封时间
|
|||
|
Comment string `json:"comment"`
|
|||
|
}
|
|||
|
|
|||
|
// ParseDB .
|
|||
|
func (b *BlockHistory) ParseDB(data *DBHistory) {
|
|||
|
b.Area = data.Area
|
|||
|
b.Operator = data.AdminName
|
|||
|
b.Reason = data.Reason
|
|||
|
b.Action = data.Action
|
|||
|
b.ActionTime = data.StartTime.Unix()
|
|||
|
b.RemoveTime = data.StartTime.Add(time.Second * time.Duration(data.Duration)).Unix()
|
|||
|
b.Comment = data.Comment
|
|||
|
}
|
|||
|
|
|||
|
// BlockMessage 通知消息体
|
|||
|
type BlockMessage struct {
|
|||
|
MID int64 `json:"mid"` // 用户mid
|
|||
|
Area BlockArea `json:"area"` // BlockArea 封禁类型 1. 小黑屋(小黑屋和manager后台封禁) 2. 系统封禁(反作弊及监控系统上报) 3.解封 (所有后台,用户前台自助的解封)
|
|||
|
Status BlockStatus `json:"status"` // blockStatus 封禁状态 0. 未封禁 1. 永久封禁 2. 限时封禁
|
|||
|
}
|