...
|
...
|
@@ -21,6 +21,25 @@ const ( |
|
|
TaskWarn TaskWarnFlag = 1
|
|
|
)
|
|
|
|
|
|
type TaskSortBy int
|
|
|
|
|
|
const (
|
|
|
TaskSortHight TaskSortBy = 100
|
|
|
TaskSortMiddle TaskSortBy = 200
|
|
|
TaskSortLow TaskSortBy = 300
|
|
|
TaskSortNull TaskSortBy = 400
|
|
|
)
|
|
|
|
|
|
func (t TaskSortBy) Named() string {
|
|
|
nameMap := map[TaskSortBy]string{
|
|
|
TaskSortHight: "高",
|
|
|
TaskSortMiddle: "中",
|
|
|
TaskSortLow: "低",
|
|
|
TaskSortNull: "无",
|
|
|
}
|
|
|
return nameMap[t]
|
|
|
}
|
|
|
|
|
|
// 任务
|
|
|
type Task struct {
|
|
|
Id int `json:"id"`
|
...
|
...
|
@@ -34,9 +53,9 @@ type Task struct { |
|
|
Status TaskState `json:"status"` // 任务的状态
|
|
|
Level int `json:"level"` // 优先级 (优先级字段表示的意义变更,不再需要这个字段,仅数据保留)
|
|
|
LevelName string `json:"levelName"` // 字段表示的意义变更; 原来 (“优先级名称“)=> 现在 (“任务类型“)
|
|
|
SortBy int `json:"sortBy"` // 优先级排序;值越小优先级越高
|
|
|
SortBy TaskSortBy `json:"sortBy"` // 优先级排序;值越小优先级越高
|
|
|
EndTime int64 `json:"endTime"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间
|
|
|
UseEndtime int `json:"useEndTime"` // 是否应用任务截止的时间;默认值0:不应用,1:应用
|
|
|
UseEndTime int `json:"useEndTime"` // 是否应用任务截止的时间;默认值0:不应用,1:应用
|
|
|
RelatedUser []int `json:"relatedUser"` // 相关的员工id
|
|
|
RunAt int64 `json:"runAt"` // 启动的时间戳,单位:秒
|
|
|
StopAt int64 `json:"stopAt"` // 停止的时间戳,单位:秒
|
...
|
...
|
@@ -83,6 +102,9 @@ func (t *Task) StatusDescription() string { |
|
|
|
|
|
// 记录待执行的里程碑,和上一个执行的里程碑
|
|
|
func (t *Task) SetCurrentStage(stageList []*TaskStage) {
|
|
|
if len(stageList) == 0 {
|
|
|
return
|
|
|
}
|
|
|
sort.Slice(stageList, func(i, j int) bool {
|
|
|
return stageList[i].SortBy < stageList[j].SortBy
|
|
|
})
|
...
|
...
|
@@ -101,27 +123,16 @@ func (t *Task) SetCurrentStage(stageList []*TaskStage) { |
|
|
|
|
|
// 设置优先级的值
|
|
|
func (t *Task) SetSortBy(a int) error {
|
|
|
switch a {
|
|
|
case 100, 200, 300, 0:
|
|
|
switch TaskSortBy(a) {
|
|
|
case TaskSortHight, TaskSortMiddle, TaskSortLow, TaskSortNull:
|
|
|
default:
|
|
|
return errors.New("优先级值错误")
|
|
|
}
|
|
|
|
|
|
t.SortBy = a
|
|
|
t.SortBy = TaskSortBy(a)
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
// 获取优先级的名称描述
|
|
|
func (t *Task) GetNameSortBy() string {
|
|
|
nameMap := map[int]string{
|
|
|
100: "高",
|
|
|
200: "中",
|
|
|
300: "低",
|
|
|
0: "无",
|
|
|
}
|
|
|
return nameMap[t.SortBy]
|
|
|
}
|
|
|
|
|
|
type TaskRepository interface {
|
|
|
Save(param *Task) error
|
|
|
Remove(id int) error
|
...
|
...
|
|