From 7788cb0ea88354718b2ad04ac29aea24e0b64911 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 22 九月 2023 20:19:29 +0800 Subject: [PATCH] 增加当前时间可以开始但是未开始的任务接口,增加是否可以开始字段 --- service/task.go | 40 ++++++++++++++++++++++++++++------------ 1 files changed, 28 insertions(+), 12 deletions(-) diff --git a/service/task.go b/service/task.go index 944d0e0..df0002e 100644 --- a/service/task.go +++ b/service/task.go @@ -23,8 +23,16 @@ return &TaskService{} } +type TaskMode int + +const ( + TaskModeUnStarted TaskMode = 1 //鏈紑濮嬬殑 + TaskModeCurrent TaskMode = 2 + TaskModeLastFinished TaskMode = 3 //涓婁竴涓粨鏉熺殑 +) + // GetTask 鑾峰彇浠诲姟锛屾湭瀹屾垚鐨勫紑濮嬫椂闂村皬浜庣瓑浜庡綋鍓嶆椂闂达紝缁撴潫鏃堕棿澶т簬褰撳墠鏃堕棿鐨勪换鍔� -func (slf TaskService) GetTask(page, pageSize int) (taskResp *response.TaskResponse, code int) { +func (slf TaskService) GetTask(page, pageSize int, mode TaskMode) (taskResp *response.TaskResponse, code int) { var taskList []*response.TaskData var count int64 var workers []*common.ProcedureWorker @@ -35,21 +43,29 @@ procedures []*model.Procedures workOrderIds []string ) - procedures, err = model.NewProceduresSearch(nil).SetOrder("start_time asc"). - SetStartTimeMax(nowTs). - SetEndTimeMin(nowTs). + search := model.NewProceduresSearch(nil). SetDeviceId(conf.Conf.System.DeviceId). - SetStatusNot(model.ProcedureStatusFinished). - SetPage(page, pageSize). - SetOrder("status desc"). - FindNotTotal() + SetPage(page, pageSize) + + if mode == TaskModeUnStarted { + search.SetStatus(model.ProcedureStatusWaitProcess). + SetStartTimeMax(nowTs). + SetEndTimeMin(nowTs). + SetOrder("start_time asc") + } else if mode == TaskModeCurrent { + search.SetStatusNot(model.ProcedureStatusFinished). + SetStartTimeMax(nowTs). + SetEndTimeMin(nowTs). + SetOrder("start_time asc, status desc") + } else if mode == TaskModeLastFinished { + search.SetStatus(model.ProcedureStatusFinished).SetOrder("updated_at desc") + } + + procedures, err = search.FindNotTotal() if err != nil { return nil, ecode.DBErr } - count, err = model.NewProceduresSearch(nil). - SetDeviceId(conf.Conf.System.DeviceId). - SetStatusNot(model.ProcedureStatusFinished). - Count() + count, err = search.Count() if err != nil { return nil, ecode.DBErr } -- Gitblit v1.8.0