From 63b531279a8ab1d609910e7db53add83bbc0b97a Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 17 十月 2023 20:21:01 +0800
Subject: [PATCH] 添加默认数据

---
 model/enterpriseScale.go    |   36 ++++
 model/clientType.go         |   34 ++++
 model/enterpriseNature.go   |   37 ++++
 model/saleChance.go         |    3 
 model/bankAccount.go        |   34 ++-
 model/clientOrigin.go       |   36 ++++
 model/registeredCapital.go  |   35 ++++
 model/possibilities.go      |   40 +++++
 model/status.go             |   32 ++++
 model/paymentType.go        |   36 +++-
 model/index.go              |   13 +
 model/clientLevel.go        |   34 ++++
 model/industry.go           |   36 ++++
 model/contactInformation.go |   33 ++++
 model/saleType.go           |   32 ++++
 15 files changed, 446 insertions(+), 25 deletions(-)

diff --git a/model/bankAccount.go b/model/bankAccount.go
index 006e9b8..aba9f92 100644
--- a/model/bankAccount.go
+++ b/model/bankAccount.go
@@ -6,24 +6,25 @@
 	"errors"
 	"fmt"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
 	// BankAccount 閾惰璐︽埛
 	BankAccount struct {
 		Id   int    `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
-		Name   string    `json:"name" gorm:"column:name"`
+		Name string `json:"name" gorm:"column:name"`
 	}
 
 	// BankAccountSearch 閾惰璐︽埛鎼滅储鏉′欢
 	BankAccountSearch struct {
 		BankAccount
-		Orm *gorm.DB
-        QueryClass  constvar.BankAccountQueryClass
-        KeywordType constvar.BankAccountKeywordType
-        Keyword     string
-        PageNum  int
-        PageSize int
+		Orm         *gorm.DB
+		QueryClass  constvar.BankAccountQueryClass
+		KeywordType constvar.BankAccountKeywordType
+		Keyword     string
+		PageNum     int
+		PageSize    int
 	}
 )
 
@@ -124,17 +125,26 @@
 }
 
 // InitDefaultData 鍒濆鍖栨暟鎹�
-func (slf *BankAccountSearch) InitDefaultData() error {
+func (slf *BankAccountSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
 	var (
 		db          = slf.Orm.Table(slf.TableName())
 		total int64 = 0
 	)
+	defer wg.Done()
+
 	if err := db.Count(&total).Error; err != nil {
-		return err
+		errCh <- err
+		return
 	}
 	if total != 0 {
-		return nil
+		return
 	}
-	records := []*BankAccount{}
-	return slf.CreateBatch(records)
+	records := []*BankAccount{
+		{1, "榛樿璐︽埛"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
 }
diff --git a/model/clientLevel.go b/model/clientLevel.go
index ee24d24..23ce754 100644
--- a/model/clientLevel.go
+++ b/model/clientLevel.go
@@ -3,6 +3,7 @@
 import (
 	"aps_crm/pkg/mysqlx"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
@@ -82,3 +83,36 @@
 	var db = slf.build()
 	return db.Updates(data).Error
 }
+
+func (slf *ClientLevelSearch) CreateBatch(records []*ClientLevel) error {
+	var db = slf.build()
+	return db.Create(records).Error
+}
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *ClientLevelSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	defer wg.Done()
+
+	if err := db.Count(&total).Error; err != nil {
+		errCh <- err
+		return
+	}
+	if total != 0 {
+		return
+	}
+	records := []*ClientLevel{
+		{1, "閲嶇偣鍏虫敞瀹㈡埛"},
+		{2, "浼樿川瀹㈡埛"},
+		{3, "鏅�氬鎴�"},
+		{4, "鍏朵粬"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
+}
diff --git a/model/clientOrigin.go b/model/clientOrigin.go
index 5d0b03e..67faf0d 100644
--- a/model/clientOrigin.go
+++ b/model/clientOrigin.go
@@ -3,6 +3,7 @@
 import (
 	"aps_crm/pkg/mysqlx"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
@@ -89,3 +90,38 @@
 	var db = slf.build()
 	return db.Updates(data).Error
 }
+
+func (slf *ClientOriginSearch) CreateBatch(records []*ClientOrigin) error {
+	var db = slf.build()
+	return db.Create(records).Error
+}
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *ClientOriginSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	defer wg.Done()
+
+	if err := db.Count(&total).Error; err != nil {
+		errCh <- err
+		return
+	}
+	if total != 0 {
+		return
+	}
+	records := []*ClientOrigin{
+		{1, "渚涘簲鍟嗚祫婧�"},
+		{2, "瀹㈡埛浠嬬粛"},
+		{3, "鐜版湁瀹㈡埛"},
+		{4, "灞曚細"},
+		{5, "澶栧嚭鎷滆瀹㈡埛"},
+		{6, "鍏朵粬"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
+}
diff --git a/model/clientType.go b/model/clientType.go
index d940f39..9c617b1 100644
--- a/model/clientType.go
+++ b/model/clientType.go
@@ -3,6 +3,7 @@
 import (
 	"aps_crm/pkg/mysqlx"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
@@ -91,3 +92,36 @@
 	var db = slf.build()
 	return db.Updates(data).Error
 }
+
+func (slf *ClientTypeSearch) CreateBatch(records []*ClientType) error {
+	var db = slf.build()
+	return db.Create(records).Error
+}
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *ClientTypeSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	defer wg.Done()
+
+	if err := db.Count(&total).Error; err != nil {
+		errCh <- err
+		return
+	}
+	if total != 0 {
+		return
+	}
+	records := []*ClientType{
+		{1, "浠g悊鍟�"},
+		{2, "闆嗘垚鍟�"},
+		{3, "鍚堜綔浼欎即"},
+		{4, "鍏朵粬"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
+}
diff --git a/model/contactInformation.go b/model/contactInformation.go
index 1ae901d..3fec063 100644
--- a/model/contactInformation.go
+++ b/model/contactInformation.go
@@ -3,6 +3,7 @@
 import (
 	"aps_crm/pkg/mysqlx"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
@@ -78,3 +79,35 @@
 	slf.Name = name
 	return slf
 }
+
+func (slf *ContactInformationSearch) CreateBatch(records []*ContactInformation) error {
+	var db = slf.build()
+	return db.Create(records).Error
+}
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *ContactInformationSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	defer wg.Done()
+
+	if err := db.Count(&total).Error; err != nil {
+		errCh <- err
+		return
+	}
+	if total != 0 {
+		return
+	}
+	records := []*ContactInformation{
+		{1, "绾夸笅鎷滆"},
+		{2, "鐢佃瘽鑱旂郴"},
+		{3, "浼氳"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
+}
diff --git a/model/enterpriseNature.go b/model/enterpriseNature.go
index f210218..44379b8 100644
--- a/model/enterpriseNature.go
+++ b/model/enterpriseNature.go
@@ -3,6 +3,7 @@
 import (
 	"aps_crm/pkg/mysqlx"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
@@ -84,3 +85,39 @@
 	var db = slf.build()
 	return db.Updates(data).Error
 }
+
+func (slf *EnterpriseNatureSearch) CreateBatch(records []*EnterpriseNature) error {
+	var db = slf.build()
+	return db.Create(records).Error
+}
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *EnterpriseNatureSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	defer wg.Done()
+
+	if err := db.Count(&total).Error; err != nil {
+		errCh <- err
+		return
+	}
+	if total != 0 {
+		return
+	}
+	records := []*EnterpriseNature{
+		{1, "鍥芥湁浼佷笟"},
+		{2, "闆嗕綋浼佷笟"},
+		{3, "绉佽惀浼佷笟"},
+		{4, "涓綋宸ュ晢鎴�"},
+		{5, "鍚堜紮浼佷笟"},
+		{6, "鑱旇惀浼佷笟"},
+		{7, "鑲′唤鍚堜綔鍒朵紒涓�"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
+}
diff --git a/model/enterpriseScale.go b/model/enterpriseScale.go
index e8cf21e..9943537 100644
--- a/model/enterpriseScale.go
+++ b/model/enterpriseScale.go
@@ -3,6 +3,7 @@
 import (
 	"aps_crm/pkg/mysqlx"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
@@ -86,3 +87,38 @@
 	slf.Id = id
 	return slf
 }
+
+func (slf *EnterpriseScaleSearch) CreateBatch(records []*EnterpriseScale) error {
+	var db = slf.build()
+	return db.Create(records).Error
+}
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *EnterpriseScaleSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	defer wg.Done()
+
+	if err := db.Count(&total).Error; err != nil {
+		errCh <- err
+		return
+	}
+	if total != 0 {
+		return
+	}
+	records := []*EnterpriseScale{
+		{1, "20浜轰互涓�"},
+		{2, "20-50浜�"},
+		{3, "50-100浜�"},
+		{4, "100-500浜�"},
+		{5, "500-1000浜�"},
+		{6, "1000浜轰互涓�"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
+}
diff --git a/model/index.go b/model/index.go
index ee1caf1..96b6ab8 100644
--- a/model/index.go
+++ b/model/index.go
@@ -126,6 +126,19 @@
 		NewQuotationStatusSearch(),
 		NewSalesSourcesSearch(),
 		NewClientStatusSearch(),
+		NewClientTypeSearch(),
+		NewClientOriginSearch(),
+		NewClientLevelSearch(),
+		NewIndustrySearch(),
+		NewRegisteredCapitalSearch(),
+		NewEnterpriseNatureSearch(),
+		NewEnterpriseScaleSearch(),
+		NewContactInformationSearch(),
+		NewSaleTypeSearch(),
+		NewPossibilitySearch(),
+		NewStatusSearch(),
+		NewPaymentTypeSearch(),
+		NewBankAccountSearch(),
 	}
 
 	for _, model := range models {
diff --git a/model/industry.go b/model/industry.go
index 5d6ff03..3c01531 100644
--- a/model/industry.go
+++ b/model/industry.go
@@ -3,6 +3,7 @@
 import (
 	"aps_crm/pkg/mysqlx"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
@@ -84,3 +85,38 @@
 	var db = slf.build()
 	return db.Updates(data).Error
 }
+
+func (slf *IndustrySearch) CreateBatch(records []*Industry) error {
+	var db = slf.build()
+	return db.Create(records).Error
+}
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *IndustrySearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	defer wg.Done()
+
+	if err := db.Count(&total).Error; err != nil {
+		errCh <- err
+		return
+	}
+	if total != 0 {
+		return
+	}
+	records := []*Industry{
+		{1, "鍒堕�犱笟"},
+		{2, "浜ら�氳繍杈�"},
+		{3, "寤虹瓚涓�"},
+		{4, "鐜鍜屽叕鍏辫鏂界鐞嗕笟"},
+		{5, "鎵瑰彂鍜岄浂鍞笟"},
+		{6, "鍏朵粬"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
+}
diff --git a/model/paymentType.go b/model/paymentType.go
index e16a84a..cd1e6bc 100644
--- a/model/paymentType.go
+++ b/model/paymentType.go
@@ -6,24 +6,25 @@
 	"errors"
 	"fmt"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
 	// PaymentType 鏀粯鏂瑰紡
 	PaymentType struct {
 		Id   int    `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"`
-		Name   string    `json:"name" gorm:"column:name"`
+		Name string `json:"name" gorm:"column:name"`
 	}
 
 	// PaymentTypeSearch 鏀粯鏂瑰紡鎼滅储鏉′欢
 	PaymentTypeSearch struct {
 		PaymentType
-		Orm *gorm.DB
-        QueryClass  constvar.PaymentTypeQueryClass
-        KeywordType constvar.PaymentTypeKeywordType
-        Keyword     string
-        PageNum  int
-        PageSize int
+		Orm         *gorm.DB
+		QueryClass  constvar.PaymentTypeQueryClass
+		KeywordType constvar.PaymentTypeKeywordType
+		Keyword     string
+		PageNum     int
+		PageSize    int
 	}
 )
 
