From 6f48881e4e82110c6161b457f64dc1369e60eb71 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 22 八月 2019 11:58:18 +0800
Subject: [PATCH] add cluster.go

---
 cluster.go |  100 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 100 insertions(+), 0 deletions(-)

diff --git a/cluster.go b/cluster.go
new file mode 100644
index 0000000..4ccc84c
--- /dev/null
+++ b/cluster.go
@@ -0,0 +1,100 @@
+package dbapi
+
+import "encoding/json"
+
+type ClusterApi struct {
+
+}
+
+func (api ClusterApi) Create(clusterName string, password string) (bool,interface{}) {
+	url := BASIC_URL + DATA_URL_PREFIX + "/cluster/create"
+	client := NewClient()
+	paramBody := map[string]interface{}{
+		"clusterName": clusterName,
+		"password": password,
+	}
+	body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
+	if err != nil {
+		return false,nil
+	}
+
+	var res Result
+	if err = json.Unmarshal(body, &res); err != nil {
+		return false,nil
+	}
+
+	return res.Success,res.Data
+}
+
+func (api ClusterApi) Search(searchNum string, password string) (bool,interface{}) {
+	url := BASIC_URL + DATA_URL_PREFIX + "/cluster/search"
+	client := NewClient()
+	paramBody := map[string]interface{}{
+		"searchNum": searchNum,
+		"password": password,
+	}
+	body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
+	if err != nil {
+		return false,nil
+	}
+
+	var res Result
+	if err = json.Unmarshal(body, &res); err != nil {
+		return false,nil
+	}
+
+	return res.Success,res.Data
+}
+
+func (api ClusterApi) GetSearchNodes() (bool,interface{}) {
+	url := BASIC_URL + DATA_URL_PREFIX + "/cluster/getNodesByNum"
+	client := NewClient()
+	body,err := client.DoGetRequest(url, nil,nil)
+	if err != nil {
+		return false,nil
+	}
+
+	var res Result
+	if err = json.Unmarshal(body, &res); err != nil {
+		return false,nil
+	}
+
+	return res.Success,res.Data
+}
+
+func (api ClusterApi) StopSearching(searchNum string) (bool,interface{}) {
+	url := BASIC_URL + DATA_URL_PREFIX + "/cluster/stopSearching"
+	client := NewClient()
+	paramBody := map[string]interface{}{
+		"searchNum": searchNum,
+	}
+	body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
+	if err != nil {
+		return false,nil
+	}
+
+	var res Result
+	if err = json.Unmarshal(body, &res); err != nil {
+		return false,nil
+	}
+
+	return res.Success,res.Data
+}
+
+func (api ClusterApi) JoinCluster(paramBody map[string]interface{}) (bool,interface{}) {
+	url := BASIC_URL + DATA_URL_PREFIX + "/cluster/joinCluster"
+	client := NewClient()
+	body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
+	if err != nil {
+		return false,nil
+	}
+
+	var res Result
+	if err = json.Unmarshal(body, &res); err != nil {
+		return false,nil
+	}
+
+	return res.Success,res.Data
+}
+
+

--
Gitblit v1.8.0