diff --git a/conn.go b/conn.go new file mode 100644 index 0000000..108750d --- /dev/null +++ b/conn.go @@ -0,0 +1,19 @@ +package productrpc + +import ( + "git.tetele.net/tgo/conf" +) + +func rpc_server_conn(url ...string) (*ProductServiceClient, error) { + + var rpc_url string = "127.0.0.1:" + conf.PRODUCT_RPC_PORT + if len(url) > 0 && url[0] != "" { + rpc_url = url[0] + } + conn, _, err := DialProductService("tcp", rpc_url) + if err != nil { + return nil, err + } + + return conn, nil +} diff --git a/getinfo.go b/getinfo.go new file mode 100644 index 0000000..300403e --- /dev/null +++ b/getinfo.go @@ -0,0 +1,41 @@ +package productrpc + +import ( + "encoding/json" + // "strconv" + // "time" + "github.com/golang/protobuf/proto" +) + +/** + * id获取商品信息 + * 2021/08/20 + * GZ + */ +func Get(dbname, id string, url ...string) (map[string]string, error) { + + conn, err := rpc_server_conn(url...) + if err != nil { + return nil, err + } + defer conn.Close() + + req := &GetRequest{proto.String(dbname), proto.String(id), nil} + + res := &GetResponse{} + + err = conn.Get(req, res) + + if err != nil { + return nil, err + } + + value := res.GetValue() + + var data map[string]string + + err = json.Unmarshal(value, &data) + + return data, err + +} diff --git a/getinfo_test.go b/getinfo_test.go new file mode 100644 index 0000000..d005066 --- /dev/null +++ b/getinfo_test.go @@ -0,0 +1,15 @@ +package productrpc + +import ( + "testing" +) + +func Test_Get(t *testing.T) { + dbname := "shop_v2" + id := "1" + + ret, err := Get(dbname, id) + + t.Log(ret) + t.Log(err) +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..894dd42 --- /dev/null +++ b/go.mod @@ -0,0 +1,9 @@ +module git.tetele.net/tgo/productrpc + +go 1.14 + +require ( + git.tetele.net/tgo/conf v0.33.1 // indirect + github.com/chai2010/protorpc v1.1.3 // indirect + golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..9625c61 --- /dev/null +++ b/go.sum @@ -0,0 +1,10 @@ +git.tetele.net/tgo/conf v0.33.1 h1:ZEIv3Vq35RCv5f3T3Uz97s2mkZLl7W5OlmXvzI3/sS8= +git.tetele.net/tgo/conf v0.33.1/go.mod h1:AWVIBEDE5dtotthUgR0SWaR2Qa6/f+O5WQ3s7Tj8q7A= +github.com/chai2010/protorpc v1.1.3 h1:VJK5hIoZn0XCGol0GmbxZkUG6FbTI5LP2Lam6RVd15w= +github.com/chai2010/protorpc v1.1.3/go.mod h1:/wO0kiyVdu7ug8dCMrA2yDr2vLfyhsLEuzLa9J2HJ+I= +github.com/golang/protobuf v1.0.0 h1:lsek0oXi8iFE9L+EXARyHIjU5rlWIhhTkjDz3vHhWWQ= +github.com/golang/protobuf v1.0.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=