From 8dfb8feb32bb5e4e460e23dcde42612a26fa2bcb Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期日, 27 八月 2023 01:11:28 +0800 Subject: [PATCH] fix --- service/task.go | 38 +++++++++++++++++++++++++++----------- 1 files changed, 27 insertions(+), 11 deletions(-) diff --git a/service/task.go b/service/task.go index 86ee38e..5a1634e 100644 --- a/service/task.go +++ b/service/task.go @@ -19,9 +19,9 @@ func (slf TaskService) GetTask() (taskData *response.TaskData, code int) { nowTs := time.Now().Unix() orderSearch := model.NewOrderSearch(nil) - orderSearch.SetOrder("created_at asc"). + orderSearch.SetOrder("start_time asc"). SetStartTimeMax(nowTs). - SetStatus(model.OrderStatusUnFinished) + SetStatusList([]model.OrderStatus{model.OrderStatusWaitProcess, model.OrderStatusProcessing}) var ( err error order *model.Order @@ -34,24 +34,25 @@ if err != nil { return nil, ecode.DBErr } - procedure, err := model.NewProceduresSearch(nil). - SetOrderId(order.OrderID). + procedure, err := model.NewProceduresSearch(nil).SetOrder("start_time asc"). + SetWorkOrderId(order.WorkOrderID). SetStartTimeMax(nowTs). - SetStatus(model.ProcedureStatusUnFinished). + SetStatusNot(model.ProcedureStatusFinished). First() if err == gorm.ErrRecordNotFound { //璇ヨ鍗曟湰璁惧鍏ㄩ儴宸ュ簭瀹屾垚锛屾妸璁㈠崟缃负瀹屾垚鐘舵�侊紙鍙槸瀵规湰璁惧瀹屾垚锛� err = nil - err = model.NewOrderSearch(nil).SetOrderId(order.OrderID).UpdateByMap(map[string]interface{}{ + err = model.NewOrderSearch(nil).SetWorkOrderId(order.WorkOrderID).UpdateByMap(map[string]interface{}{ "status": model.OrderStatusFinished, }) if err != nil { return nil, ecode.DBErr } - return slf.GetTask() //褰撳墠璁㈠崟宸插畬鍏紝缁х画鏌ヨ鏈畬鎴愯鍗� + return slf.GetTask() //褰撳墠璁㈠崟宸插畬鎴愶紝缁х画鏌ヨ鏈畬鎴愯鍗� } if err != nil { return nil, ecode.DBErr } + taskData = new(response.TaskData) taskData.Order = order taskData.Procedure = procedure return taskData, ecode.OK @@ -65,12 +66,27 @@ return procedure, ecode.OK } -func (slf TaskService) UpdateProcedureStatus(id int, status model.ProcedureStatus) error { - return model.NewProceduresSearch(nil).SetId(id).UpdateByMap(map[string]interface{}{ +func (slf TaskService) UpdateProcedureStatus(db *gorm.DB, id int, status model.ProcedureStatus) error { + return model.NewProceduresSearch(db).SetId(id).UpdateByMap(map[string]interface{}{ "status": status, }) } -func (slf TaskService) GetOrderByOrderId(orderId string) (order *model.Order, err error) { - return model.NewOrderSearch(nil).SetOrderId(orderId).First() +func (slf TaskService) UpdateOrderStatus(db *gorm.DB, id uint, status model.OrderStatus) error { + return model.NewOrderSearch(db).SetId(id).UpdateByMap(map[string]interface{}{ + "status": status, + }) +} + +func (slf TaskService) GetOrderByWorkOrderId(workOrderId string) (order *model.Order, err error) { + return model.NewOrderSearch(nil).SetWorkOrderId(workOrderId).First() +} + +// GetCurrentTask 鑾峰彇寰呭畬鎴愭垨杩涜涓殑浠诲姟锛� 姣忎釜宸ュ崟鍙湁涓�涓伐搴� +func (slf TaskService) GetCurrentTask() (workOrder *model.Order, err error) { + nowTs := time.Now().Unix() + orderSearch := model.NewOrderSearch(nil) + return orderSearch.SetOrder("start_time asc"). + SetStartTimeMin(nowTs). + SetStatusList([]model.OrderStatus{model.OrderStatusWaitProcess, model.OrderStatusProcessing}).First() } -- Gitblit v1.8.0