...
|
...
|
@@ -2,16 +2,52 @@ package domain |
|
|
|
|
|
import "time"
|
|
|
|
|
|
type TaskState int
|
|
|
|
|
|
const (
|
|
|
TaskRunning TaskState = 1 //任务启动中
|
|
|
TaskStop TaskState = 2 //任务停止
|
|
|
)
|
|
|
|
|
|
// 任务
|
|
|
type Task struct {
|
|
|
Id int
|
|
|
Name string
|
|
|
StageList []TaskStage
|
|
|
Id int `json:"id"`
|
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
|
UpdatedAt time.Time `json:"updatedAt"`
|
|
|
DeletedAt time.Time `json:"deletedAt"`
|
|
|
Name string `json:"name"` // 任务名称
|
|
|
Leader TaskLeader `json:"leader"` // 任务负责人
|
|
|
Status TaskState `json:"status"` // 任务的状态
|
|
|
StageList []TaskStage `json:"stageList"` // 里程碑
|
|
|
Level int `json:"level"` // 优先级,值越小优先级越高
|
|
|
LevalName string `json:"levalName"` // 优先级名称
|
|
|
}
|
|
|
|
|
|
type TaskLeader struct {
|
|
|
Id int64 `json:"id,string"` // 用户Id
|
|
|
Account string `json:"account"` // 用户账号
|
|
|
Name string `json:"name"` // 用户姓名
|
|
|
}
|
|
|
|
|
|
// 设置任务的优先级
|
|
|
func (t *Task) ApplyLevelName(name string) {
|
|
|
t.LevalName = name
|
|
|
switch name {
|
|
|
case "战略任务":
|
|
|
t.Level = 1
|
|
|
case "重点任务":
|
|
|
t.Level = 2
|
|
|
case "常规任务":
|
|
|
t.Level = 3
|
|
|
default:
|
|
|
t.Level = 999
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 任务阶段
|
|
|
type TaskStage struct {
|
|
|
Id int
|
|
|
Name string
|
|
|
PlanCompleteAt time.Time
|
|
|
type TaskRepository interface {
|
|
|
Save(param *Task) error
|
|
|
Remove(id int) error
|
|
|
FindOne(queryOptions map[string]interface{}) (*Task, error)
|
|
|
Find(queryOptions map[string]interface{}) (int, []*Task, error)
|
|
|
RemoveStage(stageData TaskStage)
|
|
|
} |
...
|
...
|
|