From f4508a84236a4aff1c7b5bfa17a14a8ff95728ba Mon Sep 17 00:00:00 2001
From: yinbentan <yinbentan@live.com>
Date: 星期一, 08 七月 2024 09:45:10 +0800
Subject: [PATCH] 接口调用报错处理

---
 models/location.go |   37 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/models/location.go b/models/location.go
index 028e875..dc62c21 100644
--- a/models/location.go
+++ b/models/location.go
@@ -27,6 +27,8 @@
 		NextCount            string                        `json:"nextCount" gorm:"type:varchar(255);comment:涓嬫鐩樼偣"`       //涓嬫鐩樼偣
 		JointName            string                        `json:"jointName" gorm:"type:varchar(255);comment:鎷兼帴鍚嶇О"`       //鎷兼帴鍚嶇О
 		Children             []*Location                   `json:"children" gorm:"-"`
+		WarehouseId          int                           `json:"warehouseId" gorm:"type:int;not null;default:0;comment:浠撳簱ID"` //浠撳簱ID
+		Warehouse            Warehouse                     `json:"warehouse" gorm:"foreignKey:WarehouseId"`                     //浠撳簱
 	}
 
 	LocationSearch struct {
@@ -38,6 +40,7 @@
 		Orm        *gorm.DB
 		Preload    bool
 		JointNames []string
+		Ids        []int
 	}
 )
 
@@ -66,6 +69,11 @@
 
 func (slf *LocationSearch) SetID(ID int) *LocationSearch {
 	slf.Id = ID
+	return slf
+}
+
+func (slf *LocationSearch) SetIds(ids []int) *LocationSearch {
+	slf.Ids = ids
 	return slf
 }
 
@@ -109,11 +117,25 @@
 	return slf
 }
 
+func (slf *LocationSearch) SetIsScrapLocation(isScrapLocation bool) *LocationSearch {
+	slf.IsScrapLocation = isScrapLocation
+	return slf
+}
+
+func (slf *LocationSearch) SetWarehouseId(warehouseId int) *LocationSearch {
+	slf.WarehouseId = warehouseId
+	return slf
+}
+
 func (slf *LocationSearch) build() *gorm.DB {
 	var db = slf.Orm.Table(slf.TableName())
 
 	if slf.Id != 0 {
 		db = db.Where("id = ?", slf.Id)
+	}
+
+	if len(slf.Ids) > 0 {
+		db = db.Where("id in (?)", slf.Ids)
 	}
 
 	if slf.Order != "" {
@@ -139,10 +161,23 @@
 		db = db.Where("company_id=?", slf.CompanyId)
 	}
 	if slf.JointName != "" {
+		//slf.JointName += "/"
 		db = db.Where("joint_name like ?", slf.JointName+"%")
 	}
 	if len(slf.JointNames) != 0 {
 		db = db.Where("joint_name in (?)", slf.JointNames)
+	}
+
+	if slf.IsScrapLocation {
+		db = db.Where("is_scrap_location = ?", slf.IsScrapLocation)
+	}
+
+	if slf.Preload {
+		db = db.Preload("Warehouse")
+	}
+
+	if slf.WarehouseId != 0 {
+		db = db.Where("warehouse_id = ?", slf.WarehouseId)
 	}
 
 	return db
@@ -338,7 +373,7 @@
 	locations = append(locations, &Location{Name: "搴撳瓨鎹熷け", Type: 5, JointName: "搴撳瓨鎹熷け"})
 	locations = append(locations, &Location{Name: "鐢熶骇", Type: 6, JointName: "鐢熶骇"})
 	locations = append(locations, &Location{Name: "涓浆浣嶇疆", Type: 7, JointName: "涓浆浣嶇疆"})
-	locations = append(locations, &Location{Name: "鎶ュ簾浣嶇疆", Type: 8, JointName: "鎶ュ簾浣嶇疆"})
+	locations = append(locations, &Location{Name: "鎶ュ簾浣嶇疆", Type: 8, JointName: "鎶ュ簾浣嶇疆", IsScrapLocation: true})
 	locations = append(locations, &Location{Name: "搴撳瓨鐩樼偣", Type: 9, JointName: "搴撳瓨鐩樼偣"})
 	return slf.CreateBatch(locations)
 }

--
Gitblit v1.8.0