You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
217 lines
7.1 KiB
217 lines
7.1 KiB
package model |
|
|
|
import ( |
|
"fmt" |
|
|
|
xtime "go-common/library/time" |
|
) |
|
|
|
// CreditInfo credit info. |
|
type CreditInfo struct { |
|
Mid int64 `json:"mid"` |
|
Status int64 `json:"status"` |
|
PunishType int64 `json:"blockedType"` |
|
PunishEnd xtime.Time `json:"punishEnd"` |
|
CTime xtime.Time `json:"-"` |
|
MTime xtime.Time `json:"mtime"` |
|
} |
|
|
|
// BlockedInfo blocked case info. |
|
type BlockedInfo struct { |
|
ID int64 `json:"id"` |
|
Uname string `json:"uname"` |
|
Face string `json:"face"` |
|
UID int64 `json:"uid"` |
|
OriginTitle string `json:"originTitle"` |
|
BlockedRemark string `json:"blockedRemark"` |
|
OriginURL string `json:"originUrl"` |
|
OriginContent string `json:"originContent,omitempty"` |
|
OriginContentModify string `json:"originContentModify"` |
|
OriginType int64 `json:"originType"` |
|
OriginTypeName string `json:"originTypeName"` |
|
PunishTitle string `json:"punishTitle"` |
|
PunishTime xtime.Time `json:"punishTime"` |
|
PunishType int64 `json:"punishType"` |
|
PunishTypeName string `json:"punishTypeName"` |
|
MoralNum int64 `json:"moralNum"` |
|
BlockedDays int64 `json:"blockedDays"` |
|
PublishStatus int64 `json:"publishStatus"` |
|
BlockedType int64 `json:"blockedType"` |
|
BlockedForever int64 `json:"blockedForever"` |
|
ReasonType int64 `json:"reasonType"` |
|
ReasonTypeName string `json:"reasonTypeName"` |
|
OperatorName string `json:"operatorName"` |
|
CaseID int64 `json:"caseId"` |
|
PublishTime xtime.Time `json:"-"` |
|
CTime xtime.Time `json:"ctime"` |
|
MTime xtime.Time `json:"-"` |
|
CommentSum int64 `json:"commentSum"` |
|
OID int64 `json:"-"` |
|
} |
|
|
|
// BlockedPublish blocked publish info. |
|
type BlockedPublish struct { |
|
ID int64 `json:"id"` |
|
Title string `json:"title"` |
|
SubTitle string `json:"subTitle"` |
|
PublishStatus int8 `json:"publishStatus"` |
|
StickStatus int8 `json:"stickStatus"` |
|
Content string `json:"content"` |
|
CTime xtime.Time `json:"ctime"` |
|
MTime xtime.Time `json:"mtime"` |
|
URL string `json:"url"` |
|
} |
|
|
|
// BlockedCase blocked case info. |
|
type BlockedCase struct { |
|
ID int64 `json:"id"` |
|
MID int64 `json:"mid"` |
|
Status int8 `json:"status"` |
|
StatusTitle string `json:"statusTitle,omitempty"` |
|
OriginType int8 `json:"originType"` |
|
ReasonType int8 `json:"reasonType"` |
|
OriginContent string `json:"originContent"` |
|
PunishResult int64 `json:"punishResult"` |
|
PunishTitle string `json:"punishTitle,omitempty"` |
|
JudgeType int8 `json:"judgeType"` |
|
OriginURL string `json:"originUrl"` |
|
BlockedDays int32 `json:"blockedDays"` |
|
PutTotal int64 `json:"putTotal"` |
|
VoteRule int64 `json:"voteRule"` |
|
VoteBreak int64 `json:"voteBreak"` |
|
VoteDelete int64 `json:"voteDelete"` |
|
StartTime xtime.Time `json:"startTime"` |
|
EndTime xtime.Time `json:"endTime"` |
|
Operator string `json:"-"` |
|
CTime xtime.Time `json:"ctime"` |
|
MTime xtime.Time `json:"mtime"` |
|
OriginTitle string `json:"originTitle"` |
|
RelationID string `json:"relationId"` |
|
Face string `json:"face"` |
|
Uname string `json:"uname"` |
|
Vote int8 `json:"vote"` |
|
VoteTime xtime.Time `json:"voteTime,omitempty"` |
|
ExpiredMillis int64 `json:"expiredMillis,omitempty"` |
|
CaseType int8 `json:"case_type"` |
|
} |
|
|
|
// BlockedCaseVote blocked_case_vote. |
|
type BlockedCaseVote struct { |
|
ID int64 `json:"id"` |
|
CID int64 `json:"cid"` |
|
MID int64 `json:"mid"` |
|
Vote int8 `json:"vote"` |
|
CTime xtime.Time `json:"ctime"` |
|
MTime xtime.Time `json:"mtime"` |
|
Expired xtime.Time `json:"expired"` |
|
} |
|
|
|
// BlockedJury blocked jury info. |
|
type BlockedJury struct { |
|
ID int64 `json:"id"` |
|
MID int64 `json:"mid"` |
|
Status int8 `json:"status"` |
|
Expired xtime.Time `json:"expired"` |
|
InvalidReason int8 `json:"invalidReason"` |
|
VoteTotal int64 `json:"voteTotal"` |
|
CaseTotal int64 `json:"caseTotal"` |
|
VoteRadio int64 `json:"voteRadio"` |
|
CTime xtime.Time `json:"ctime"` |
|
MTime xtime.Time `json:"mtime"` |
|
VoteRight int64 `json:"voteRight"` |
|
Black int8 `json:"black"` |
|
} |
|
|
|
// JuryRequirement jury requirement info. |
|
type JuryRequirement struct { |
|
Blocked bool `json:"blocked"` |
|
Cert bool `json:"cert"` |
|
Level bool `json:"level"` |
|
Rule bool `json:"rule"` |
|
} |
|
|
|
//UserInfo jury interface |
|
type UserInfo struct { |
|
CaseTotal int64 `json:"caseTotal"` |
|
Face string `json:"face"` |
|
RestDays int64 `json:"restDays"` |
|
RightRadio int64 `json:"rightRadio"` |
|
Status int8 `json:"status"` |
|
Uname string `json:"uname"` |
|
} |
|
|
|
// BlockedConfig config struct. |
|
type BlockedConfig struct { |
|
CaseGiveHours string `json:"caseGiveHours"` |
|
CaseCheckHours string `json:"caseCheckHours"` |
|
JuryVoteRadio string `json:"juryVoteRadio"` |
|
CaseJudgeRadio string `json:"caseJudgeRadio"` |
|
CaseVoteMin string `json:"caseVoteMin"` |
|
} |
|
|
|
// VoteInfo vote info. |
|
type VoteInfo struct { |
|
ID int64 `json:"id"` |
|
MID int64 `json:"mid"` |
|
Vote int8 `json:"vote"` |
|
CID int64 `json:"cid"` |
|
Expired xtime.Time `json:"expired"` |
|
Mtime xtime.Time `json:"mtime"` |
|
} |
|
|
|
// CaseInfo struct |
|
type CaseInfo struct { |
|
EndTime xtime.Time `json:"endTime"` |
|
Face string `json:"face"` |
|
ID int64 `json:"id"` |
|
OriginContent string `json:"originContent"` |
|
OriginTitle string `json:"originTitle"` |
|
OriginURL string `json:"originUrl"` |
|
Status int8 `json:"status"` |
|
UID int64 `json:"uid"` |
|
Uname string `json:"uname"` |
|
VoteBreak int64 `json:"voteBreak"` |
|
VoteRule int64 `json:"voteRule"` |
|
} |
|
|
|
// Build set blocked title info. |
|
func (bi *BlockedInfo) Build() { |
|
bi.OriginTypeName = _originType[int8(bi.OriginType)] |
|
bi.ReasonTypeName = _reasonType[int8(bi.ReasonType)] |
|
bi.PunishTypeName = _punishType[int8(bi.PunishType)] |
|
bi.PunishTitle = fmt.Sprintf("在%s中%s", bi.OriginTypeName, bi.ReasonTypeName) |
|
} |
|
|
|
// Build set blocked title info. |
|
func (bc *BlockedCase) Build() { |
|
bc.PunishTitle = fmt.Sprintf("在%s中%s", _originType[int8(bc.OriginType)], _reasonType[int8(bc.ReasonType)]) |
|
} |
|
|
|
// CheckVote check vote. |
|
func CheckVote(vote int8) (ok bool) { |
|
if vote == VoteBanned || vote == VoteRule || vote == VoteAbstain || vote == VoteDel { |
|
ok = true |
|
} |
|
return |
|
} |
|
|
|
// IsCaseTypePublic is case type public. |
|
func IsCaseTypePublic(caseType int8) (ok bool) { |
|
if caseType == JudeCaseTypePublic { |
|
ok = true |
|
} |
|
return |
|
} |
|
|
|
// GantMedalID . |
|
func (bj *BlockedJury) GantMedalID() int64 { |
|
switch bj.CaseTotal { |
|
case GuardMedalPointC: |
|
return GuardMedalC |
|
case GuardMedalPointB: |
|
return GuardMedalB |
|
case GuardMedalPointA: |
|
return GuardMedalA |
|
} |
|
return GuardMedalNone |
|
}
|
|
|