From 8546acdc2a1f06253f30e0543fc202ebf5219bd0 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期五, 18 八月 2023 16:31:40 +0800
Subject: [PATCH] fix

---
 model/index.go |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/model/index.go b/model/index.go
index 7bd2e13..7a9f652 100644
--- a/model/index.go
+++ b/model/index.go
@@ -5,7 +5,7 @@
 	"aps_crm/pkg/logx"
 	"aps_crm/pkg/mysqlx"
 	"aps_crm/pkg/safe"
-	"gorm.io/gorm/schema"
+	"sync"
 )
 
 func Init() error {
@@ -94,10 +94,13 @@
 }
 
 type InitDefaultData interface {
-	InitDefaultData() error
+	InitDefaultData(errCh chan<- error, wg *sync.WaitGroup)
 }
 
 func InsertDefaultData() {
+	errCh := make(chan error, 2)
+	var wg sync.WaitGroup
+
 	models := []interface{}{
 		NewServiceTypeSearch(),
 		NewPriorityLevelSearch(),
@@ -115,11 +118,22 @@
 		NewTimelyRateSearch(),
 		NewFaultTypeSearch(),
 	}
+
 	for _, model := range models {
 		if id, ok := model.(InitDefaultData); ok {
-			if err := id.InitDefaultData(); err != nil {
-				logx.Errorf("InitDefaultData for table: %v, err :%v", model.(schema.Tabler).TableName(), err.Error())
-			}
+			wg.Add(1)
+			go id.InitDefaultData(errCh, &wg)
+		}
+	}
+
+	go func() {
+		wg.Wait()    // 绛夊緟鎵�鏈塯oroutine瀹屾垚
+		close(errCh) // 鍏抽棴閿欒閫氶亾
+	}()
+
+	for err := range errCh {
+		if err != nil {
+			logx.Errorf("InitDefaultData err: %v", err.Error())
 		}
 	}
 }

--
Gitblit v1.8.0