| | |
| | | package controllers |
| | | |
| | | import ( |
| | | "vamicro/config" |
| | | "vamicro/system-service/models" |
| | | "vamicro/system-service/service" |
| | | "vamicro/system-service/vo" |
| | |
| | | ) |
| | | |
| | | 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: "", |
| | | 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, " serverId:", config.Server.AnalyServerId, " stat:", node.DriftState) |
| | | if node.NodeId == config.Server.AnalyServerId { |
| | | if node.DriftState == "master" { |
| | | reply.Msg = "master" |
| | | |
| | | } else { |
| | | reply.Msg = "slave" |
| | | } |
| | | break |
| | | } |
| | | } |
| | | reply.Data = nodes |
| | | } |
| | | } |
| | | |
| | | return &reply |
| | | } |
| | | |
| | | // @Summary 查询本地集群 |
| | |
| | | "password": arr[0].Password, |
| | | "nodes": nodes, |
| | | "virtualIp": arr[0].VirtualIp, |
| | | "localId": config.Server.AnalyServerId, |
| | | }} |
| | | } else { |
| | | return &bhomeclient.Reply{Success: true} |
| | |
| | | } |
| | | } |
| | | |
| | | func (cc ClusterController) Update2Master(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply { |
| | | var nodeVo vo.UpdateClusterVo |
| | | err := c.BindJSON(&nodeVo) |
| | | if err != nil || nodeVo.NodeId == "" { |
| | | return &bhomeclient.Reply{Success: false, Msg: "参数有误"} |
| | | } |
| | | |
| | | sv := service.NewClusterService(h.Bk) |
| | | b, _ := sv.UpdateDriftStateByNodeId(nodeVo.ClusterId, nodeVo.NodeId, "master") |
| | | if b { |
| | | return &bhomeclient.Reply{Success: true, Data: nil} |
| | | } else { |
| | | return &bhomeclient.Reply{Success: false, Msg: "变更失败"} |
| | | } |
| | | } |
| | | |
| | | // @Summary 搜索集群 |
| | | // @Description 搜索集群 |
| | | // @Accept json |