diff --git a/client.info.go b/client.info.go new file mode 100644 index 0000000..9f0e202 --- /dev/null +++ b/client.info.go @@ -0,0 +1,50 @@ +package supplierrpc + +import ( + "encoding/json" + "errors" +) + +func Get(site_id, dbname, id string, url ...string) (map[string]string, error) { + + if dbname == "" || id == "" { + return nil, errors.New("参数错误") + } + + conn, err := rpc_server_conn(url...) + if err != nil { + return nil, err + } + defer conn.Close() + + arg := GetParam{site_id, dbname, id} + + req, err := SetReqData(arg) + if err != nil { + return nil, err + } + res := &Response{} + + err = conn.Get(req, res) + + if err != nil { + return nil, err + } + + res_data_de, err := GetResData(res) + if err != nil { + return nil, err + } + if res_data_de == "" { + return nil, nil + } + var res_arr map[string]string + + err = json.Unmarshal([]byte(res_data_de), &res_arr) + + if err != nil { + return nil, err + } + return res_arr, nil + +} diff --git a/client.info_test.go b/client.info_test.go new file mode 100644 index 0000000..91ef50a --- /dev/null +++ b/client.info_test.go @@ -0,0 +1,16 @@ +package supplierrpc + +import ( + "testing" +) + +func Test_Get(t *testing.T) { + siteid := "1056475" + dbname := "shop_v2" + key := "2" + + res, err := Get(siteid, dbname, key) + t.Log(res) + t.Log(err) + +} diff --git a/client.is_open.go b/client.is_open.go new file mode 100644 index 0000000..07c5494 --- /dev/null +++ b/client.is_open.go @@ -0,0 +1,50 @@ +package supplierrpc + +import ( + "encoding/json" + "errors" +) + +func IsOpen(site_id, dbname, id string, url ...string) (*BoolRet, error) { + + if dbname == "" || id == "" { + return nil, errors.New("参数错误") + } + + conn, err := rpc_server_conn(url...) + if err != nil { + return nil, err + } + defer conn.Close() + + arg := GetParam{site_id, dbname, id} + + req, err := SetReqData(arg) + if err != nil { + return nil, err + } + res := &Response{} + + err = conn.IsOpen(req, res) + + if err != nil { + return nil, err + } + + res_data_de, err := GetResData(res) + if err != nil { + return nil, err + } + if res_data_de == "" { + return nil, nil + } + var res_arr BoolRet + + err = json.Unmarshal([]byte(res_data_de), &res_arr) + + if err != nil { + return nil, err + } + return &res_arr, nil + +} diff --git a/client.is_open_test.go b/client.is_open_test.go new file mode 100644 index 0000000..f4e7127 --- /dev/null +++ b/client.is_open_test.go @@ -0,0 +1,17 @@ +package supplierrpc + +import ( + "testing" +) + +func Test_IsOpen(t *testing.T) { + siteid := "1056475" + dbname := "shop_v2" + key := "1" + + res, err := IsOpen(siteid, dbname, key) + t.Log(res) + t.Log(res.Value) + t.Log(err) + +} diff --git a/conn.go b/conn.go new file mode 100644 index 0000000..6588dc4 --- /dev/null +++ b/conn.go @@ -0,0 +1,25 @@ +package supplierrpc + +import ( + "git.tetele.net/tgo/conf" +) + +func rpc_server_conn(url ...string) (*SupplierServiceClient, error) { + + var rpc_url string + if len(url) > 0 && url[0] != "" { + rpc_url = url[0] + } else if conf.SUPPLIER_RPC_URL != "" { + rpc_url = conf.SUPPLIER_RPC_URL + } else { + rpc_url = "127.0.0.1:" + conf.SUPPLIER_RPC_PORT + } + + conn, _, err := DialSupplierService("tcp", rpc_url) + if err != nil { + return nil, err + } + + return conn, nil + +}