商品rpc数据格式及调用方法
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

140 lines
2.5 KiB

package productrpc
import (
"encoding/json"
// "strconv"
// "time"
"github.com/golang/protobuf/proto"
)
/**
* id获取商品sku信息
* 2021/08/20
* GZ
*/
func GetSku(site_id, dbname, id string, field 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(site_id), proto.String(dbname), proto.String(id), proto.String(field), nil}
res := &GetResponse{}
err = conn.GetSku(req, res)
if err != nil {
return nil, err
}
value := res.GetValue()
var data map[string]string
err = json.Unmarshal(value, &data)
return data, err
}
/**
* uuid获取商品sku信息
* 2021/08/20
* GZ
*/
func GetSkuByUuid(site_id, dbname, uuid string, field string, url ...string) (map[string]string, error) {
conn, err := rpc_server_conn(url...)
if err != nil {
return nil, err
}
defer conn.Close()
req := &GetUuidRequest{proto.String(site_id), proto.String(dbname), proto.String(uuid), proto.String(field), nil}
res := &GetResponse{}
err = conn.GetSkuByUuid(req, res)
if err != nil {
return nil, err
}
value := res.GetValue()
var data map[string]string
err = json.Unmarshal(value, &data)
return data, err
}
/**
* product uuid获取商品sku信息
* 2021/11/29
* GZ
*/
func GetSkuInfo(site_id, dbname, product_uuid string, sku_id string, field string, url ...string) (map[string]string, error) {
conn, err := rpc_server_conn(url...)
if err != nil {
return nil, err
}
defer conn.Close()
req := &GetSkuRequest{proto.String(site_id), proto.String(dbname), proto.String(product_uuid), proto.String(sku_id), proto.String(field), nil}
res := &GetResponse{}
err = conn.GetSkuInfo(req, res)
if err != nil {
return nil, err
}
value := res.GetValue()
var data map[string]string
err = json.Unmarshal(value, &data)
return data, err
}
/**
* product uuid获取商品sku信息
* 2021/11/29
* GZ
*/
func GetSkuList(site_id, dbname, product_uuid string, field string, url ...string) ([]map[string]string, error) {
conn, err := rpc_server_conn(url...)
if err != nil {
return nil, err
}
defer conn.Close()
req := &GetSkuRequest{proto.String(site_id), proto.String(dbname), proto.String(product_uuid), proto.String(""), proto.String(field), nil}
res := &GetResponse{}
err = conn.GetSkuList(req, res)
if err != nil {
return nil, err
}
value := res.GetValue()
var data []map[string]string
err = json.Unmarshal(value, &data)
return data, err
}