| | |
| | | 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 { |
| | |
| | | return slf |
| | | } |
| | | |
| | | func (slf *OrderSearch) SetStatusList(statusList []OrderStatus) *OrderSearch { |
| | | slf.StatusList = statusList |
| | | return slf |
| | | } |
| | | |
| | | func (slf *OrderSearch) SetPreload(preload bool) *OrderSearch { |
| | | slf.Preload = preload |
| | | return slf |
| | |
| | | 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 != "" { |
| | |
| | | |
| | | 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 { |
| | |
| | | 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 { |