From 2cd1af13bc4e7aec4c85b9fe88db2d294af6468f Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期日, 08 十月 2023 11:24:37 +0800
Subject: [PATCH] 修复集群同步功能

---
 system-service/models/cluster.go |   28 +++++++++++++++++-----------
 1 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/system-service/models/cluster.go b/system-service/models/cluster.go
index 9a69c53..781906d 100644
--- a/system-service/models/cluster.go
+++ b/system-service/models/cluster.go
@@ -1,6 +1,7 @@
 package models
 
 import (
+	"errors"
 	"fmt"
 	"strconv"
 	"time"
@@ -48,40 +49,45 @@
 	return result, nil
 }
 
-func (c *Cluster) Create() bool {
+func (c *Cluster) Create() error {
 	var localConfig LocalConfig
-	e := localConfig.Select()
-	if e != nil {
-		return false
+	err := localConfig.Select()
+	if err != nil {
+		return err
 	}
+
 	serverId := config.Server.AnalyServerId
 	if serverId == "" {
-		return false
+		return errors.New("serverId 涓虹┖")
 	}
+
 	serverIp, _, e := util.GetLocalIP(config.Server.NetworkAdapter)
 	if e != nil {
-		return false
+		return e
 	}
-	var err error
+
 	tx := db.Begin()
 	defer func() {
 		if err != nil && tx != nil {
 			tx.Rollback()
 		}
 	}()
+
 	sql := "insert into cluster (cluster_id,cluster_name,password,virtual_ip) values ('" + c.ClusterId + "','" + c.ClusterName + "','" + c.Password + "','" + c.VirtualIp + "')"
 	if err = tx.Exec(sql).Error; err != nil {
-		return false
+		return err
 	}
 	timeUnix := time.Now().Unix()
 	fmtTimeStr := time.Unix(timeUnix, 0).Format("2006-01-02 15:04:05")
 	//娣诲姞鏈韩鑺傜偣
-	sql = "insert into cluster_node (id,cluster_id,node_name,node_id,node_ip,create_time,isDelete,device_type) values ('" + serverId + "','" + c.ClusterId + "','" + localConfig.ServerName + "','" + serverId + "','" + (serverIp + ":" + strconv.Itoa(syncdb.DefaultBindPort)) + "','" + fmtTimeStr + "',0,'" + config.Server.DeviceType + "')"
+	sql = "insert into cluster_node (id,cluster_id,node_name,node_id,node_ip,create_time,isDelete,device_type,drift_state) values ('" + serverId + "','" + c.ClusterId + "','" + localConfig.ServerName + "','" + serverId + "','" + (serverIp + ":" + strconv.Itoa(syncdb.DefaultBindPort)) + "','" + fmtTimeStr + "',0,'" + config.Server.DeviceType + "','master')"
 	if err = tx.Exec(sql).Error; err != nil {
-		return false
+		return err
 	}
+
 	tx.Commit()
-	return true
+
+	return nil
 }
 
 func (c *Cluster) UpdateClusterName(clusterName string, virtualIp string) bool {

--
Gitblit v1.8.0