From b331c9990a0396301e934daffe095f99d62d1c89 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期三, 27 九月 2023 15:58:49 +0800 Subject: [PATCH] 任务获取修改,状态2只返回已开始和已结束的 --- model/work_order.go | 53 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 49 insertions(+), 4 deletions(-) diff --git a/model/work_order.go b/model/work_order.go index ed4ca40..076edef 100644 --- a/model/work_order.go +++ b/model/work_order.go @@ -33,18 +33,22 @@ Orm *gorm.DB Preload bool StartTimeMax int64 + StartTimeMin int64 + StatusList []OrderStatus + WorkOrderIDs []string } ) type OrderStatus int const ( - OrderStatusUnFinished OrderStatus = 1 - OrderStatusFinished OrderStatus = 2 + OrderStatusWaitProcess OrderStatus = 1 + OrderStatusProcessing OrderStatus = 2 + OrderStatusFinished OrderStatus = 3 ) func (slf *Order) TableName() string { - return "Order" + return "work_order" } func NewOrderSearch(db *gorm.DB) *OrderSearch { @@ -73,9 +77,18 @@ slf.StartTimeMax = ts return slf } +func (slf *OrderSearch) SetStartTimeMin(ts int64) *OrderSearch { + slf.StartTimeMin = ts + return slf +} func (slf *OrderSearch) SetStatus(status OrderStatus) *OrderSearch { slf.Status = status + return slf +} + +func (slf *OrderSearch) SetStatusList(statusList []OrderStatus) *OrderSearch { + slf.StatusList = statusList return slf } @@ -89,11 +102,25 @@ return slf } +func (slf *OrderSearch) SetWorkOrderIds(workOrderIds []string) *OrderSearch { + slf.WorkOrderIDs = workOrderIds + return slf +} + +func (slf *OrderSearch) SetId(id uint) *OrderSearch { + slf.ID = id + return slf +} + func (slf *OrderSearch) build() *gorm.DB { var db = slf.Orm.Model(&Order{}) if slf.OrderBy != "" { db = db.Order(slf.OrderBy) + } + + if slf.ID != 0 { + db = db.Where("id = ?", slf.ID) } if slf.WorkOrderID != "" { @@ -104,8 +131,16 @@ db = db.Where("status = ?", slf.Status) } + if len(slf.StatusList) != 0 { + db = db.Where("status in ?", slf.StatusList) + } + if slf.StartTimeMax != 0 { db = db.Where("start_time <= ?", slf.StartTimeMax) + } + + if slf.StartTimeMin != 0 { + db = db.Where("start_time >= ?", slf.StartTimeMin) } if slf.Preload { @@ -137,7 +172,17 @@ return nil } -func (slf *OrderSearch) Save(record *Order) error { +func (slf *OrderSearch) Updates(record *Order) error { + var db = slf.build() + + if err := db.Updates(record).Error; err != nil { + return fmt.Errorf("save err: %v, record: %+v", err, record) + } + + return nil +} + +func (slf *OrderSearch) Upsert(record *Order) error { var db = slf.build() if err := db.Save(record).Error; err != nil { -- Gitblit v1.8.0