366 lines
12 KiB
Go
Raw Normal View History

2019-04-22 02:59:20 +00:00
package model
import (
"fmt"
)
// blocked const
const (
// item type
BUSSINESS = "credit-job"
// deal bussinss time type
DealTimeTypeNone = int8(0)
DealTimeTypeDay = int8(1)
DealTimeTypeYear = int8(2)
// default time
DefaultTime = "1979-12-31 16:00:00"
TimeFormatSec = "2006-01-02 15:04:05"
// Case Status
CaseStatusGranting = 1 // 发放中
CaseStatusGrantStop = 2 // 停止发放
CaseStatusDealing = 3 // 结案中
CaseStatusDealed = 4 // 已裁决
CaseStatusRestart = 5 // 待重启
CaseStatusUndealed = 6 // 未裁决
CaseStatusFreeze = 7 // 冻结中
CaseStatusQueueing = 8 // 队列中
// Judge Status.
JudgeTypeUndeal = 0 // 未裁决
JudgeTypeViolate = 1 // 违规
JudgeTypeLegal = 2 // 未违规
// Vote Status.
VoteTypeUndo = 0 // 未投票
VoteTypeViolate = 1 // 违规-封禁
VoteTypeDelete = 4 // 违规-删除
VoteTypeLegal = 2 // 不违规
VoteTypeGiveUp = 3 // 放弃投票
// punish type.
PunishTypeMoral = int8(1)
PunishTypeBlock = int8(2)
PunishTypeForever = int8(3)
// blocked_info blocked_forever
NotInBlockedForever = int8(0)
InBlockedForever = int8(1)
// Block Time.
Punish3Days = 1
Punish7Days = 2
PunishForever = 3
PunishCustom = 4
Punish15Days = 5
PunishBlock = 0
PunishJury = 1
// origin_type.
OriginReply = int8(1) // 评论
OriginDM = int8(2) // 弹幕
OriginMsg = int8(3) // 私信
OriginTag = int8(4) // 标签
OriginMember = int8(5) // 个人资料
OriginArchive = int8(6) // 投稿
OriginMusic = int8(7) // 音频
OriginArticle = int8(8) // 专栏
OriginSpaceTop = int8(9) // 空间头图
OriginDsynamic = int8(10) // 动态
OriginPhoto = int8(11) // 相册
OriginMinVideo = int8(12) // 小视频
// Jury Invalid
JuryBlocked = 1
JuryExpire = 2
JuryAdmin = 3
// Case Load Switch
StateCaseLoadClose = int8(0)
StateCaseLoadOpen = int8(1)
// Blocked Opinio State
OpinionStateOpen = int8(0)
OpinionStateClose = int8(1)
OpinionStateCloseAndMsg = int8(2)
// blocked_jury.case_type
JudeCaseTypePrivate = int8(0) // 小众众裁
JudeCaseTypePublic = int8(1) // 大众众裁
// Reply regist type.
ReplyBlocked = int8(6)
ReplyPublish = int8(7)
ReplyCase = int8(15)
// blocked_publish.publish_status
PublishClose = int8(0)
PublishOpen = int8(1)
// status
StatusClose = int8(1)
StatusOpen = int8(0)
// blocked_case.punish_result
BlockNone = int8(0)
Block3Days = int8(1)
Block7Days = int8(2)
BlockForever = int8(3)
BlockCustom = int8(4)
Block15Days = int8(5)
BlockOnlyDel = int8(6)
// block time
BlockTimeForever = 0 // 永久封禁
BlockTimeThree = 3 // 3天封禁
BlockTimeSeven = 7 // 7天封禁
BlockTimeFifteen = 15 // 15天封禁
// reasonType
ReasonOtherType = int8(0)
ReasonBrushScreen = int8(1)
ReasonGrabFloor = int8(2)
ReasonGamblingFraud = int8(4)
ReasonProhibited = int8(5)
ReasonGarbageAds = int8(6)
ReasonPersonalAttacks = int8(7)
ReasonViolatePrivacy = int8(8)
ReasonLeadBattle = int8(9)
ReasonSpoiler = int8(10)
ReasonAddUnrelatedTags = int8(11)
ReasonDelOtherTags = int8(12)
ReasonPornographic = int8(13)
ReasonVulgar = int8(14)
ReasonBloodyViolence = int8(15)
ReasonAnimusVideoUp = int8(16)
ReasonIllegalWebsite = int8(17)
ReasonSpreadErrinfo = int8(18)
ReasonAbettingEncouragement = int8(19)
ReasonAnimusBrushScreen = int8(20)
ReasonAccountViolation = int8(21)
ReasonMaliciousPlagiarism = int8(22)
ReasonPosingAsHomemade = int8(23)
ReasonPostTeenBadContent = int8(24)
ReasonDestroyCyberSecurity = int8(25)
ReasonPostingMisleadingInfo = int8(26)
ReasonCounterfeitOfficialAuth = int8(27)
ReasonPublishInappropriateContent = int8(28)
ReasonViolationOperatingRules = int8(29)
ReasonIllegalCreateTopic = int8(30)
ReasonIllegalDrawLottery = int8(31)
ReasonIllegalFakeMan = int8(32)
// reply reasonType
ReplyReasonOtherType = int8(0)
ReplyReasonGarbageAds = int8(1)
ReplyReasonPornographic = int8(2)
ReplyReasonAnimusBrushScreen = int8(3)
ReplyReasonLeadBattle = int8(4)
ReplyReasonSpoiler = int8(5)
ReplyReasonPolitical = int8(6)
ReplyReasonPersonalAttacks = int8(7)
ReplyReasonIrrelevantVideo = int8(8)
ReplyReasonProhibited = int8(9)
ReplyReasonVulgar = int8(10)
ReplyReasonIllegalWebsite = int8(11)
ReplyReasonGamblingFraud = int8(12)
ReplyReasonSpreadErrinfo = int8(13)
ReplyReasonAbettingEncouragement = int8(14)
ReplyReasonViolatePrivacy = int8(15)
ReplyReasonGrabFloor = int8(16)
ReplyReasonPostTeenBadContent = int8(17)
// tag reasonType
TagReasonAddUnrelatedTags = int8(1)
TagReasonProhibited = int8(2)
TagReasonPersonalAttacks = int8(3)
TagReasonSpoiler = int8(4)
TagReasonDelOtherTags = int8(5)
// moral originType
MoralOriginDM = int8(1)
MoralOriginReply = int8(2)
MoralOriginTag = int8(3)
// block status
BlockStatusNone = int8(0)
BlockStatusForever = int8(1)
BlockStatusOn = int8(2)
// defealt deduct moral val
DefealtMoralVal = -10
// dm notify status
DMNotifyNotDel = 0
DMNotifyDel = 1
// msg content
_dealMsgTitle = "%s违规处理通知"
_dealMsgContent = `您好根据用户举报与风纪委众裁您在#{"%s"}{%s}下的%s %s已被移除请自觉遵守国家相关法律法规及社区规则bilibili良好的社区氛围需要大家一起维护
其中社区规则为可点击超链接地址https://www.bilibili.com/blackboard/blackroom.html`
// moral remark
MoralRemark = "违规惩罚"
)
var (
_punishType = map[int8]string{
PunishTypeMoral: "节操",
PunishTypeBlock: "封禁",
PunishTypeForever: "永久封禁",
}
_reasonType = map[int8]string{
ReasonOtherType: "其他",
ReasonBrushScreen: "刷屏",
ReasonGrabFloor: "抢楼",
ReasonGamblingFraud: "发布赌博诈骗信息",
ReasonProhibited: "发布违禁相关信息",
ReasonGarbageAds: "发布垃圾广告信息",
ReasonPersonalAttacks: "发布人身攻击言论",
ReasonViolatePrivacy: "发布侵犯他人隐私信息",
ReasonLeadBattle: "发布引战言论",
ReasonSpoiler: "发布剧透信息",
ReasonAddUnrelatedTags: "恶意添加无关标签",
ReasonDelOtherTags: "恶意删除他人标签",
ReasonPornographic: "发布色情信息",
ReasonVulgar: "发布低俗信息",
ReasonBloodyViolence: "发布暴力血腥信息",
ReasonAnimusVideoUp: "涉及恶意投稿行为",
ReasonIllegalWebsite: "发布非法网站信息",
ReasonSpreadErrinfo: "发布传播不实信息",
ReasonAbettingEncouragement: "发布怂恿教唆信息",
ReasonAnimusBrushScreen: "恶意刷屏",
ReasonAccountViolation: "账号违规",
ReasonMaliciousPlagiarism: "恶意抄袭",
ReasonPosingAsHomemade: "冒充自制原创",
ReasonPostTeenBadContent: "发布青少年不良内容",
ReasonDestroyCyberSecurity: "破坏网络安全",
ReasonPostingMisleadingInfo: "发布虚假误导信息",
ReasonCounterfeitOfficialAuth: "仿冒官方认证账号",
ReasonPublishInappropriateContent: "发布不适宜内容",
ReasonViolationOperatingRules: "违反运营规则",
ReasonIllegalCreateTopic: "恶意创建话题",
ReasonIllegalDrawLottery: "发布违规抽奖",
ReasonIllegalFakeMan: "恶意冒充他人",
}
_originType = map[int8]string{
OriginReply: "评论",
OriginDM: "弹幕",
OriginMsg: "私信",
OriginTag: "标签",
OriginMember: "个人资料",
OriginArchive: "投稿",
OriginMusic: "音频",
OriginArticle: "专栏",
OriginSpaceTop: "空间头图",
OriginDsynamic: "动态",
OriginPhoto: "相册",
OriginMinVideo: "小视频",
}
_reasonToFreeze = map[int8]bool{
ReasonGamblingFraud: true,
ReasonViolatePrivacy: true,
ReasonProhibited: true,
ReasonPornographic: true,
ReasonVulgar: true,
ReasonSpoiler: false,
ReasonGrabFloor: false,
ReasonGarbageAds: false,
ReasonLeadBattle: false,
ReasonBrushScreen: false,
ReasonPersonalAttacks: false,
}
_replyReasonType = map[int8]int8{
ReplyReasonOtherType: ReasonOtherType,
ReplyReasonGarbageAds: ReasonGarbageAds,
ReplyReasonPornographic: ReasonPornographic,
ReplyReasonAnimusBrushScreen: ReasonAnimusBrushScreen,
ReplyReasonLeadBattle: ReasonLeadBattle,
ReplyReasonSpoiler: ReasonSpoiler,
ReplyReasonPolitical: ReasonOtherType,
ReplyReasonPersonalAttacks: ReasonPersonalAttacks,
ReplyReasonIrrelevantVideo: ReasonOtherType,
ReplyReasonProhibited: ReasonProhibited,
ReplyReasonVulgar: ReasonVulgar,
ReplyReasonIllegalWebsite: ReasonIllegalWebsite,
ReplyReasonGamblingFraud: ReasonGamblingFraud,
ReplyReasonSpreadErrinfo: ReasonSpreadErrinfo,
ReplyReasonAbettingEncouragement: ReasonAbettingEncouragement,
ReplyReasonViolatePrivacy: ReasonViolatePrivacy,
ReplyReasonGrabFloor: ReasonGrabFloor,
ReplyReasonPostTeenBadContent: ReasonPostTeenBadContent,
}
_tagReasonType = map[int8]int8{
TagReasonAddUnrelatedTags: ReasonAddUnrelatedTags,
TagReasonProhibited: ReasonProhibited,
TagReasonPersonalAttacks: ReasonPersonalAttacks,
TagReasonSpoiler: ReasonSpoiler,
TagReasonDelOtherTags: ReasonDelOtherTags,
}
// _orginMoralType 对应节操来源类型
_orginMoralType = map[int8]int8{
OriginReply: MoralOriginReply,
OriginDM: MoralOriginDM,
OriginTag: MoralOriginTag,
}
_blockDay = map[int8]string{
BlockTimeForever: "永久封禁",
BlockTimeThree: "封禁3天",
BlockTimeSeven: "封禁7天",
BlockTimeFifteen: "封禁15天",
}
)
// ReasonToFreeze get reason yes or no to freeze.
func ReasonToFreeze(reasonType int8) bool {
return _reasonToFreeze[reasonType]
}
// OrginMoralType get moral bussiness Type by blocked orgin.
func OrginMoralType(blockOrginType int8) int8 {
return _orginMoralType[blockOrginType]
}
// PunishTypeDesc get punishType desc
func PunishTypeDesc(punishType int8) string {
return _punishType[punishType]
}
// ReasonTypeDesc get reasonType desc
func ReasonTypeDesc(reasonType int8) string {
return _reasonType[reasonType]
}
// OriginTypeDesc get originType desc
func OriginTypeDesc(originType int8) string {
return _originType[originType]
}
// BlockedDayDesc is blocked day desc
func BlockedDayDesc(day int8) string {
return _blockDay[day]
}
// BlockedReasonTypeByReply get blocked reason type.
func BlockedReasonTypeByReply(replyReasonType int8) int8 {
return _replyReasonType[replyReasonType]
}
// BlockedReasonTypeByTag get blocked reason type.
func BlockedReasonTypeByTag(tagReasonType int8) int8 {
return _tagReasonType[tagReasonType]
}
// OriginMsgContent get msg content by oTitle, oURL , oContent and oType
func OriginMsgContent(oTitle, oURL, oContent string, oType int8) (msgTitle, msgCon string) {
msgTitle = fmt.Sprintf(_dealMsgTitle, _originType[oType])
msgCon = fmt.Sprintf(_dealMsgContent, oTitle, oURL, _originType[oType], oContent)
return
}