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/controllers/cluster.go |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/system-service/controllers/cluster.go b/system-service/controllers/cluster.go
index bcc88ec..eb8bddf 100644
--- a/system-service/controllers/cluster.go
+++ b/system-service/controllers/cluster.go
@@ -1,6 +1,7 @@
 package controllers
 
 import (
+	"vamicro/config"
 	"vamicro/system-service/models"
 	"vamicro/system-service/service"
 	"vamicro/system-service/vo"
@@ -13,6 +14,48 @@
 type ClusterController struct {
 }
 
+// @Summary 鏌ヨ褰撳墠闆嗙兢鐘舵��
+// @Description 鏌ヨ鏈湴闆嗙兢
+// @Produce json
+// @Tags cluster
+// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
+// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
+// @Router /data/api-v/cluster/status [get]
+func (cc ClusterController) GetClusterStat(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
+	var clusterE models.Cluster
+	var reply = bhomeclient.Reply{
+		Success: false,
+		Msg:     "leave",
+		Data:    nil,
+	}
+
+	arr, err := clusterE.FindAll()
+	if err == nil {
+		if arr != nil && len(arr) > 0 {
+			// 琛ㄧず宸插姞鍏ラ泦缇�
+			reply.Success = true
+
+			var nodeE models.Node
+			nodes, _ := nodeE.FindNodesByClusterId(arr[0].ClusterId)
+			logger.Debug("鏌ヨ闆嗙兢鑺傜偣:", nodes)
+			for _, node := range nodes {
+				logger.Debug("鑺傜偣:", node.NodeId, " servceId:", config.Server.AnalyServerId, " stat:", node.DriftState)
+				if node.NodeId == config.Server.AnalyServerId {
+					if node.DriftState == "master" {
+						reply.Msg = "master"
+
+					} else {
+						reply.Msg = "slave"
+					}
+					break
+				}
+			}
+		}
+	}
+
+	return &reply
+}
+
 // @Summary 鏌ヨ鏈湴闆嗙兢
 // @Description 鏌ヨ鏈湴闆嗙兢
 // @Produce json

--
Gitblit v1.8.0