zhangqian
2023-09-27 b331c9990a0396301e934daffe095f99d62d1c89
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,6 +102,16 @@
   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{})
@@ -96,16 +119,28 @@
      db = db.Order(slf.OrderBy)
   }
   if slf.ID != 0 {
      db = db.Where("id = ?", slf.ID)
   }
   if slf.WorkOrderID != "" {
      db = db.Where("work_order_id = ?", slf.OrderID)
      db = db.Where("work_order_id = ?", slf.WorkOrderID)
   }
   if slf.Status != 0 {
      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 {