From 318c49da20ec30c4f85ef35e479499e82a841b25 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期一, 11 三月 2024 14:18:13 +0800
Subject: [PATCH] swag提交

---
 models/location.go |   77 ++++++++++++++++++++++++++++++++------
 1 files changed, 65 insertions(+), 12 deletions(-)

diff --git a/models/location.go b/models/location.go
index db96855..be55274 100644
--- a/models/location.go
+++ b/models/location.go
@@ -26,17 +26,19 @@
 		RecentlyCount        string                        `json:"recentlyCount" gorm:"type:varchar(255);comment:鏈�杩戠洏鐐�"`   //鏈�杩戠洏鐐�
 		NextCount            string                        `json:"nextCount" gorm:"type:varchar(255);comment:涓嬫鐩樼偣"`       //涓嬫鐩樼偣
 		JointName            string                        `json:"jointName" gorm:"type:varchar(255);comment:鎷兼帴鍚嶇О"`       //鎷兼帴鍚嶇О
+		Children             []*Location                   `json:"children" gorm:"-"`
 	}
 
 	LocationSearch struct {
 		Location
-		Order    string
-		PageNum  int
-		PageSize int
-		Keyword  string
-		Orm      *gorm.DB
-		Preload  bool
-		Codes    []string
+		Order      string
+		PageNum    int
+		PageSize   int
+		Keyword    string
+		Orm        *gorm.DB
+		Preload    bool
+		JointNames []string
+		Ids        []int
 	}
 )
 
@@ -67,8 +69,19 @@
 	slf.Id = ID
 	return slf
 }
-func (slf *LocationSearch) SetCodes(ids []string) *LocationSearch {
-	slf.Codes = ids
+
+func (slf *LocationSearch) SetIds(ids []int) *LocationSearch {
+	slf.Ids = ids
+	return slf
+}
+
+func (slf *LocationSearch) SetJointName(code string) *LocationSearch {
+	slf.JointName = code
+	return slf
+}
+
+func (slf *LocationSearch) SetJointNames(codes []string) *LocationSearch {
+	slf.JointNames = codes
 	return slf
 }
 
@@ -102,11 +115,20 @@
 	return slf
 }
 
+func (slf *LocationSearch) SetIsScrapLocation(isScrapLocation bool) *LocationSearch {
+	slf.IsScrapLocation = isScrapLocation
+	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 != "" {
@@ -131,8 +153,15 @@
 	if slf.CompanyId != 0 {
 		db = db.Where("company_id=?", slf.CompanyId)
 	}
-	if len(slf.Codes) != 0 {
-		db = db.Where("warehouse_code in (?)", slf.Codes)
+	if 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)
 	}
 
 	return db
@@ -301,10 +330,34 @@
 		records = make([]*Location, 0)
 		db      = slf.build()
 	)
-	err := db.Find(&records)
+	err := db.Find(&records).Error
 	if err != nil {
 		fmt.Println(err)
 		return records, fmt.Errorf("func FindAll err: %v", err)
 	}
 	return records, nil
 }
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *LocationSearch) InitDefaultData() error {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	if err := db.Count(&total).Error; err != nil {
+		return err
+	}
+	if total != 0 {
+		return nil
+	}
+	locations := make([]*Location, 0)
+	locations = append(locations, &Location{Name: "渚涘簲鍟嗕綅缃�", Type: 1, JointName: "渚涘簲鍟嗕綅缃�"})
+	locations = append(locations, &Location{Name: "瑙嗗浘", Type: 2, JointName: "瑙嗗浘"})
+	locations = append(locations, &Location{Name: "瀹㈡埛浣嶇疆", Type: 4, JointName: "瀹㈡埛浣嶇疆"})
+	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: "鎶ュ簾浣嶇疆", IsScrapLocation: true})
+	locations = append(locations, &Location{Name: "搴撳瓨鐩樼偣", Type: 9, JointName: "搴撳瓨鐩樼偣"})
+	return slf.CreateBatch(locations)
+}

--
Gitblit v1.8.0