123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- package blocked
- import (
- "strconv"
- xtime "go-common/library/time"
- )
- // const case
- const (
- // JudeCaseTypePrivate case type private
- JudeCaseTypePrivate = int8(0) // 小众众裁
- // JudeCaseTypePublic case type public
- JudeCaseTypePublic = int8(1) // 大众众裁
- // case status.
- CaseStatusGranting = int8(1) // 发放中
- CaseStatusGrantStop = int8(2) // 停止发放
- CaseStatusDealing = int8(3) // 结案中
- CaseStatusDealed = int8(4) // 已裁决
- CaseStatusRestart = int8(5) // 待重启
- CaseStatusUndealed = int8(6) // 未裁决
- CaseStatusFreeze = int8(7) // 冻结中
- CaseStatusQueueing = int8(8) // 队列中
- // vote status.
- VoteTypeUndo = int8(0) // 未投票
- VoteTypeViolate = int8(1) // 违规-封禁
- VoteTypeLegal = int8(2) // 不违规
- VoteTypeGiveUp = int8(3) // 放弃投票
- VoteTypeDelete = int8(4) // 违规-删除
- // 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) // 小视频
- // punish status
- PunishhNon = int8(0)
- PunishBlockedTree = int8(1)
- PunishBlockedSeven = int8(2)
- PunishBlockedEver = int8(3)
- PunishBlockedCustom = int8(4)
- PunishBlockedFifteen = int8(5)
- PunishJustDelete = int8(6)
- // block time.
- BlockMoralNum = -2 // 扣除节操
- BlockCustom = -1 // N天封禁
- BlockForever = 0 // 永久封禁
- BlockThree = 3 // 3天封禁
- BlockSeven = 7 // 7天封禁
- BlockFifteen = 15 // 15天封禁
- )
- // var case
- var (
- StatusDesc = map[int8]string{
- CaseStatusGranting: "发放中",
- CaseStatusGrantStop: "停止发放",
- CaseStatusDealing: "结案中",
- CaseStatusDealed: "已裁决",
- CaseStatusRestart: "待重启",
- CaseStatusUndealed: "未裁决",
- CaseStatusFreeze: "冻结中",
- CaseStatusQueueing: "队列中",
- }
- OriginTypeDesc = map[int8]string{
- OriginReply: "评论",
- OriginDM: "弹幕",
- OriginMsg: "私信",
- OriginTag: "标签",
- OriginMember: "个人资料",
- OriginArchive: "投稿",
- OriginMusic: "音频",
- OriginArticle: "专栏",
- OriginSpaceTop: "空间头图",
- OriginDsynamic: "动态",
- OriginPhoto: "相册",
- OriginMinVideo: "小视频",
- }
- PunishDesc = map[int8]string{
- PunishhNon: "不违规不封禁",
- PunishBlockedTree: "封禁3天",
- PunishBlockedSeven: "封禁7天",
- PunishBlockedEver: "永久封禁",
- PunishBlockedCustom: "自定义封禁",
- PunishBlockedFifteen: "封禁15天",
- PunishJustDelete: "违规仅删除",
- }
- blockedDesc = map[int]string{
- BlockMoralNum: "扣除%d节操",
- BlockCustom: "天封禁",
- BlockForever: "永久封禁",
- BlockThree: "3天封禁",
- BlockSeven: "7天封禁",
- BlockFifteen: "15天封禁",
- }
- CaseTypeDesc = map[int8]string{
- JudeCaseTypePrivate: "非公开众裁",
- JudeCaseTypePublic: "公开众裁",
- }
- )
- // Case is blocked_case model.
- type Case struct {
- ID int64 `gorm:"column:id" json:"id"`
- MID int64 `gorm:"column:mid" json:"uid"`
- OPID int64 `gorm:"column:oper_id" json:"oper_id"`
- Status int8 `gorm:"column:status" json:"status"`
- OriginType int8 `gorm:"column:origin_type" json:"origin_type"`
- ReasonType int8 `gorm:"column:reason_type" json:"reason_type"`
- PunishResult int8 `gorm:"column:punish_result" json:"punish_result"`
- JudgeType int `gorm:"column:judge_type" json:"judge_type"`
- CaseType int8 `gorm:"column:case_type" json:"case_type"`
- BlockedDays int `gorm:"column:blocked_days" json:"blocked_days"`
- PutTotal int `gorm:"column:put_total" json:"put_total"`
- VoteRule int64 `gorm:"column:vote_rule" json:"vote_rule"`
- VoteBreak int64 `gorm:"column:vote_break" json:"vote_break"`
- VoteDelete int64 `gorm:"column:vote_delete" json:"vote_delete"`
- VoteTotal int64 `gorm:"-" json:"vote_total"` // 总得票数
- StartTime xtime.Time `gorm:"column:start_time" json:"start_time"`
- EndTime xtime.Time `gorm:"column:end_time" json:"end_time"`
- CTime xtime.Time `gorm:"column:ctime" json:"ctime"`
- MTime xtime.Time `gorm:"column:mtime" json:"-"`
- OriginURL string `gorm:"column:origin_url" json:"origin_url"`
- OriginTitle string `gorm:"column:origin_title" json:"origin_title"`
- OriginContent string `gorm:"column:origin_content" json:"origin_content"`
- BusinessTime xtime.Time `gorm:"column:business_time" json:"business_time"`
- Uname string `gorm:"-" json:"uname"`
- StatusDesc string `gorm:"-" json:"status_desc"`
- OriginTypeDesc string `gorm:"-" json:"origin_type_desc"`
- ReasonTypeDesc string `gorm:"-" json:"reason_type_desc"`
- CaseTypeDesc string `gorm:"-" json:"case_type_desc"`
- RelationID string `gorm:"column:relation_id" json:"relation_id"`
- RulePercent string `gorm:"-" json:"rule_percent"` // 不违规得票率
- BlockedPercent string `gorm:"-" json:"blocked_percent"` // 违规(封禁)得票率
- DeletePercent string `gorm:"-" json:"delete_percent"` // 违规(仅删)得票率
- PunishDesc string `gorm:"-" json:"punish_desc"`
- OPName string `gorm:"-" json:"oname"` // 操作人
- Fans int64 `gorm:"-" json:"fans"` // 粉丝数
- }
- // CaseVote is blocked_case_vote model.
- type CaseVote struct {
- ID int64 `gorm:"column:id" json:"id"`
- CID int64 `gorm:"column:cid" json:"cid"`
- UID int64 `gorm:"column:mid" json:"uid"`
- VoteType int8 `gorm:"column:vote_type" json:"vote_type"`
- Expired xtime.Time `gorm:"column:expired" json:"expired"`
- CTime xtime.Time `gorm:"column:ctime" json:"-"`
- MTime xtime.Time `gorm:"column:mtime" json:"-"`
- }
- // TableName case tablename
- func (*Case) TableName() string {
- return "blocked_case"
- }
- // TableName CaseVote tablename
- func (*CaseVote) TableName() string {
- return "blocked_case_vote"
- }
- // CaseList is case list.
- type CaseList struct {
- Count int
- Order string
- Sort string
- PN int
- PS int
- IDs []int64
- List []*Case
- }
- // RulePercent is rule_percent.
- func RulePercent(voteRule, voteBreak, voteDelete int64) string {
- return strconv.FormatFloat(float64(voteRule)/float64(voteRule+voteBreak+voteDelete), 'f', 2, 64)
- }
- // BreakPercent is blocked percent.
- func BreakPercent(voteRule, voteBreak, voteDelete int64) string {
- return strconv.FormatFloat(float64(voteBreak)/float64(voteRule+voteBreak+voteDelete), 'f', 2, 64)
- }
- // DeletePercent is delete_percent.
- func DeletePercent(voteRule, voteBreak, voteDelete int64) string {
- return strconv.FormatFloat(float64(voteDelete)/float64(voteRule+voteBreak+voteDelete), 'f', 2, 64)
- }
- // VoteTotal is vote_total.
- func VoteTotal(voteRule, voteBreak, voteDelete int64) int64 {
- return voteRule + voteBreak + voteDelete
- }
|