refactor(ticket): contract backend ticket core
This commit is contained in:
@@ -3,33 +3,21 @@ package enums
|
||||
type TicketStatus string
|
||||
|
||||
const (
|
||||
TicketStatusNew TicketStatus = "new"
|
||||
TicketStatusOpen TicketStatus = "open"
|
||||
TicketStatusPendingCustomer TicketStatus = "pending_customer"
|
||||
TicketStatusPendingInternal TicketStatus = "pending_internal"
|
||||
TicketStatusResolved TicketStatus = "resolved"
|
||||
TicketStatusClosed TicketStatus = "closed"
|
||||
TicketStatusCancelled TicketStatus = "cancelled"
|
||||
TicketStatusPending TicketStatus = "pending"
|
||||
TicketStatusInProgress TicketStatus = "in_progress"
|
||||
TicketStatusDone TicketStatus = "done"
|
||||
)
|
||||
|
||||
var TicketStatusValues = []TicketStatus{
|
||||
TicketStatusNew,
|
||||
TicketStatusOpen,
|
||||
TicketStatusPendingCustomer,
|
||||
TicketStatusPendingInternal,
|
||||
TicketStatusResolved,
|
||||
TicketStatusClosed,
|
||||
TicketStatusCancelled,
|
||||
TicketStatusPending,
|
||||
TicketStatusInProgress,
|
||||
TicketStatusDone,
|
||||
}
|
||||
|
||||
var ticketStatusLabelMap = map[TicketStatus]string{
|
||||
TicketStatusNew: "新建",
|
||||
TicketStatusOpen: "处理中",
|
||||
TicketStatusPendingCustomer: "待客户反馈",
|
||||
TicketStatusPendingInternal: "待内部处理",
|
||||
TicketStatusResolved: "已解决",
|
||||
TicketStatusClosed: "已关闭",
|
||||
TicketStatusCancelled: "已取消",
|
||||
TicketStatusPending: "待处理",
|
||||
TicketStatusInProgress: "处理中",
|
||||
TicketStatusDone: "已处理",
|
||||
}
|
||||
|
||||
func GetTicketStatusLabel(status TicketStatus) string {
|
||||
@@ -45,55 +33,16 @@ func IsValidTicketStatus(status string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
type TicketSeverity int
|
||||
|
||||
const (
|
||||
TicketSeverityMinor TicketSeverity = 1
|
||||
TicketSeverityMajor TicketSeverity = 2
|
||||
TicketSeverityCritical TicketSeverity = 3
|
||||
)
|
||||
|
||||
var TicketSeverityValues = []TicketSeverity{
|
||||
TicketSeverityMinor,
|
||||
TicketSeverityMajor,
|
||||
TicketSeverityCritical,
|
||||
}
|
||||
|
||||
var ticketSeverityLabelMap = map[TicketSeverity]string{
|
||||
TicketSeverityMinor: "轻微",
|
||||
TicketSeverityMajor: "严重",
|
||||
TicketSeverityCritical: "致命",
|
||||
}
|
||||
|
||||
func GetTicketSeverityLabel(severity TicketSeverity) string {
|
||||
return ticketSeverityLabelMap[severity]
|
||||
}
|
||||
|
||||
func IsValidTicketSeverity(severity int) bool {
|
||||
for _, item := range TicketSeverityValues {
|
||||
if int(item) == severity {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type TicketSource string
|
||||
|
||||
const (
|
||||
TicketSourceManual TicketSource = "manual"
|
||||
TicketSourceConversation TicketSource = "conversation"
|
||||
TicketSourcePortal TicketSource = "portal"
|
||||
TicketSourceAPI TicketSource = "api"
|
||||
TicketSourceRule TicketSource = "rule"
|
||||
)
|
||||
|
||||
var TicketSourceValues = []TicketSource{
|
||||
TicketSourceManual,
|
||||
TicketSourceConversation,
|
||||
TicketSourcePortal,
|
||||
TicketSourceAPI,
|
||||
TicketSourceRule,
|
||||
}
|
||||
|
||||
func IsValidTicketSource(source string) bool {
|
||||
@@ -104,53 +53,3 @@ func IsValidTicketSource(source string) bool {
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type TicketCommentType string
|
||||
|
||||
const (
|
||||
TicketCommentTypePublicReply TicketCommentType = "public_reply"
|
||||
TicketCommentTypeInternalNote TicketCommentType = "internal_note"
|
||||
TicketCommentTypeSystemLog TicketCommentType = "system_log"
|
||||
)
|
||||
|
||||
type TicketEventType string
|
||||
|
||||
const (
|
||||
TicketEventTypeCreated TicketEventType = "created"
|
||||
TicketEventTypeUpdated TicketEventType = "updated"
|
||||
TicketEventTypeAssigned TicketEventType = "assigned"
|
||||
TicketEventTypeTransferred TicketEventType = "transferred"
|
||||
TicketEventTypeStatusChanged TicketEventType = "status_changed"
|
||||
TicketEventTypeReplied TicketEventType = "replied"
|
||||
TicketEventTypeInternalNoted TicketEventType = "internal_noted"
|
||||
TicketEventTypeClosed TicketEventType = "closed"
|
||||
TicketEventTypeReopened TicketEventType = "reopened"
|
||||
TicketEventTypeSLABreached TicketEventType = "sla_breached"
|
||||
TicketEventTypeLinkedConversation TicketEventType = "linked_conversation"
|
||||
TicketEventTypeMentioned TicketEventType = "mentioned"
|
||||
)
|
||||
|
||||
type TicketSLAType string
|
||||
|
||||
const (
|
||||
TicketSLATypeFirstResponse TicketSLAType = "first_response"
|
||||
TicketSLATypeResolution TicketSLAType = "resolution"
|
||||
)
|
||||
|
||||
type TicketSLAStatus string
|
||||
|
||||
const (
|
||||
TicketSLAStatusRunning TicketSLAStatus = "running"
|
||||
TicketSLAStatusPaused TicketSLAStatus = "paused"
|
||||
TicketSLAStatusCompleted TicketSLAStatus = "completed"
|
||||
TicketSLAStatusBreached TicketSLAStatus = "breached"
|
||||
)
|
||||
|
||||
type TicketRelationType string
|
||||
|
||||
const (
|
||||
TicketRelationTypeDuplicate TicketRelationType = "duplicate"
|
||||
TicketRelationTypeRelated TicketRelationType = "related"
|
||||
TicketRelationTypeParent TicketRelationType = "parent"
|
||||
TicketRelationTypeChild TicketRelationType = "child"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user