From 7b3074cf1f5c7af8319ccb02fac335d18f779a48 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 08 九月 2023 09:49:07 +0800 Subject: [PATCH] fix --- model/work_order.go | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 43 insertions(+), 4 deletions(-) diff --git a/model/work_order.go b/model/work_order.go index ed4ca40..347d0ea 100644 --- a/model/work_order.go +++ b/model/work_order.go @@ -33,18 +33,21 @@ Orm *gorm.DB Preload bool StartTimeMax int64 + StartTimeMin int64 + StatusList []OrderStatus } ) 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 +76,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 +101,20 @@ 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 +125,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 +166,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