From 740b271a0f1871288cbd8dc07f4c95d1488c6e71 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期四, 26 十月 2023 17:56:37 +0800 Subject: [PATCH] opa添加 --- models/location_product.go | 39 +++++++++++++++++++++++++++++++++------ 1 files changed, 33 insertions(+), 6 deletions(-) diff --git a/models/location_product.go b/models/location_product.go index c3f26c6..f737765 100644 --- a/models/location_product.go +++ b/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) +} -- Gitblit v1.8.0