From aaa7697d6ec77e03d96ce36ca66abcbbcf2bb7a3 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期二, 14 七月 2020 12:03:33 +0800
Subject: [PATCH] add ruleSo
---
controllers/cluster.go | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 102 insertions(+), 10 deletions(-)
diff --git a/controllers/cluster.go b/controllers/cluster.go
index 4d844ee..3536041 100644
--- a/controllers/cluster.go
+++ b/controllers/cluster.go
@@ -2,7 +2,10 @@
import (
"basic.com/dbapi.git"
+ "fmt"
"github.com/gin-gonic/gin"
+ "math/rand"
+ "time"
"webserver/extend/code"
"webserver/extend/util"
)
@@ -37,6 +40,7 @@
Password string `json:"password"`
ClusterName string `json:"clusterName"`
ClusterId string `json:"clusterId"`
+ VirtualIp string `json:"virtualIp"`
}
type ClusterSearchVo struct {
@@ -50,6 +54,22 @@
NodeIps []string `json:"nodeIps"`
}
+type ClusterDb struct {
+ ClusterId string `json:"clusterId"`
+ ClusterName string `json:"clusterName"`
+ Nodes []NodeDb `json:"nodes"`
+}
+type NodeDb struct {
+ Id string `json:"id"`
+ ClusterId string `json:"cluster_id"`
+ NodeName string `json:"node_name"`
+ NodeId string `json:"node_id"`
+ NodeIp string `json:"node_ip"`
+ CreateTime string `json:"create_time"`
+ IsDelete bool `json:"isDelete"`
+}
+
+// @Security ApiKeyAuth
// @Summary 鍒涘缓闆嗙兢
// @Description 鍒涘缓闆嗙兢
// @Accept json
@@ -67,7 +87,7 @@
return
}
var api dbapi.ClusterApi
- b, d := api.Create(clusterVo.ClusterName, clusterVo.Password)
+ b, d := api.Create(clusterVo.ClusterName, clusterVo.Password, clusterVo.VirtualIp)
if b {
util.ResponseFormat(c,code.Success, d)
} else {
@@ -75,6 +95,38 @@
}
}
+// @Security ApiKeyAuth
+// @Summary 鐢熸垚闆嗙兢6浣嶉殢鏈哄瘑鐮�
+// @Description 鐢熸垚闆嗙兢6浣嶉殢鏈哄瘑鐮�
+// @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/randomPwd [get]
+func (cc ClusterController) RandomPwd(c *gin.Context) {
+ pwd := fmt.Sprintf("%06v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(1000000))
+ util.ResponseFormat(c,code.Success,pwd)
+}
+
+// @Security ApiKeyAuth
+// @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/findCluster [get]
+func (cc ClusterController) FindCluster(c *gin.Context) {
+ var clusterApi dbapi.ClusterApi
+ b, d := clusterApi.FindCluster()
+ if b {
+ util.ResponseFormat(c,code.Success, d)
+ } else {
+ util.ResponseFormat(c,code.ComError,"闆嗙兢鏌ヨ澶辫触")
+ }
+}
+
+// @Security ApiKeyAuth
// @Summary 鎼滅储闆嗙兢
// @Description 鎼滅储闆嗙兢
// @Accept json
@@ -100,6 +152,7 @@
}
}
+// @Security ApiKeyAuth
// @Summary 閫氳繃searchNum寮傛鑾峰彇闆嗙兢鑺傜偣淇℃伅
// @Description 閫氳繃searchNum寮傛鑾峰彇闆嗙兢鑺傜偣淇℃伅
// @Accept json
@@ -118,22 +171,17 @@
}
}
+// @Security ApiKeyAuth
// @Summary 閫氳繃searchNum鍋滄鎼滅储
// @Description 閫氳繃searchNum鍋滄鎼滅储
// @Produce json
// @Tags cluster
-// @Param searchNum query string true "鎼滅储缂栧彿"
// @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/stopSearching [post]
func (cc ClusterController) StopSearching(c *gin.Context) {
- searchNum := c.Query("searchNum")
- if searchNum == "" {
- util.ResponseFormat(c,code.RequestParamError, "鍙傛暟鏈夎")
- return
- }
var api dbapi.ClusterApi
- b, d := api.StopSearching(searchNum)
+ b, d := api.StopSearching("")
if b {
util.ResponseFormat(c,code.Success, d)
} else {
@@ -141,13 +189,13 @@
}
}
-
+// @Security ApiKeyAuth
// @Summary 鍔犲叆闆嗙兢
// @Description 鍔犲叆闆嗙兢
// @Accept json
// @Produce json
// @Tags cluster
-// @Param clusterArg body controllers.ClusterCreateVo true "闆嗙兢鍒涘缓鍙傛暟"
+// @Param clusterArg body controllers.ClusterJoinVo true "闆嗙兢鍒涘缓鍙傛暟"
// @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/joinCluster [post]
@@ -167,3 +215,47 @@
util.ResponseFormat(c,code.ComError,"鍔犲叆澶辫触")
}
}
+
+// @Security ApiKeyAuth
+// @Summary 淇濆瓨闆嗙兢鍚嶇О
+// @Description 淇濆瓨闆嗙兢鍚嶇О
+// @Accept x-www-form-urlencoded
+// @Produce json
+// @Tags cluster
+// @Param clusterName formData string true "闆嗙兢鍚嶇О"
+// @Param virtualIp formData string false "铏氭嫙ip"
+// @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/updateClusterName [post]
+func (cc ClusterController) UpdateClusterName(c *gin.Context) {
+ clusterName := c.PostForm("clusterName")
+ if clusterName == "" {
+ util.ResponseFormat(c,code.RequestParamError, "鍙傛暟鏈夎")
+ return
+ }
+ virtualIp := c.PostForm("virtualIp")
+ var api dbapi.ClusterApi
+ b,_ := api.UpdateClusterName(clusterName,virtualIp)
+ if b {
+ util.ResponseFormat(c,code.UpdateSuccess,"鏇存柊鎴愬姛")
+ } else {
+ util.ResponseFormat(c,code.ComError, "鏇存柊澶辫触")
+ }
+}
+
+// @Security ApiKeyAuth
+// @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/leave [post]
+func (cc ClusterController) Leave(c *gin.Context) {
+ var api dbapi.ClusterApi
+ if b,_:= api.Leave();b {
+ util.ResponseFormat(c,code.Success,"閫�鍑烘垚鍔�")
+ } else {
+ util.ResponseFormat(c,code.ComError,"閫�鍑哄け璐�")
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0