From cc6d3763795b62d353df0c1eb58cbb736b709829 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 20 十月 2023 09:48:37 +0800
Subject: [PATCH] 添加主节点退出时, 重新选举master的功能

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

diff --git a/system-service/models/node.go b/system-service/models/node.go
index 24d8af4..5e1b046 100644
--- a/system-service/models/node.go
+++ b/system-service/models/node.go
@@ -43,6 +43,20 @@
 	return nodes, nil
 }
 
+func (n *Node) FindNodes() (nodes []Node, err error) {
+	if err = db.Raw("select * from cluster_node").Scan(&nodes).Error; err != nil {
+		return nil, err
+	}
+	return nodes, nil
+}
+
+func (n *Node) FindFirstNode() (node Node, err error) {
+	if err = db.Raw("select * from cluster_node where isDelete=0 order by create_time limit 1").Scan(&node).Error; err != nil {
+		return node, err
+	}
+	return node, nil
+}
+
 func (n *Node) UpdateDriftStateByNodeId(driftState string, nodeId string) bool {
 	var err error
 	tx := GetDB().Begin()
@@ -56,7 +70,7 @@
 		if err = tx.Exec("update "+n.TableName()+" set drift_state=? where id=?", driftState, nodeId).Error; err != nil {
 			return false
 		}
-		if err = tx.Exec("update "+n.TableName()+" set drift_state='backup' where id !=?", nodeId).Error; err != nil {
+		if err = tx.Exec("update "+n.TableName()+" set drift_state='slave' where id !=?", nodeId).Error; err != nil {
 			return false
 		}
 	} else {

--
Gitblit v1.8.0