package bhomedbapi import ( "basic.com/pubsub/protomsg.git" "errors" jsoniter "github.com/json-iterator/go" ) type DbTableApi struct { } func (api DbTableApi) AddDbTableInfo(paramBody map[string]interface{}) (bool, interface{}) { url := DATA_URL_PREFIX + "/dbtable/addDbTableInfo" netNode := getNetNode(url2Topic(Topic_CompTable_Service, url)) client := NewClient(WithNodes(netNode)) body, err := client.DoPutRequest(url, CONTENT_TYPE_JSON, paramBody, nil) if err != nil { return false, nil } var res Result var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { return false, nil } return res.Success, res.Data } func (api DbTableApi) QueryDbTables(isSync string) (bool, interface{}) { url := DATA_URL_PREFIX + "/dbtable/queryDbTables" netNode := getNetNode(url2Topic(Topic_CompTable_Service, url)) client := NewClient(WithNodes(netNode)) paramQuery := map[string]string{ "isSync": isSync, } body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, nil, paramQuery, nil) if err != nil { return false, nil } var res Result var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { return false, nil } return res.Success, res.Data } func (api DbTableApi) UpdateDbTables(paramBody map[string]interface{}) (bool, interface{}) { url := DATA_URL_PREFIX + "/dbtable/updateDbTables" netNode := getNetNode(url2Topic(Topic_CompTable_Service, url)) client := NewClient(WithNodes(netNode)) body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil) if err != nil { return false, nil } var res Result var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { return false, nil } return res.Success, res.Data } func (api DbTableApi) UpdateDbTableStatus(id string, enable int) (bool, interface{}) { url := DATA_URL_PREFIX + "/dbtable/updateDbTableStatus" netNode := getNetNode(url2Topic(Topic_CompTable_Service, url)) client := NewClient(WithNodes(netNode)) paramBody := map[string]interface{}{ "id": id, "enable": enable, } body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil) if err != nil { return false, nil } var res Result var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { return false, nil } return res.Success, res.Data } func (api DbTableApi) DeleteById(id string) (bool, interface{}) { url := DATA_URL_PREFIX + "/dbtable/deleteDBtablesById" netNode := getNetNode(url2Topic(Topic_CompTable_Service, url)) client := NewClient(WithNodes(netNode)) paramQuery := map[string]string{ "id": id, } body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, nil, paramQuery, nil) if err != nil { return false, nil } var res Result var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { return false, nil } return res.Success, res.Data } //根据多个底库id查询底库信息 func (api DbTableApi) DbtablesById(ids []string) (dts []protomsg.Dbtable, err error) { url := DATA_URL_PREFIX + "/dbtable/dbtablesByIds" netNode := getNetNode(url2Topic(Topic_CompTable_Service, url)) client := NewClient(WithNodes(netNode)) paramBody := map[string]interface{}{ "ids": ids, } body, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil) if err != nil { return nil, err } var res Result var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { return nil, err } dataBytes, _ := json.Marshal(res.Data) if err = json.Unmarshal(dataBytes, &dts); err != nil { return nil, err } return dts, nil } // 根据tableid 查询tablename func (api DbTableApi) Dbtablename(tableId string) (tableName string, err error) { dts, e := api.DbtablesById([]string{tableId}) if e != nil { return "", e } if dts != nil && len(dts) == 1 { return dts[0].TableName, nil } return "", errors.New("table not found") } func (api DbTableApi) FindAllDbTables() (dts []protomsg.Dbtable, err error) { url := DATA_URL_PREFIX + "/dbtable/findAllDbTables" netNode := getNetNode(url2Topic(Topic_CompTable_Service, url)) client := NewClient(WithNodes(netNode)) body, err := client.DoGetRequest(url, nil, nil) if err != nil { return nil, err } var res Result var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { return nil, err } dataBytes, _ := json.Marshal(res.Data) if err = json.Unmarshal(dataBytes, &dts); err != nil { return nil, err } return dts, nil } func (api DbTableApi) FindAllDbTablesByCurServer(isDelete string) (dts []protomsg.Dbtable, err error) { url := DATA_URL_PREFIX + "/dbtable/findAllDbTablesByCurServer" netNode := getNetNode(url2Topic(Topic_CompTable_Service, url)) client := NewClient(WithNodes(netNode)) paramQuery := map[string]string{ "isDelete": isDelete, } body, err := client.DoGetRequest(url, paramQuery, nil) if err != nil { return nil, err } var res Result var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { return nil, err } dataBytes, _ := json.Marshal(res.Data) if err = json.Unmarshal(dataBytes, &dts); err != nil { return nil, err } return dts, nil } func (api DbTableApi) FindAllDbTablesByType(isDelete string, typ string) (dts []protomsg.Dbtable, err error) { url := DATA_URL_PREFIX + "/dbtable/findAllDbTablesByCurServer" netNode := getNetNode(url2Topic(Topic_CompTable_Service, url)) client := NewClient(WithNodes(netNode)) paramQuery := map[string]string{ "isDelete": isDelete, "type": typ, } body, err := client.DoGetRequest(url, paramQuery, nil) if err != nil { return nil, err } var res Result var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { return nil, err } dataBytes, _ := json.Marshal(res.Data) if err = json.Unmarshal(dataBytes, &dts); err != nil { return nil, err } return dts, nil } func (api DbTableApi) FindAllLocalDbTables(isDelete string) (dts []protomsg.Dbtable, err error) { url := DATA_URL_PREFIX + "/dbtable/findAllLocalDbTables" netNode := getNetNode(url2Topic(Topic_CompTable_Service, url)) client := NewClient(WithNodes(netNode)) paramQuery := map[string]string{ "isDelete": isDelete, } body, err := client.DoGetRequest(url, paramQuery, nil) if err != nil { return nil, err } var res Result var json = jsoniter.ConfigCompatibleWithStandardLibrary if err = json.Unmarshal(body, &res); err != nil { return nil, err } dataBytes, _ := json.Marshal(res.Data) if err = json.Unmarshal(dataBytes, &dts); err != nil { return nil, err } return dts, nil }