liujiandao
2023-10-31 307c699810c39714e82efac9de56f70b93a718a2
models/location_product.go
@@ -22,12 +22,13 @@
   LocationProductSearch struct {
      LocationProduct
      Order    string
      PageNum  int
      PageSize int
      Keyword  string
      Orm      *gorm.DB
      Preload  bool
      Order       string
      PageNum     int
      PageSize    int
      Keyword     string
      Orm         *gorm.DB
      Preload     bool
      LocationIds []int
   }
)
@@ -79,6 +80,16 @@
   return slf
}
func (slf *LocationProductSearch) SetLocationIds(locationIds []int) *LocationProductSearch {
   slf.LocationIds = locationIds
   return slf
}
func (slf *LocationProductSearch) SetAreaId(areaId int) *LocationProductSearch {
   slf.AreaId = areaId
   return slf
}
func (slf *LocationProductSearch) build() *gorm.DB {
   var db = slf.Orm.Model(&LocationProduct{})
@@ -109,6 +120,14 @@
   if slf.ProductId != "" {
      db = db.Where("product_id=?", slf.ProductId)
   }
   if len(slf.LocationIds) > 0 {
      db = db.Where("location_id in (?)", slf.LocationIds)
   }
   if slf.AreaId != 0 {
      db = db.Where("area_id = ?", slf.AreaId)
   }
   return db
@@ -196,3 +215,11 @@
   return records, nil
}
func (slf *LocationProductSearch) FirstRes() (*LocationProduct, *gorm.DB) {
   var (
      record = new(LocationProduct)
      db     = slf.build()
   )
   return record, db.First(record)
}