sqlite的api,便于内部使用
liuxiaolong
2019-10-25 da03a0c81743cd5701fa508868f824d27137cd4e
cluster.go
@@ -1,17 +1,51 @@
package dbapi
import "encoding/json"
import (
   "encoding/json"
   "strconv"
)
type ClusterApi struct {
   Ip string
   Port int
}
func (api ClusterApi) Create(clusterName string, password string) (bool,interface{}) {
   url := BASIC_URL + DATA_URL_PREFIX + "/cluster/create"
func (api ClusterApi) getBasicUrl() string {
   if api.Ip == "" {
      return BASIC_URL
   }
   if api.Ip == "" {
      api.Ip = DEFAULT_IP
   }
   if api.Port == 0 {
      api.Port = DEFAULT_PORT
   }
   return "http://"+api.Ip+":"+strconv.Itoa(api.Port)
}
func (api ClusterApi) FindCluster() (bool,interface{}) {
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/cluster/findCluster"
   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) Create(clusterName string, password string, virtualIp string) (bool,interface{}) {
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/cluster/create"
   client := NewClient()
   paramBody := map[string]interface{}{
      "clusterName": clusterName,
      "password": password,
      "virtualIp": virtualIp,
   }
   body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
   if err != nil {
@@ -27,7 +61,7 @@
}
func (api ClusterApi) Search(searchNum string, password string) (bool,interface{}) {
   url := BASIC_URL + DATA_URL_PREFIX + "/cluster/search"
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/cluster/search"
   client := NewClient()
   paramBody := map[string]interface{}{
      "searchNum": searchNum,
@@ -47,7 +81,7 @@
}
func (api ClusterApi) GetSearchNodes() (bool,interface{}) {
   url := BASIC_URL + DATA_URL_PREFIX + "/cluster/getNodesByNum"
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/cluster/getSearchNodes"
   client := NewClient()
   body,err := client.DoGetRequest(url, nil,nil)
   if err != nil {
@@ -63,7 +97,7 @@
}
func (api ClusterApi) StopSearching(searchNum string) (bool,interface{}) {
   url := BASIC_URL + DATA_URL_PREFIX + "/cluster/stopSearching"
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/cluster/stopSearching"
   client := NewClient()
   paramBody := map[string]interface{}{
      "searchNum": searchNum,
@@ -81,8 +115,45 @@
   return res.Success,res.Data
}
func (api ClusterApi) UpdateClusterName(clusterName string, virtualIp string) (bool,interface{}) {
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/cluster/updateClusterName"
   client := NewClient()
   paramBody := map[string]interface{}{
      "clusterName": clusterName,
      "virtualIp": virtualIp,
   }
   body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, 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) Leave() (bool,interface{}) {
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/cluster/leave"
   client := NewClient()
   body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, nil,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"
   url := api.getBasicUrl() + DATA_URL_PREFIX + "/cluster/joinCluster"
   client := NewClient()
   body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
   if err != nil {
@@ -98,3 +169,4 @@
}