Merge branch 'dev-tangxvhui' into test
正在显示
5 个修改的文件
包含
63 行增加
和
46 行删除
| @@ -6,6 +6,9 @@ type UpdateTaskCommand struct { | @@ -6,6 +6,9 @@ type UpdateTaskCommand struct { | ||
| 6 | Alias string `json:"alias"` //任务名称 | 6 | Alias string `json:"alias"` //任务名称 |
| 7 | LevelName string `json:"levelName"` //优先级 | 7 | LevelName string `json:"levelName"` //优先级 |
| 8 | RelatedUserId []string `json:"relatedUserId"` //相关人员id | 8 | RelatedUserId []string `json:"relatedUserId"` //相关人员id |
| 9 | + SortBy int `json:"sortBy"` // 优先级排序;值越小优先级越高 | ||
| 10 | + EndTime int64 `json:"endTime"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 | ||
| 11 | + UseEndtime int `json:"useEndTime"` // 是否应用任务截止的时间;默认值0:不应用,1:应用 | ||
| 9 | StageList []struct { | 12 | StageList []struct { |
| 10 | Id int `json:"id,string"` | 13 | Id int `json:"id,string"` |
| 11 | Name string `json:"name"` //里程碑名称 | 14 | Name string `json:"name"` //里程碑名称 |
| @@ -92,7 +92,6 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | @@ -92,7 +92,6 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | ||
| 92 | } | 92 | } |
| 93 | leaderData := leaderList[0] | 93 | leaderData := leaderList[0] |
| 94 | nowTime := time.Now() | 94 | nowTime := time.Now() |
| 95 | - nowEndTime := dayEndTime(nowTime) | ||
| 96 | newTask := domain.Task{ | 95 | newTask := domain.Task{ |
| 97 | Id: 0, | 96 | Id: 0, |
| 98 | CreatedAt: time.Time{}, | 97 | CreatedAt: time.Time{}, |
| @@ -112,6 +111,7 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | @@ -112,6 +111,7 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | ||
| 112 | RelatedUser: []int{int(leaderData.Id)}, | 111 | RelatedUser: []int{int(leaderData.Id)}, |
| 113 | RunAt: nowTime.Unix(), | 112 | RunAt: nowTime.Unix(), |
| 114 | StopAt: 0, | 113 | StopAt: 0, |
| 114 | + SortBy: domain.TaskSortNull, | ||
| 115 | } | 115 | } |
| 116 | if int(leaderData.ParentId) != 0 { | 116 | if int(leaderData.ParentId) != 0 { |
| 117 | newTask.RelatedUser = append(newTask.RelatedUser, int(leaderData.ParentId)) | 117 | newTask.RelatedUser = append(newTask.RelatedUser, int(leaderData.ParentId)) |
| @@ -122,30 +122,30 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | @@ -122,30 +122,30 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | ||
| 122 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "创建任务失败:"+err.Error()) | 122 | return application.ThrowError(application.INTERNAL_SERVER_ERROR, "创建任务失败:"+err.Error()) |
| 123 | } | 123 | } |
| 124 | newTaskStage := []*domain.TaskStage{ | 124 | newTaskStage := []*domain.TaskStage{ |
| 125 | - { | ||
| 126 | - Id: 0, | ||
| 127 | - TaskId: newTask.Id, | ||
| 128 | - Name: "里程碑1", | ||
| 129 | - SortBy: 1, | ||
| 130 | - PlanCompletedAt: nowEndTime.Add(30 * 24 * time.Hour).Unix(), | ||
| 131 | - RealCompletedAt: 0, | ||
| 132 | - }, | ||
| 133 | - { | ||
| 134 | - Id: 0, | ||
| 135 | - TaskId: newTask.Id, | ||
| 136 | - Name: "里程碑2", | ||
| 137 | - SortBy: 2, | ||
| 138 | - PlanCompletedAt: nowEndTime.Add(60 * 24 * time.Hour).Unix(), | ||
| 139 | - RealCompletedAt: 0, | ||
| 140 | - }, | ||
| 141 | - { | ||
| 142 | - Id: 0, | ||
| 143 | - TaskId: newTask.Id, | ||
| 144 | - Name: "里程碑3", | ||
| 145 | - SortBy: 3, | ||
| 146 | - PlanCompletedAt: nowEndTime.Add(90 * 24 * time.Hour).Unix(), | ||
| 147 | - RealCompletedAt: 0, | ||
| 148 | - }, | 125 | + // { |
| 126 | + // Id: 0, | ||
| 127 | + // TaskId: newTask.Id, | ||
| 128 | + // Name: "里程碑1", | ||
| 129 | + // SortBy: 1, | ||
| 130 | + // PlanCompletedAt: nowEndTime.Add(30 * 24 * time.Hour).Unix(), | ||
| 131 | + // RealCompletedAt: 0, | ||
| 132 | + // }, | ||
| 133 | + // { | ||
| 134 | + // Id: 0, | ||
| 135 | + // TaskId: newTask.Id, | ||
| 136 | + // Name: "里程碑2", | ||
| 137 | + // SortBy: 2, | ||
| 138 | + // PlanCompletedAt: nowEndTime.Add(60 * 24 * time.Hour).Unix(), | ||
| 139 | + // RealCompletedAt: 0, | ||
| 140 | + // }, | ||
| 141 | + // { | ||
| 142 | + // Id: 0, | ||
| 143 | + // TaskId: newTask.Id, | ||
| 144 | + // Name: "里程碑3", | ||
| 145 | + // SortBy: 3, | ||
| 146 | + // PlanCompletedAt: nowEndTime.Add(90 * 24 * time.Hour).Unix(), | ||
| 147 | + // RealCompletedAt: 0, | ||
| 148 | + // }, | ||
| 149 | } | 149 | } |
| 150 | err = taskStageRepo.Save(newTaskStage) | 150 | err = taskStageRepo.Save(newTaskStage) |
| 151 | if err != nil { | 151 | if err != nil { |
| @@ -313,6 +313,9 @@ func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string] | @@ -313,6 +313,9 @@ func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string] | ||
| 313 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 313 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 314 | } | 314 | } |
| 315 | taskData.SetCurrentStage(stageList) | 315 | taskData.SetCurrentStage(stageList) |
| 316 | + taskData.SetSortBy(param.SortBy) | ||
| 317 | + taskData.EndTime = param.EndTime | ||
| 318 | + taskData.UseEndTime = param.UseEndtime | ||
| 316 | err = taskRepo.Save(taskData) | 319 | err = taskRepo.Save(taskData) |
| 317 | if err != nil { | 320 | if err != nil { |
| 318 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 321 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| @@ -21,6 +21,25 @@ const ( | @@ -21,6 +21,25 @@ const ( | ||
| 21 | TaskWarn TaskWarnFlag = 1 | 21 | TaskWarn TaskWarnFlag = 1 |
| 22 | ) | 22 | ) |
| 23 | 23 | ||
| 24 | +type TaskSortBy int | ||
| 25 | + | ||
| 26 | +const ( | ||
| 27 | + TaskSortHight TaskSortBy = 100 | ||
| 28 | + TaskSortMiddle TaskSortBy = 200 | ||
| 29 | + TaskSortLow TaskSortBy = 300 | ||
| 30 | + TaskSortNull TaskSortBy = 400 | ||
| 31 | +) | ||
| 32 | + | ||
| 33 | +func (t TaskSortBy) Named() string { | ||
| 34 | + nameMap := map[TaskSortBy]string{ | ||
| 35 | + TaskSortHight: "高", | ||
| 36 | + TaskSortMiddle: "中", | ||
| 37 | + TaskSortLow: "低", | ||
| 38 | + TaskSortNull: "无", | ||
| 39 | + } | ||
| 40 | + return nameMap[t] | ||
| 41 | +} | ||
| 42 | + | ||
| 24 | // 任务 | 43 | // 任务 |
| 25 | type Task struct { | 44 | type Task struct { |
| 26 | Id int `json:"id"` | 45 | Id int `json:"id"` |
| @@ -34,9 +53,9 @@ type Task struct { | @@ -34,9 +53,9 @@ type Task struct { | ||
| 34 | Status TaskState `json:"status"` // 任务的状态 | 53 | Status TaskState `json:"status"` // 任务的状态 |
| 35 | Level int `json:"level"` // 优先级 (优先级字段表示的意义变更,不再需要这个字段,仅数据保留) | 54 | Level int `json:"level"` // 优先级 (优先级字段表示的意义变更,不再需要这个字段,仅数据保留) |
| 36 | LevelName string `json:"levelName"` // 字段表示的意义变更; 原来 (“优先级名称“)=> 现在 (“任务类型“) | 55 | LevelName string `json:"levelName"` // 字段表示的意义变更; 原来 (“优先级名称“)=> 现在 (“任务类型“) |
| 37 | - SortBy int `json:"sortBy"` // 优先级排序;值越小优先级越高 | 56 | + SortBy TaskSortBy `json:"sortBy"` // 优先级排序;值越小优先级越高 |
| 38 | EndTime int64 `json:"endTime"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 | 57 | EndTime int64 `json:"endTime"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 |
| 39 | - UseEndtime int `json:"useEndTime"` // 是否应用任务截止的时间;默认值0:不应用,1:应用 | 58 | + UseEndTime int `json:"useEndTime"` // 是否应用任务截止的时间;默认值0:不应用,1:应用 |
| 40 | RelatedUser []int `json:"relatedUser"` // 相关的员工id | 59 | RelatedUser []int `json:"relatedUser"` // 相关的员工id |
| 41 | RunAt int64 `json:"runAt"` // 启动的时间戳,单位:秒 | 60 | RunAt int64 `json:"runAt"` // 启动的时间戳,单位:秒 |
| 42 | StopAt int64 `json:"stopAt"` // 停止的时间戳,单位:秒 | 61 | StopAt int64 `json:"stopAt"` // 停止的时间戳,单位:秒 |
| @@ -83,6 +102,9 @@ func (t *Task) StatusDescription() string { | @@ -83,6 +102,9 @@ func (t *Task) StatusDescription() string { | ||
| 83 | 102 | ||
| 84 | // 记录待执行的里程碑,和上一个执行的里程碑 | 103 | // 记录待执行的里程碑,和上一个执行的里程碑 |
| 85 | func (t *Task) SetCurrentStage(stageList []*TaskStage) { | 104 | func (t *Task) SetCurrentStage(stageList []*TaskStage) { |
| 105 | + if len(stageList) == 0 { | ||
| 106 | + return | ||
| 107 | + } | ||
| 86 | sort.Slice(stageList, func(i, j int) bool { | 108 | sort.Slice(stageList, func(i, j int) bool { |
| 87 | return stageList[i].SortBy < stageList[j].SortBy | 109 | return stageList[i].SortBy < stageList[j].SortBy |
| 88 | }) | 110 | }) |
| @@ -101,27 +123,16 @@ func (t *Task) SetCurrentStage(stageList []*TaskStage) { | @@ -101,27 +123,16 @@ func (t *Task) SetCurrentStage(stageList []*TaskStage) { | ||
| 101 | 123 | ||
| 102 | // 设置优先级的值 | 124 | // 设置优先级的值 |
| 103 | func (t *Task) SetSortBy(a int) error { | 125 | func (t *Task) SetSortBy(a int) error { |
| 104 | - switch a { | ||
| 105 | - case 100, 200, 300, 0: | 126 | + switch TaskSortBy(a) { |
| 127 | + case TaskSortHight, TaskSortMiddle, TaskSortLow, TaskSortNull: | ||
| 106 | default: | 128 | default: |
| 107 | return errors.New("优先级值错误") | 129 | return errors.New("优先级值错误") |
| 108 | } | 130 | } |
| 109 | 131 | ||
| 110 | - t.SortBy = a | 132 | + t.SortBy = TaskSortBy(a) |
| 111 | return nil | 133 | return nil |
| 112 | } | 134 | } |
| 113 | 135 | ||
| 114 | -// 获取优先级的名称描述 | ||
| 115 | -func (t *Task) GetNameSortBy() string { | ||
| 116 | - nameMap := map[int]string{ | ||
| 117 | - 100: "高", | ||
| 118 | - 200: "中", | ||
| 119 | - 300: "低", | ||
| 120 | - 0: "无", | ||
| 121 | - } | ||
| 122 | - return nameMap[t.SortBy] | ||
| 123 | -} | ||
| 124 | - | ||
| 125 | type TaskRepository interface { | 136 | type TaskRepository interface { |
| 126 | Save(param *Task) error | 137 | Save(param *Task) error |
| 127 | Remove(id int) error | 138 | Remove(id int) error |
| @@ -29,5 +29,5 @@ type Task struct { | @@ -29,5 +29,5 @@ type Task struct { | ||
| 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"` // 优先级排序;值越小优先级越高 | 30 | SortBy int `pg:"sort_by"` // 优先级排序;值越小优先级越高 |
| 31 | EndTime int64 `pg:"end_time"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 | 31 | EndTime int64 `pg:"end_time"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 |
| 32 | - UseEndtime int `pg:"use_end_time"` // 是否应用任务截止的时间;默认值0:不应用,1:应用 | 32 | + UseEndTime int `pg:"use_end_time"` // 是否应用任务截止的时间;默认值0:不应用,1:应用 |
| 33 | } | 33 | } |
| @@ -37,9 +37,9 @@ func (repo *TaskRepository) TransformToDomain(d *models.Task) *domain.Task { | @@ -37,9 +37,9 @@ 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, | 40 | + SortBy: domain.TaskSortBy(d.SortBy), |
| 41 | EndTime: d.EndTime, | 41 | EndTime: d.EndTime, |
| 42 | - UseEndtime: d.UseEndtime, | 42 | + UseEndTime: d.UseEndTime, |
| 43 | RelatedUser: d.RelatedUser, | 43 | RelatedUser: d.RelatedUser, |
| 44 | RunAt: d.RunAt, | 44 | RunAt: d.RunAt, |
| 45 | StopAt: d.StopAt, | 45 | StopAt: d.StopAt, |
| @@ -74,9 +74,9 @@ func (repo *TaskRepository) Save(param *domain.Task) error { | @@ -74,9 +74,9 @@ func (repo *TaskRepository) Save(param *domain.Task) error { | ||
| 74 | Anomaly: param.Anomaly, | 74 | Anomaly: param.Anomaly, |
| 75 | WarnFlag: int(param.WarnFlag), | 75 | WarnFlag: int(param.WarnFlag), |
| 76 | CurrentStage: param.CurrentStage, | 76 | CurrentStage: param.CurrentStage, |
| 77 | - SortBy: param.SortBy, | 77 | + SortBy: int(param.SortBy), |
| 78 | EndTime: param.EndTime, | 78 | EndTime: param.EndTime, |
| 79 | - UseEndtime: param.UseEndtime, | 79 | + UseEndTime: param.UseEndTime, |
| 80 | } | 80 | } |
| 81 | db := repo.transactionContext.PgTx | 81 | db := repo.transactionContext.PgTx |
| 82 | if m.Id == 0 { | 82 | if m.Id == 0 { |
-
请 注册 或 登录 后发表评论