正在显示
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 { |
-
请 注册 或 登录 后发表评论