正在显示
3 个修改的文件
包含
49 行增加
和
17 行删除
1 | package domain | 1 | package domain |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | + "errors" | ||
4 | "sort" | 5 | "sort" |
5 | "time" | 6 | "time" |
6 | ) | 7 | ) |
@@ -31,11 +32,13 @@ type Task struct { | @@ -31,11 +32,13 @@ type Task struct { | ||
31 | Alias string `json:"alias"` // 任务别名 | 32 | Alias string `json:"alias"` // 任务别名 |
32 | Leader TaskLeader `json:"leader"` // 任务负责人 | 33 | Leader TaskLeader `json:"leader"` // 任务负责人 |
33 | Status TaskState `json:"status"` // 任务的状态 | 34 | Status TaskState `json:"status"` // 任务的状态 |
34 | - Level int `json:"level"` // 优先级,值越小优先级越高 | ||
35 | - LevelName string `json:"levelName"` // 优先级名称 | 35 | + Level int `json:"level"` // 优先级 (优先级字段表示的意义变更,不再需要这个字段,仅数据保留) |
36 | + LevelName string `json:"levelName"` // 字段表示的意义变更; 原来 (“优先级名称“)=> 现在 (“任务类型“) | ||
37 | + SortBy int `json:"sortBy"` // 优先级排序;值越小优先级越高 | ||
38 | + EndTime int64 `json:"endTime"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 | ||
36 | RelatedUser []int `json:"relatedUser"` // 相关的员工id | 39 | RelatedUser []int `json:"relatedUser"` // 相关的员工id |
37 | - RunAt int64 `json:"runAt"` // 启动的时间戳,秒 | ||
38 | - StopAt int64 `json:"stopAt"` // 停止的时间戳,秒 | 40 | + RunAt int64 `json:"runAt"` // 启动的时间戳,单位:秒 |
41 | + StopAt int64 `json:"stopAt"` // 停止的时间戳,单位:秒 | ||
39 | Anomaly int `json:"anomaly"` // 异常反馈的次数 | 42 | Anomaly int `json:"anomaly"` // 异常反馈的次数 |
40 | WarnFlag TaskWarnFlag `json:"warnFlag"` // 里程碑异常标记 | 43 | WarnFlag TaskWarnFlag `json:"warnFlag"` // 里程碑异常标记 |
41 | CurrentStage TaskStage `json:"currentStage"` // 当前执行的里程碑 | 44 | CurrentStage TaskStage `json:"currentStage"` // 当前执行的里程碑 |
@@ -95,6 +98,29 @@ func (t *Task) SetCurrentStage(stageList []*TaskStage) { | @@ -95,6 +98,29 @@ func (t *Task) SetCurrentStage(stageList []*TaskStage) { | ||
95 | } | 98 | } |
96 | } | 99 | } |
97 | 100 | ||
101 | +// 设置优先级的值 | ||
102 | +func (t *Task) SetSortBy(a int) error { | ||
103 | + switch a { | ||
104 | + case 100, 200, 300, 0: | ||
105 | + default: | ||
106 | + return errors.New("优先级值错误") | ||
107 | + } | ||
108 | + | ||
109 | + t.SortBy = a | ||
110 | + return nil | ||
111 | +} | ||
112 | + | ||
113 | +// 获取优先级的名称描述 | ||
114 | +func (t *Task) GetNameSortBy() string { | ||
115 | + nameMap := map[int]string{ | ||
116 | + 100: "高", | ||
117 | + 200: "中", | ||
118 | + 300: "低", | ||
119 | + 0: "无", | ||
120 | + } | ||
121 | + return nameMap[t.SortBy] | ||
122 | +} | ||
123 | + | ||
98 | type TaskRepository interface { | 124 | type TaskRepository interface { |
99 | Save(param *Task) error | 125 | Save(param *Task) error |
100 | Remove(id int) error | 126 | Remove(id int) error |
@@ -9,22 +9,24 @@ import ( | @@ -9,22 +9,24 @@ import ( | ||
9 | // 任务 | 9 | // 任务 |
10 | type Task struct { | 10 | type Task struct { |
11 | tableName struct{} `comment:"任务" pg:"task"` | 11 | tableName struct{} `comment:"任务" pg:"task"` |
12 | - Id int `pg:"id,pk"` // | ||
13 | - CreatedAt time.Time `pg:"created_at"` // | ||
14 | - UpdatedAt time.Time `pg:"updated_at"` // | ||
15 | - DeletedAt *time.Time `pg:"deleted_at"` // | ||
16 | - Name string `pg:"name"` // 任务名称 | ||
17 | - Alias string `pg:"alias"` // | ||
18 | - CompanyId int `pg:"company_id"` // | ||
19 | - Leader domain.TaskLeader `pg:"leader,type:jsonb"` // 任务负责人 | ||
20 | - Status int `pg:"status,use_zero"` // 任务的状态 | ||
21 | - Level int `pg:"level,use_zero"` // 优先级,值越小优先级越高 | ||
22 | - LevelName string `pg:"level_name"` // 优先级名称 | ||
23 | - RelatedUser []int `pg:"related_user"` | 12 | + Id int `pg:"id,pk"` // |
13 | + CreatedAt time.Time `pg:"created_at"` // | ||
14 | + UpdatedAt time.Time `pg:"updated_at"` // | ||
15 | + DeletedAt *time.Time `pg:"deleted_at"` // | ||
16 | + Name string `pg:"name"` // 任务名称 | ||
17 | + Alias string `pg:"alias"` // | ||
18 | + CompanyId int `pg:"company_id"` // | ||
19 | + Leader domain.TaskLeader `pg:"leader,type:jsonb"` // 任务负责人 | ||
20 | + Status int `pg:"status,use_zero"` // 任务的状态 | ||
21 | + Level int `pg:"level,use_zero"` // 优先级,值越小优先级越高 | ||
22 | + LevelName string `pg:"level_name"` // 优先级名称 | ||
23 | + RelatedUser []int `pg:"related_user"` // | ||
24 | LastStage domain.TaskStage `pg:"last_stage,type:jsonb"` // 上一个完成的里程碑,添加type:jsonb 防止orm生成sql时字段丢失 | 24 | LastStage domain.TaskStage `pg:"last_stage,type:jsonb"` // 上一个完成的里程碑,添加type:jsonb 防止orm生成sql时字段丢失 |
25 | RunAt int64 `pg:"run_at,use_zero"` // 启动的时间 | 25 | RunAt int64 `pg:"run_at,use_zero"` // 启动的时间 |
26 | StopAt int64 `pg:"stop_at,use_zero" ` // 停止的时间 | 26 | StopAt int64 `pg:"stop_at,use_zero" ` // 停止的时间 |
27 | Anomaly int `pg:"anomaly,use_zero"` // 异常反馈的数量 | 27 | Anomaly int `pg:"anomaly,use_zero"` // 异常反馈的数量 |
28 | WarnFlag int `pg:"warn_flag,use_zero"` // 里程碑异常标记 | 28 | WarnFlag int `pg:"warn_flag,use_zero"` // 里程碑异常标记 |
29 | CurrentStage domain.TaskStage `pg:"current_stage,type:jsonb"` // 添加type:jsonb 防止orm(可能是特性)生成sql时字段丢失 | 29 | CurrentStage domain.TaskStage `pg:"current_stage,type:jsonb"` // 添加type:jsonb 防止orm(可能是特性)生成sql时字段丢失 |
30 | + SortBy int `pg:"sort_by"` // 优先级排序;值越小优先级越高 | ||
31 | + EndTime int64 `pg:"end_time"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 | ||
30 | } | 32 | } |
@@ -37,6 +37,8 @@ func (repo *TaskRepository) TransformToDomain(d *models.Task) *domain.Task { | @@ -37,6 +37,8 @@ func (repo *TaskRepository) TransformToDomain(d *models.Task) *domain.Task { | ||
37 | Status: domain.TaskState(d.Status), | 37 | Status: domain.TaskState(d.Status), |
38 | Level: d.Level, | 38 | Level: d.Level, |
39 | LevelName: d.LevelName, | 39 | LevelName: d.LevelName, |
40 | + SortBy: d.SortBy, | ||
41 | + EndTime: d.EndTime, | ||
40 | RelatedUser: d.RelatedUser, | 42 | RelatedUser: d.RelatedUser, |
41 | RunAt: d.RunAt, | 43 | RunAt: d.RunAt, |
42 | StopAt: d.StopAt, | 44 | StopAt: d.StopAt, |
@@ -65,12 +67,14 @@ func (repo *TaskRepository) Save(param *domain.Task) error { | @@ -65,12 +67,14 @@ func (repo *TaskRepository) Save(param *domain.Task) error { | ||
65 | Level: param.Level, | 67 | Level: param.Level, |
66 | LevelName: param.LevelName, | 68 | LevelName: param.LevelName, |
67 | RelatedUser: param.RelatedUser, | 69 | RelatedUser: param.RelatedUser, |
70 | + LastStage: param.LastStage, | ||
68 | RunAt: param.RunAt, | 71 | RunAt: param.RunAt, |
69 | StopAt: param.StopAt, | 72 | StopAt: param.StopAt, |
70 | Anomaly: param.Anomaly, | 73 | Anomaly: param.Anomaly, |
71 | WarnFlag: int(param.WarnFlag), | 74 | WarnFlag: int(param.WarnFlag), |
72 | CurrentStage: param.CurrentStage, | 75 | CurrentStage: param.CurrentStage, |
73 | - LastStage: param.LastStage, | 76 | + SortBy: param.SortBy, |
77 | + EndTime: param.EndTime, | ||
74 | } | 78 | } |
75 | db := repo.transactionContext.PgTx | 79 | db := repo.transactionContext.PgTx |
76 | if m.Id == 0 { | 80 | if m.Id == 0 { |
-
请 注册 或 登录 后发表评论