zhangqian
2024-12-13 6b59a711b9af0825858c408cdba95102b8b51cb3
db/task.go
@@ -24,14 +24,17 @@
      AppearInterval int       `gorm:"type:int;" json:"appearInterval"`      //出现间隔,单位为秒
      DaysWindow     int       `gorm:"type:int;" json:"daysWindow" `         //近几天内
      Threshold      int       `gorm:"type:int;" json:"threshold" `          //达几次
      Enabled        bool      `json:"enabled"`                              //是否开启
   }
   ModelTaskSearch struct {
      ModelTask
      Orm      *gorm.DB
      PageNum  int
      PageSize int
      Keyword  string
      Orm       *gorm.DB
      PageNum   int
      PageSize  int
      Keyword   string
      ModelIDs  []string
      Unexpired bool
   }
)
@@ -102,13 +105,23 @@
   return slf
}
func (slf *ModelTaskSearch) SetModelIDs(ids []string) *ModelTaskSearch {
   slf.ModelIDs = ids
   return slf
}
func (slf *ModelTaskSearch) SetKeyword(kw string) *ModelTaskSearch {
   slf.Keyword = kw
   return slf
}
func (slf *ModelTaskSearch) SetEnabled(kw string) *ModelTaskSearch {
   slf.Keyword = kw
func (slf *ModelTaskSearch) SetEnabled(enabled bool) *ModelTaskSearch {
   slf.Enabled = enabled
   return slf
}
func (slf *ModelTaskSearch) SetUnexpired() *ModelTaskSearch {
   slf.Unexpired = true
   return slf
}
@@ -123,11 +136,24 @@
      db = db.Where("model_id = ?", slf.ModelID)
   }
   if len(slf.ModelIDs) != 0 {
      db = db.Where("model_id in ?", slf.ModelIDs)
   }
   if slf.Keyword != "" {
      kw := "%" + slf.Keyword + "%"
      db = db.Where("name like ?", kw)
   }
   if slf.Enabled {
      db = db.Where("enabled = ?", slf.Enabled)
   }
   if slf.Unexpired {
      now := time.Now()
      db = db.Where("begin_time <= ?", now).Where("end_time >= ?", now)
   }
   return db
}