正在显示
8 个修改的文件
包含
183 行增加
和
61 行删除
@@ -655,7 +655,7 @@ func (rs *EvaluationProjectService) Activate(in *command.ActivateProjectCommand) | @@ -655,7 +655,7 @@ func (rs *EvaluationProjectService) Activate(in *command.ActivateProjectCommand) | ||
655 | if principalId == 0 { | 655 | if principalId == 0 { |
656 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "请选择任务负责人") | 656 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "请选择任务负责人") |
657 | } | 657 | } |
658 | - err := projectTaskService.CreateTask(transactionContext, &taskCommand.CreateTaskCommand{ | 658 | + err := projectTaskService.CreateTaskByProject(transactionContext, &taskCommand.CreateTaskByProjectCommand{ |
659 | Name: content.Name, | 659 | Name: content.Name, |
660 | LeaderId: principalId, | 660 | LeaderId: principalId, |
661 | }) | 661 | }) |
1 | package command | 1 | package command |
2 | 2 | ||
3 | -type CreateTaskCommand struct { | 3 | +type CreateTaskByProjectCommand struct { |
4 | Name string `json:"name"` //任务名称 | 4 | Name string `json:"name"` //任务名称 |
5 | LeaderId int `json:"leaderId,string"` //赋值人id | 5 | LeaderId int `json:"leaderId,string"` //赋值人id |
6 | } | 6 | } |
7 | + | ||
8 | +type CreateTaskCommand struct { | ||
9 | + CompanyId int `json:"-"` | ||
10 | + LeaderId int `json:"leaderId,string"` | ||
11 | + Alias string `json:"alias"` //任务名称 | ||
12 | + LevelName string `json:"levelName"` //优先级 | ||
13 | + RelatedUserId []string `json:"relatedUserId"` //相关人员id | ||
14 | + SortBy int `json:"sortBy"` // 优先级排序;值越小优先级越高 | ||
15 | + EndTime int64 `json:"endTime"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 | ||
16 | +} |
1 | -package command |
1 | package service | 1 | package service |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | - "encoding/json" | ||
5 | "fmt" | 4 | "fmt" |
6 | "strconv" | 5 | "strconv" |
7 | "strings" | 6 | "strings" |
@@ -36,28 +35,29 @@ func dayEndTime(t time.Time) time.Time { | @@ -36,28 +35,29 @@ func dayEndTime(t time.Time) time.Time { | ||
36 | // return t2 | 35 | // return t2 |
37 | // } | 36 | // } |
38 | 37 | ||
39 | -func (srv TaskService) CreateTaskTest(param *command.CreateTaskCommand) error { | ||
40 | - transactionContext, err := factory.CreateTransactionContext(nil) | ||
41 | - if err != nil { | ||
42 | - return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
43 | - } | ||
44 | - if err := transactionContext.StartTransaction(); err != nil { | ||
45 | - return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
46 | - } | ||
47 | - defer func() { | ||
48 | - _ = transactionContext.RollbackTransaction() | ||
49 | - }() | ||
50 | - err = srv.CreateTask(transactionContext, param) | ||
51 | - if err != nil { | ||
52 | - return application.ThrowError(application.INTERNAL_SERVER_ERROR, "创建任务失败:"+err.Error()) | ||
53 | - } | ||
54 | - if err := transactionContext.CommitTransaction(); err != nil { | ||
55 | - return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
56 | - } | ||
57 | - return nil | ||
58 | -} | 38 | +// func (srv TaskService) CreateTaskTest(param *command.CreateTaskCommand) error { |
39 | +// transactionContext, err := factory.CreateTransactionContext(nil) | ||
40 | +// if err != nil { | ||
41 | +// return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
42 | +// } | ||
43 | +// if err := transactionContext.StartTransaction(); err != nil { | ||
44 | +// return application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
45 | +// } | ||
46 | +// defer func() { | ||
47 | +// _ = transactionContext.RollbackTransaction() | ||
48 | +// }() | ||
49 | +// err = srv.CreateTask(transactionContext, param) | ||
50 | +// if err != nil { | ||
51 | +// return application.ThrowError(application.INTERNAL_SERVER_ERROR, "创建任务失败:"+err.Error()) | ||
52 | +// } | ||
53 | +// if err := transactionContext.CommitTransaction(); err != nil { | ||
54 | +// return application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
55 | +// } | ||
56 | +// return nil | ||
57 | +// } | ||
59 | 58 | ||
60 | -func (srv TaskService) CreateTask(transactionContext application.TransactionContext, param *command.CreateTaskCommand) error { | 59 | +// CreateTask 重评估模板中创建 |
60 | +func (srv TaskService) CreateTaskByProject(transactionContext application.TransactionContext, param *command.CreateTaskByProjectCommand) error { | ||
61 | taskRepo := factory.CreateTaskRepository(map[string]interface{}{ | 61 | taskRepo := factory.CreateTaskRepository(map[string]interface{}{ |
62 | "transactionContext": transactionContext, | 62 | "transactionContext": transactionContext, |
63 | }) | 63 | }) |
@@ -67,6 +67,7 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | @@ -67,6 +67,7 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | ||
67 | cnt, _, err := taskRepo.Find(map[string]interface{}{ | 67 | cnt, _, err := taskRepo.Find(map[string]interface{}{ |
68 | "name": param.Name, | 68 | "name": param.Name, |
69 | "leaderId": strconv.Itoa(param.LeaderId), | 69 | "leaderId": strconv.Itoa(param.LeaderId), |
70 | + "createdBy": 0, | ||
70 | "limit": 1, | 71 | "limit": 1, |
71 | }) | 72 | }) |
72 | if err != nil { | 73 | if err != nil { |
@@ -112,6 +113,7 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | @@ -112,6 +113,7 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | ||
112 | RunAt: nowTime.Unix(), | 113 | RunAt: nowTime.Unix(), |
113 | StopAt: 0, | 114 | StopAt: 0, |
114 | SortBy: domain.TaskSortNull, | 115 | SortBy: domain.TaskSortNull, |
116 | + CreatedBy: 0, | ||
115 | } | 117 | } |
116 | if int(leaderData.ParentId) != 0 { | 118 | if int(leaderData.ParentId) != 0 { |
117 | newTask.RelatedUser = append(newTask.RelatedUser, int(leaderData.ParentId)) | 119 | newTask.RelatedUser = append(newTask.RelatedUser, int(leaderData.ParentId)) |
@@ -160,6 +162,109 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | @@ -160,6 +162,109 @@ func (srv TaskService) CreateTask(transactionContext application.TransactionCont | ||
160 | return nil | 162 | return nil |
161 | } | 163 | } |
162 | 164 | ||
165 | +// 创建任务 | ||
166 | +func (srv TaskService) CreateTask(param *command.CreateTaskCommand) (map[string]interface{}, error) { | ||
167 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
168 | + if err != nil { | ||
169 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
170 | + } | ||
171 | + if err := transactionContext.StartTransaction(); err != nil { | ||
172 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
173 | + } | ||
174 | + defer func() { | ||
175 | + _ = transactionContext.RollbackTransaction() | ||
176 | + }() | ||
177 | + taskRepo := factory.CreateTaskRepository(map[string]interface{}{ | ||
178 | + "transactionContext": transactionContext, | ||
179 | + }) | ||
180 | + cnt, _, err := taskRepo.Find(map[string]interface{}{ | ||
181 | + "name": param.Alias, | ||
182 | + "leaderId": strconv.Itoa(param.LeaderId), | ||
183 | + "createdBy": 1, | ||
184 | + "limit": 1, | ||
185 | + }) | ||
186 | + if err != nil { | ||
187 | + return map[string]interface{}{}, application.ThrowError(application.INTERNAL_SERVER_ERROR, "创建任务失败:"+err.Error()) | ||
188 | + } | ||
189 | + if cnt > 0 { | ||
190 | + return map[string]interface{}{}, application.ThrowError(application.BUSINESS_ERROR, "已经存在相同的任务") | ||
191 | + } | ||
192 | + userRepo := factory.CreateUserRepository(map[string]interface{}{ | ||
193 | + "transactionContext": transactionContext, | ||
194 | + }) | ||
195 | + | ||
196 | + _, leaderList, err := userRepo.Find(map[string]interface{}{ | ||
197 | + "id": param.LeaderId, | ||
198 | + "companyId": param.CompanyId, | ||
199 | + }) | ||
200 | + if err != nil { | ||
201 | + return map[string]interface{}{}, application.ThrowError(application.INTERNAL_SERVER_ERROR, "查询人员失败:"+err.Error()) | ||
202 | + } | ||
203 | + if len(leaderList) == 0 { | ||
204 | + return map[string]interface{}{}, application.ThrowError(application.INTERNAL_SERVER_ERROR, "没有查询到人员") | ||
205 | + } | ||
206 | + relatedUserIds := []int{} | ||
207 | + for _, val := range param.RelatedUserId { | ||
208 | + id, _ := strconv.Atoi(val) | ||
209 | + relatedUserIds = append(relatedUserIds, id) | ||
210 | + } | ||
211 | + var relatedUser []*domain.User | ||
212 | + if len(relatedUserIds) > 0 { | ||
213 | + _, relatedUser, err = userRepo.Find(map[string]interface{}{ | ||
214 | + "ids": relatedUserIds, | ||
215 | + "companyId": param.CompanyId, | ||
216 | + }) | ||
217 | + if err != nil { | ||
218 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "获取任务的相关人员"+err.Error()) | ||
219 | + } | ||
220 | + } | ||
221 | + leaderData := leaderList[0] | ||
222 | + nowTime := time.Now() | ||
223 | + newTask := domain.Task{ | ||
224 | + Id: 0, | ||
225 | + CreatedAt: time.Time{}, | ||
226 | + UpdatedAt: time.Time{}, | ||
227 | + DeletedAt: nil, | ||
228 | + CompanyId: int(leaderData.CompanyId), | ||
229 | + Name: param.Alias, | ||
230 | + Alias: param.Alias, | ||
231 | + Leader: domain.TaskLeader{ | ||
232 | + Id: leaderData.Id, | ||
233 | + Account: leaderData.Account, | ||
234 | + Name: leaderData.Name, | ||
235 | + }, | ||
236 | + Status: domain.TaskRunning, | ||
237 | + Level: 0, | ||
238 | + LevelName: "", | ||
239 | + RelatedUser: []int{int(leaderData.Id)}, | ||
240 | + RunAt: nowTime.Unix(), | ||
241 | + StopAt: 0, | ||
242 | + SortBy: domain.TaskSortBy(param.SortBy), | ||
243 | + CreatedBy: 1, | ||
244 | + AssistFlagMax: 0, | ||
245 | + } | ||
246 | + //处理endTime | ||
247 | + if param.EndTime == 0 { | ||
248 | + newTask.EndTime = 0 | ||
249 | + } else { | ||
250 | + newTask.EndTime = dayEndTime(time.Unix(param.EndTime, 10)).Unix() | ||
251 | + } | ||
252 | + newTask.ApplyLevelName(param.LevelName) | ||
253 | + newTask.RelatedUser = []int{} | ||
254 | + for _, val := range relatedUser { | ||
255 | + newTask.RelatedUser = append(newTask.RelatedUser, int(val.Id)) | ||
256 | + } | ||
257 | + | ||
258 | + err = taskRepo.Save(&newTask) | ||
259 | + if err != nil { | ||
260 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
261 | + } | ||
262 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
263 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
264 | + } | ||
265 | + return map[string]interface{}{"id": newTask.Id}, nil | ||
266 | +} | ||
267 | + | ||
163 | // 更新任务 | 268 | // 更新任务 |
164 | func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string]interface{}, error) { | 269 | func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string]interface{}, error) { |
165 | transactionContext, err := factory.CreateTransactionContext(nil) | 270 | transactionContext, err := factory.CreateTransactionContext(nil) |
@@ -232,7 +337,7 @@ func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string] | @@ -232,7 +337,7 @@ func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string] | ||
232 | lastPlanCompletedAt := time.Time{} | 337 | lastPlanCompletedAt := time.Time{} |
233 | newStageList := []*domain.TaskStage{} | 338 | newStageList := []*domain.TaskStage{} |
234 | //标记 变更完成时间的 里程碑 | 339 | //标记 变更完成时间的 里程碑 |
235 | - markStage := []domain.TaskStage{} | 340 | + //markStage := []domain.TaskStage{} |
236 | for i, val2 := range param.StageList { | 341 | for i, val2 := range param.StageList { |
237 | t, err := time.ParseInLocation("2006-01-02", val2.PlanCompletedAt, time.Local) | 342 | t, err := time.ParseInLocation("2006-01-02", val2.PlanCompletedAt, time.Local) |
238 | if err != nil { | 343 | if err != nil { |
@@ -264,9 +369,10 @@ func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string] | @@ -264,9 +369,10 @@ func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string] | ||
264 | oldStage.DeletedAt = nil | 369 | oldStage.DeletedAt = nil |
265 | oldStage.SortBy = i + 1 | 370 | oldStage.SortBy = i + 1 |
266 | oldStage.Name = val2.Name | 371 | oldStage.Name = val2.Name |
267 | - if ok := oldStage.SetPlanCompleted(t); ok { | ||
268 | - markStage = append(markStage, *oldStage) | ||
269 | - } | 372 | + oldStage.SetPlanCompleted(t) |
373 | + //if ok := oldStage.SetPlanCompleted(t); ok { | ||
374 | + //markStage = append(markStage, *oldStage) | ||
375 | + // } | ||
270 | } | 376 | } |
271 | 377 | ||
272 | stageList = append(stageList, newStageList...) | 378 | stageList = append(stageList, newStageList...) |
@@ -310,35 +416,35 @@ func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string] | @@ -310,35 +416,35 @@ func (srv TaskService) UpdateTask(param *command.UpdateTaskCommand) (map[string] | ||
310 | if err != nil { | 416 | if err != nil { |
311 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 417 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
312 | } | 418 | } |
313 | - messageRepo := factory.CreateMessagePersonalRepository(map[string]interface{}{ | ||
314 | - "transactionContext": transactionContext, | ||
315 | - }) | 419 | + // messageRepo := factory.CreateMessagePersonalRepository(map[string]interface{}{ |
420 | + // "transactionContext": transactionContext, | ||
421 | + // }) | ||
316 | //根据markStage 记录的里程碑数据生成通知 | 422 | //根据markStage 记录的里程碑数据生成通知 |
317 | - for _, val := range markStage { | ||
318 | - for _, val2 := range taskData.RelatedUser { | ||
319 | - t1 := time.Unix(val.PlanCompletedAt, 0).Format("2006-01-02") | ||
320 | - s := fmt.Sprintf(`%s 负责的任务 %s 的里程碑 %s 计划完成时间变更为 %s,请知晓!`, taskData.Leader.Name, taskData.Alias, val.Name, t1) | ||
321 | - payload := map[string]string{ | ||
322 | - "id": strconv.Itoa(val.Id), | ||
323 | - "taskName": taskData.Name, | ||
324 | - "taskStageName": val.Name, | ||
325 | - } | ||
326 | - payloadStr, _ := json.Marshal(payload) | ||
327 | - newMessage := domain.MessagePersonal{ | ||
328 | - Id: 0, | ||
329 | - Types: domain.MessageTypesTaskModify, | ||
330 | - TargetUserId: val2, | ||
331 | - ReadFlag: domain.MessageUnread, | ||
332 | - Title: s, | ||
333 | - Content: s, | ||
334 | - Payload: string(payloadStr), | ||
335 | - } | ||
336 | - err = messageRepo.Save(&newMessage) | ||
337 | - if err != nil { | ||
338 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
339 | - } | ||
340 | - } | ||
341 | - } | 423 | + // for _, val := range markStage { |
424 | + // for _, val2 := range taskData.RelatedUser { | ||
425 | + // t1 := time.Unix(val.PlanCompletedAt, 0).Format("2006-01-02") | ||
426 | + // s := fmt.Sprintf(`%s 负责的任务 %s 的里程碑 %s 计划完成时间变更为 %s,请知晓!`, taskData.Leader.Name, taskData.Alias, val.Name, t1) | ||
427 | + // payload := map[string]string{ | ||
428 | + // "id": strconv.Itoa(val.Id), | ||
429 | + // "taskName": taskData.Name, | ||
430 | + // "taskStageName": val.Name, | ||
431 | + // } | ||
432 | + // payloadStr, _ := json.Marshal(payload) | ||
433 | + // newMessage := domain.MessagePersonal{ | ||
434 | + // Id: 0, | ||
435 | + // Types: domain.MessageTypesTaskModify, | ||
436 | + // TargetUserId: val2, | ||
437 | + // ReadFlag: domain.MessageUnread, | ||
438 | + // Title: s, | ||
439 | + // Content: s, | ||
440 | + // Payload: string(payloadStr), | ||
441 | + // } | ||
442 | + // err = messageRepo.Save(&newMessage) | ||
443 | + // if err != nil { | ||
444 | + // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
445 | + // } | ||
446 | + // } | ||
447 | + // } | ||
342 | if err := transactionContext.CommitTransaction(); err != nil { | 448 | if err := transactionContext.CommitTransaction(); err != nil { |
343 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 449 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
344 | } | 450 | } |
@@ -30,6 +30,7 @@ type Task struct { | @@ -30,6 +30,7 @@ type Task struct { | ||
30 | SortBy int `pg:"sort_by,use_zero"` // 优先级排序;值越小优先级越高 | 30 | SortBy int `pg:"sort_by,use_zero"` // 优先级排序;值越小优先级越高 |
31 | EndTime int64 `pg:"end_time,use_zero"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 | 31 | EndTime int64 `pg:"end_time,use_zero"` // 任务截止的时间戳,单位:秒;等于0时表示未设置时间 |
32 | UseEndTime int `pg:"use_end_time,use_zero"` // 是否应用任务截止的时间;默认值0:不应用,1:应用 | 32 | UseEndTime int `pg:"use_end_time,use_zero"` // 是否应用任务截止的时间;默认值0:不应用,1:应用 |
33 | - AssistFlag int `pg:"assist_flag"` // 辅导异常标记 | ||
34 | - AssistFlagMax int `pg:"assist_flag_max"` // 辅导异常标记最大值 | 33 | + AssistFlag int `pg:"assist_flag,use_zero"` // 辅导异常标记 |
34 | + AssistFlagMax int `pg:"assist_flag_max,use_zero"` // 辅导异常标记最大值 | ||
35 | + CreatedBy int `pg:"created_by,use_zero"` | ||
35 | } | 36 | } |
@@ -49,6 +49,7 @@ func (repo *TaskRepository) TransformToDomain(d *models.Task) *domain.Task { | @@ -49,6 +49,7 @@ func (repo *TaskRepository) TransformToDomain(d *models.Task) *domain.Task { | ||
49 | AssistFlagMax: d.AssistFlagMax, | 49 | AssistFlagMax: d.AssistFlagMax, |
50 | CurrentStage: d.CurrentStage, | 50 | CurrentStage: d.CurrentStage, |
51 | LastStage: d.LastStage, | 51 | LastStage: d.LastStage, |
52 | + CreatedBy: d.CreatedBy, | ||
52 | } | 53 | } |
53 | } | 54 | } |
54 | 55 | ||
@@ -81,6 +82,7 @@ func (repo *TaskRepository) Save(param *domain.Task) error { | @@ -81,6 +82,7 @@ func (repo *TaskRepository) Save(param *domain.Task) error { | ||
81 | UseEndTime: param.UseEndTime, | 82 | UseEndTime: param.UseEndTime, |
82 | AssistFlag: param.AssistFlag, | 83 | AssistFlag: param.AssistFlag, |
83 | AssistFlagMax: param.AssistFlagMax, | 84 | AssistFlagMax: param.AssistFlagMax, |
85 | + CreatedBy: param.CreatedBy, | ||
84 | } | 86 | } |
85 | db := repo.transactionContext.PgTx | 87 | db := repo.transactionContext.PgTx |
86 | if m.Id == 0 { | 88 | if m.Id == 0 { |
@@ -152,6 +154,9 @@ func (repo *TaskRepository) Find(queryOptions map[string]interface{}) (int, []*d | @@ -152,6 +154,9 @@ func (repo *TaskRepository) Find(queryOptions map[string]interface{}) (int, []*d | ||
152 | if val, ok := queryOptions["status"]; ok { | 154 | if val, ok := queryOptions["status"]; ok { |
153 | query.Where("task.status=?", val) | 155 | query.Where("task.status=?", val) |
154 | } | 156 | } |
157 | + if val, ok := queryOptions["createdBy"]; ok { | ||
158 | + query.Where("created_by = ?", val) | ||
159 | + } | ||
155 | if val, ok := queryOptions["limit"]; ok { | 160 | if val, ok := queryOptions["limit"]; ok { |
156 | if limit, err := strconv.Atoi(fmt.Sprintf("%v", val)); err == nil { | 161 | if limit, err := strconv.Atoi(fmt.Sprintf("%v", val)); err == nil { |
157 | query.Limit(limit) | 162 | query.Limit(limit) |
@@ -56,8 +56,8 @@ func (c *TaskController) CreateTask() { | @@ -56,8 +56,8 @@ func (c *TaskController) CreateTask() { | ||
56 | return | 56 | return |
57 | } | 57 | } |
58 | 58 | ||
59 | - err = srv.CreateTaskTest(paramReq) | ||
60 | - c.Response(nil, err) | 59 | + resp, err := srv.CreateTask(paramReq) |
60 | + c.Response(resp, err) | ||
61 | } | 61 | } |
62 | 62 | ||
63 | // 启动任务 | 63 | // 启动任务 |
@@ -12,6 +12,7 @@ func init() { | @@ -12,6 +12,7 @@ func init() { | ||
12 | taskAdminNS := web.NewNamespace("/v1/admin/task", | 12 | taskAdminNS := web.NewNamespace("/v1/admin/task", |
13 | web.NSBefore(filters.AllowCors(), middlewares.CheckAdminToken()), | 13 | web.NSBefore(filters.AllowCors(), middlewares.CheckAdminToken()), |
14 | web.NSCtrlPost("/info", (*controllers.TaskController).GetTaskInfo), | 14 | web.NSCtrlPost("/info", (*controllers.TaskController).GetTaskInfo), |
15 | + web.NSCtrlPost("/", (*controllers.TaskController).CreateTask), | ||
15 | web.NSCtrlPut("/", (*controllers.TaskController).UpdateTask), | 16 | web.NSCtrlPut("/", (*controllers.TaskController).UpdateTask), |
16 | web.NSCtrlPut("/delete", (*controllers.TaskController).DeleteTask), | 17 | web.NSCtrlPut("/delete", (*controllers.TaskController).DeleteTask), |
17 | web.NSCtrlPost("/run", (*controllers.TaskController).RunTask), | 18 | web.NSCtrlPost("/run", (*controllers.TaskController).RunTask), |
-
请 注册 或 登录 后发表评论