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