From 8324f872ef3a4d0c978a9b1d062800c6a1701c12 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 01 十二月 2023 09:58:17 +0800
Subject: [PATCH] fix

---
 model/index.go |   64 +++++++++++++++++++++++++++-----
 1 files changed, 54 insertions(+), 10 deletions(-)

diff --git a/model/index.go b/model/index.go
index ee5a72f..504d8c2 100644
--- a/model/index.go
+++ b/model/index.go
@@ -3,23 +3,67 @@
 import (
 	"apsClient/conf"
 	"apsClient/pkg/logx"
-	"apsClient/pkg/mysqlx"
+	"apsClient/pkg/sqlitex"
+	"sync"
 )
 
 func Init() error {
-	if err := mysqlx.Init(&conf.Conf.Mysql, logx.GetLogger()); err != nil {
+	if err := sqlitex.Init(&conf.Conf.Sqlite); err != nil {
 		return err
 	}
 
-	if err := RegisterTables(); err != nil {
-		return err
-	}
-
+	RegisterTables()
+	InsertDefaultData()
 	return nil
 }
 
-func RegisterTables() error {
-	db := mysqlx.GetDB()
-	err := db.AutoMigrate()
-	return err
+func RegisterTables() {
+	db := sqlitex.GetDB()
+	db.AutoMigrate(
+		Order{},
+		Procedures{},
+		NetConfig{},
+		PlcBrand{},
+		DevicePlc{},
+		ProcessModel{},
+		Device{},
+		TaskStatusSync{},
+		SystemStatus{},
+		ProcessModelPlcAddress{},
+		ReportsToCloud{},
+		ReportWork{},
+	)
+}
+
+type InitDefaultData interface {
+	InitDefaultData(errCh chan<- error, wg *sync.WaitGroup)
+}
+
+func InsertDefaultData() {
+	errCh := make(chan error, 2)
+	var wg sync.WaitGroup
+
+	models := []interface{}{
+		NewNetConfigSearch(nil),
+		NewPlcBrandSearch(),
+		NewSystemStatusSearch(),
+	}
+
+	for _, model := range models {
+		if id, ok := model.(InitDefaultData); ok {
+			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