From 71b8885babe6dfd25c91b007018347c0c1bfac74 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 20 十月 2023 17:35:52 +0800
Subject: [PATCH] 添加主节点变更和主动切换功能

---
 system-service/models/node.go |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/system-service/models/node.go b/system-service/models/node.go
index 5e1b046..b24f926 100644
--- a/system-service/models/node.go
+++ b/system-service/models/node.go
@@ -22,6 +22,7 @@
 	IsDelete   bool   `gorm:"column:isDelete;default:0" json:"isDelete"`
 	DeviceType string `gorm:"column:device_type" json:"device_type"` //璁惧鍨嬪彿`
 	DriftState string `gorm:"column:drift_state" json:"drift_state"` //婕傜Щ鐘舵��, master,backup
+	Online     bool   `gorm:"column:online;default:1" json:"online"` //鍦ㄧ嚎鐘舵��
 }
 
 func (Node) TableName() string {
@@ -57,9 +58,21 @@
 	return node, nil
 }
 
-func (n *Node) UpdateDriftStateByNodeId(driftState string, nodeId string) bool {
+func (n *Node) FindNodeById(id string) (node Node, err error) {
+	if err = db.Raw("select * from cluster_node where id=?", id).Scan(&node).Error; err != nil {
+		return node, err
+	}
+	return node, nil
+}
+
+func (n *Node) UpdateDriftStateByNodeId(driftState string, nodeId string, sync bool) bool {
 	var err error
 	tx := GetDB().Begin()
+	if !sync {
+		GetDB().LogMode(false)
+		defer db.LogMode(true)
+	}
+
 	defer func() {
 		if err != nil && tx != nil {
 			logger.Error("updateDriftState err:", err)

--
Gitblit v1.8.0