zhangmeng
2024-01-19 01dfd9dc8de7b19f9dfa4284722e01bbd5837801
cluster.go
@@ -2,177 +2,180 @@
import (
   "basic.com/pubsub/protomsg.git"
   json "github.com/json-iterator/go"
   jsoniter "github.com/json-iterator/go"
)
type ClusterApi struct {
}
func (api ClusterApi) FindCluster() (flag bool,info protomsg.ClusterAndNodes) {
func (api ClusterApi) FindCluster() (flag bool, info protomsg.ClusterAndNodes) {
   url := DATA_URL_PREFIX + "/cluster/findCluster"
   netNode := getNetNode(url2Topic(Topic_System_Service,url))
   netNode := getNetNode(url2Topic(Topic_System_Service, url))
   client := NewClient(WithNodes(netNode))
   body,err := client.DoGetRequest(url, nil,nil)
   body, err := client.DoGetRequest(url, nil, nil)
   if err != nil {
      return false,info
      return false, info
   }
   var res Result
   var json = jsoniter.ConfigCompatibleWithStandardLibrary
   if err = json.Unmarshal(body, &res); err != nil {
      return false,info
      return false, info
   }
   if res.Success {
      b, err := json.Marshal(res.Data)
      if err !=nil {
      if err != nil {
         logPrint("marshal res.Data err")
         return false,info
         return false, info
      }
      if err = json.Unmarshal(b, &info);err !=nil {
         return false,info
      if err = json.Unmarshal(b, &info); err != nil {
         return false, info
      } else {
         return true,info
         return true, info
      }
   }
   return false,info
   return false, info
}
func (api ClusterApi) Create(clusterName string, password string, virtualIp string) (bool,interface{}) {
func (api ClusterApi) Create(clusterName string, password string, virtualIp string) (bool, interface{}) {
   url := DATA_URL_PREFIX + "/cluster/create"
   netNode := getNetNode(url2Topic(Topic_System_Service,url))
   netNode := getNetNode(url2Topic(Topic_System_Service, url))
   client := NewClient(WithNodes(netNode))
   paramBody := map[string]interface{}{
      "clusterName": clusterName,
      "password": password,
      "virtualIp": virtualIp,
      "password":    password,
      "virtualIp":   virtualIp,
   }
   body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
   body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil)
   if err != nil {
      return false,nil
      return false, nil
   }
   var res Result
   var json = jsoniter.ConfigCompatibleWithStandardLibrary
   if err = json.Unmarshal(body, &res); err != nil {
      return false,nil
      return false, nil
   }
   return res.Success,res.Data
   return res.Success, res.Data
}
func (api ClusterApi) Search(searchNum string, password string) (bool,interface{}) {
func (api ClusterApi) Search(searchNum string, password string) (bool, interface{}) {
   url := DATA_URL_PREFIX + "/cluster/search"
   netNode := getNetNode(url2Topic(Topic_System_Service,url))
   netNode := getNetNode(url2Topic(Topic_System_Service, url))
   client := NewClient(WithNodes(netNode))
   paramBody := map[string]interface{}{
      "searchNum": searchNum,
      "password": password,
      "password":  password,
   }
   body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
   body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil)
   if err != nil {
      return false,nil
      return false, nil
   }
   var res Result
   var json = jsoniter.ConfigCompatibleWithStandardLibrary
   if err = json.Unmarshal(body, &res); err != nil {
      return false,nil
      return false, nil
   }
   return res.Success,res.Data
   return res.Success, res.Data
}
func (api ClusterApi) GetSearchNodes() (bool,interface{}) {
func (api ClusterApi) GetSearchNodes() (bool, interface{}) {
   url := DATA_URL_PREFIX + "/cluster/getSearchNodes"
   netNode := getNetNode(url2Topic(Topic_System_Service,url))
   netNode := getNetNode(url2Topic(Topic_System_Service, url))
   client := NewClient(WithNodes(netNode))
   body,err := client.DoGetRequest(url, nil,nil)
   body, err := client.DoGetRequest(url, nil, nil)
   if err != nil {
      return false,nil
      return false, nil
   }
   var res Result
   var json = jsoniter.ConfigCompatibleWithStandardLibrary
   if err = json.Unmarshal(body, &res); err != nil {
      return false,nil
      return false, nil
   }
   return res.Success,res.Data
   return res.Success, res.Data
}
func (api ClusterApi) StopSearching(searchNum string) (bool,interface{}) {
func (api ClusterApi) StopSearching(searchNum string) (bool, interface{}) {
   url := DATA_URL_PREFIX + "/cluster/stopSearching"
   netNode := getNetNode(url2Topic(Topic_System_Service,url))
   netNode := getNetNode(url2Topic(Topic_System_Service, url))
   client := NewClient(WithNodes(netNode))
   paramBody := map[string]interface{}{
      "searchNum": searchNum,
   }
   body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
   body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil)
   if err != nil {
      return false,nil
      return false, nil
   }
   var res Result
   var json = jsoniter.ConfigCompatibleWithStandardLibrary
   if err = json.Unmarshal(body, &res); err != nil {
      return false,nil
      return false, nil
   }
   return res.Success,res.Data
   return res.Success, res.Data
}
func (api ClusterApi) UpdateClusterName(clusterName string, virtualIp string) (bool,interface{}) {
func (api ClusterApi) UpdateClusterName(clusterName string, virtualIp string) (bool, interface{}) {
   url := DATA_URL_PREFIX + "/cluster/updateClusterName"
   netNode := getNetNode(url2Topic(Topic_System_Service,url))
   netNode := getNetNode(url2Topic(Topic_System_Service, url))
   client := NewClient(WithNodes(netNode))
   paramBody := map[string]interface{}{
      "clusterName": clusterName,
      "virtualIp": virtualIp,
      "virtualIp":   virtualIp,
   }
   body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, paramBody,nil,nil)
   body, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramBody, nil, nil)
   if err != nil {
      return false,nil
      return false, nil
   }
   var res Result
   var json = jsoniter.ConfigCompatibleWithStandardLibrary
   if err = json.Unmarshal(body, &res); err != nil {
      return false,nil
      return false, nil
   }
   return res.Success,res.Data
   return res.Success, res.Data
}
func (api ClusterApi) Leave() (bool,interface{}) {
func (api ClusterApi) Leave() (bool, interface{}) {
   url := DATA_URL_PREFIX + "/cluster/leave"
   netNode := getNetNode(url2Topic(Topic_System_Service,url))
   netNode := getNetNode(url2Topic(Topic_System_Service, url))
   client := NewClient(WithNodes(netNode))
   body,err := client.DoPostRequest(url,CONTENT_TYPE_FORM, nil,nil,nil)
   body, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, nil, nil, nil)
   if err != nil {
      return false,nil
      return false, nil
   }
   var res Result
   var json = jsoniter.ConfigCompatibleWithStandardLibrary
   if err = json.Unmarshal(body, &res); err != nil {
      return false,nil
      return false, nil
   }
   return res.Success,res.Data
   return res.Success, res.Data
}
func (api ClusterApi) JoinCluster(paramBody map[string]interface{}) (bool,interface{}) {
func (api ClusterApi) JoinCluster(paramBody map[string]interface{}) (bool, interface{}) {
   url := DATA_URL_PREFIX + "/cluster/joinCluster"
   netNode := getNetNode(url2Topic(Topic_System_Service,url))
   netNode := getNetNode(url2Topic(Topic_System_Service, url))
   client := NewClient(WithNodes(netNode))
   body,err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody,nil,nil)
   body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil)
   if err != nil {
      return false,nil
      return false, nil
   }
   var res Result
   var json = jsoniter.ConfigCompatibleWithStandardLibrary
   if err = json.Unmarshal(body, &res); err != nil {
      return false,nil
      return false, nil
   }
   return res.Success,res.Data
   return res.Success, res.Data
}