task_anomaly.go 2.2 KB
package domain

import "time"

// 任务的异常记录
type TaskAnomaly struct {
	Id           int
	CreatedAt    time.Time         `json:"createdAt"`
	UpdatedAt    time.Time         `json:"updatedAt"`
	CompanyId    int               `json:"companyId,string"`
	TaskId       int               `jsom:"taskId,string"` // 任务id
	Category     int               `json:"category"`      // 异常记录的分类 1 里程碑异常;2反馈异常 ;3 辅导异常
	CurrentStage TaskStage         `json:"currentStage"`  // 当前执行的里程碑
	LastStage    TaskStage         `json:"lastStage"`     // 上一个完成的里程碑
	AssessFlag   int               `json:"anomaly"`       // 异常反馈的次数
	WarnFlag     int               `json:"warnFlag"`      // 里程碑异常次数
	AssistFlag   int               `json:"assistFlag"`    // 辅导异常次数
	IsLast       int               `json:"isLast"`        // 是否是最新的一条记录 1 是最新的记录 2 不是最新的记录
	TaskLevel    string            `json:"taskLevel"`     // 任务类型
	TaskName     string            `json:"taskName"`      // 任务名称
	TaskAlias    string            `json:"taskAlias"`     // 任务别名
	TaskSortBy   TaskSortBy        `json:"taskSortBy"`    // 优先级排序;值越小优先级越高
	TaskEndTime  int64             `json:"taskEndTime"`   // 任务截止的时间戳,单位:秒;等于0时表示未设置时间
	RecordBegin  int               `json:"recordBegin"`   // 异常记录的开始时间
	NoticeWho    []int64           `json:"noticeWho"`     // 异常记录消息通知的人
	Marks        map[string]string `json:"marks"`         // 已经操作的标记
}

// 已点击“去更新”
func (t *TaskAnomaly) MarkA() {
	t.Marks["a"] = "已更新"
}

// 已点击 "去反馈"
func (t *TaskAnomaly) MarkB() {
	t.Marks["b"] = "已反馈"
}

// 已点击 "找上级"
func (t *TaskAnomaly) MarkC() {
	t.Marks["c"] = "已求助"
}

// 已点击 "去辅导"
func (t *TaskAnomaly) MarkD() {
	t.Marks["d"] = "已辅导"
}

// 存储
type TaskAnomalyRepository interface {
	Save(param *TaskAnomaly) error
	FindOne(queryOptions map[string]interface{}) (*TaskAnomaly, error)
	Find(queryOptions map[string]interface{}) (int, []*TaskAnomaly, error)
}