@@ -124,17 +125,28 @@
 }
 
 // InitDefaultData 鍒濆鍖栨暟鎹�
-func (slf *PaymentTypeSearch) InitDefaultData() error {
+func (slf *PaymentTypeSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
 	var (
 		db          = slf.Orm.Table(slf.TableName())
 		total int64 = 0
 	)
+	defer wg.Done()
+
 	if err := db.Count(&total).Error; err != nil {
-		return err
+		errCh <- err
+		return
 	}
 	if total != 0 {
-		return nil
+		return
 	}
-	records := []*PaymentType{}
-	return slf.CreateBatch(records)
+	records := []*PaymentType{
+		{1, "鍘熻矾杩斿洖"},
+		{2, "绾夸笅"},
+		{3, "鏀エ"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
 }
diff --git a/model/possibilities.go b/model/possibilities.go
index ae0dce8..3480273 100644
--- a/model/possibilities.go
+++ b/model/possibilities.go
@@ -3,6 +3,7 @@
 import (
 	"aps_crm/pkg/mysqlx"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
@@ -84,3 +85,42 @@
 	var db = slf.build()
 	return db.Updates(data).Error
 }
+
+func (slf *PossibilitySearch) CreateBatch(records []*Possibility) error {
+	var db = slf.build()
+	return db.Create(records).Error
+}
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *PossibilitySearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	defer wg.Done()
+
+	if err := db.Count(&total).Error; err != nil {
+		errCh <- err
+		return
+	}
+	if total != 0 {
+		return
+	}
+	records := []*Possibility{
+		{1, "100%"},
+		{2, "90%"},
+		{3, "80%"},
+		{4, "70%"},
+		{5, "60%"},
+		{6, "50%"},
+		{7, "40%"},
+		{8, "30%"},
+		{9, "20%"},
+		{10, "10%"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
+}
diff --git a/model/registeredCapital.go b/model/registeredCapital.go
index fb682a0..7d1dd2e 100644
--- a/model/registeredCapital.go
+++ b/model/registeredCapital.go
@@ -3,6 +3,7 @@
 import (
 	"aps_crm/pkg/mysqlx"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
@@ -82,3 +83,37 @@
 	slf.Name = name
 	return slf
 }
+
+func (slf *RegisteredCapitalSearch) CreateBatch(records []*RegisteredCapital) error {
+	var db = slf.build()
+	return db.Create(records).Error
+}
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *RegisteredCapitalSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	defer wg.Done()
+
+	if err := db.Count(&total).Error; err != nil {
+		errCh <- err
+		return
+	}
+	if total != 0 {
+		return
+	}
+	records := []*RegisteredCapital{
+		{1, "50涓囦互涓�"},
+		{2, "50-100涓�"},
+		{3, "100-500涓�"},
+		{4, "500-1000涓�"},
+		{5, "1000涓囦互涓�"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
+}
diff --git a/model/saleChance.go b/model/saleChance.go
index 86fcb5f..5c9fa17 100644
--- a/model/saleChance.go
+++ b/model/saleChance.go
@@ -30,6 +30,7 @@
 		Currency              int                    `json:"currency" gorm:"column:currency;type:int(11);comment:甯佺"`
 		ExpectedTime          *CustomTime            `json:"expected_time" gorm:"column:expected_time;type:datetime;comment:棰勮鎴愪氦鏃堕棿"`
 		StatusId              int                    `json:"status_id" gorm:"column:status_id;type:int(11);comment:鐘舵�両D"`
+		Status                Status                 `json:"status_id" gorm:"column:status_id;type:int(11);comment:鐘舵�両D"`
 		PainPoints            string                 `json:"pain_points" gorm:"column:pain_points;type:text;comment:鐥涚偣"`
 		WhetherEstablished    string                 `json:"whether_established" gorm:"column:whether_established;type:text;comment:鏄惁鎴愮珛"`
 		CapitalBudget         string                 `json:"capital_budget" gorm:"column:capital_budget;type:text;comment:璧勯噾棰勭畻"`
@@ -163,7 +164,7 @@
 	err := db.Preload("SaleType").Preload("RegularCustomers").Preload("SalesSources").
 		Preload("Member").Preload("SaleStage").Preload("Possibility").
 		Preload("CollectionProjections").Preload("Client").
-		Preload("Province").Preload("City").Preload("Contact").Order("id desc").Find(&records).Error
+		Preload("Province").Preload("City").Preload("Contact").Preload("Status").Order("id desc").Find(&records).Error
 	return records, total, err
 }
 
diff --git a/model/saleType.go b/model/saleType.go
index 8370ee7..03ffeec 100644
--- a/model/saleType.go
+++ b/model/saleType.go
@@ -3,6 +3,7 @@
 import (
 	"aps_crm/pkg/mysqlx"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
@@ -82,3 +83,34 @@
 	var db = slf.build()
 	return db.Updates(data).Error
 }
+
+func (slf *SaleTypeSearch) CreateBatch(records []*SaleType) error {
+	var db = slf.build()
+	return db.Create(records).Error
+}
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *SaleTypeSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	defer wg.Done()
+
+	if err := db.Count(&total).Error; err != nil {
+		errCh <- err
+		return
+	}
+	if total != 0 {
+		return
+	}
+	records := []*SaleType{
+		{1, "鏂颁笟鍔�"},
+		{2, "浼犵粺涓氬姟"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
+}
diff --git a/model/status.go b/model/status.go
index a8cb7f9..a9b0568 100644
--- a/model/status.go
+++ b/model/status.go
@@ -3,6 +3,7 @@
 import (
 	"aps_crm/pkg/mysqlx"
 	"gorm.io/gorm"
+	"sync"
 )
 
 type (
@@ -84,3 +85,34 @@
 	var db = slf.build()
 	return db.Updates(data).Error
 }
+
+func (slf *StatusSearch) CreateBatch(records []*Status) error {
+	var db = slf.build()
+	return db.Create(records).Error
+}
+
+// InitDefaultData 鍒濆鍖栨暟鎹�
+func (slf *StatusSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) {
+	var (
+		db          = slf.Orm.Table(slf.TableName())
+		total int64 = 0
+	)
+	defer wg.Done()
+
+	if err := db.Count(&total).Error; err != nil {
+		errCh <- err
+		return
+	}
+	if total != 0 {
+		return
+	}
+	records := []*Status{
+		{1, "宸叉垚浜�"},
+		{2, "鏈垚浜�"},
+	}
+	err := slf.CreateBatch(records)
+	if err != nil {
+		errCh <- err
+		return
+	}
+}

--
Gitblit v1.8.0