2.0订单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.

121 lines
2.1 KiB

package orderrpcv2
import (
"encoding/json"
"errors"
"strconv"
)
func GetUserBuyNum(site_id, dbname string, product_id string, user_id string, url ...string) (int64, error) {
if dbname == "" || product_id == "" || user_id == "" {
return 0, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return 0, err
}
defer conn.Close()
var data map[string]string = make(map[string]string)
data["dbname"] = dbname
data["site_id"] = site_id
data["product_id"] = product_id
data["user_id"] = user_id
req, err := SetReqData(data)
if err != nil {
return 0, err
}
res := &Response{}
err = conn.GetUserBuyNum(req, res)
if err != nil {
return 0, err
}
res_data_de, err := GetResData(res)
if err != nil {
return 0, err
}
if res_data_de == "" {
return 0, errors.New("no data")
}
var res_arr map[string]string
err = json.Unmarshal([]byte(res_data_de), &res_arr)
if err != nil {
return 0, err
}
if _, ok := res_arr["Quantity"]; ok {
return strconv.ParseInt(res_arr["Quantity"], 10, 64)
}
return 0, errors.New("failed")
}
func GetUserBuyTotal(site_id, dbname string, product_id string, user_id string, url ...string) (int64, error) {
if dbname == "" || product_id == "" || user_id == "" {
return 0, errors.New("参数错误")
}
conn, err := rpc_server_conn(url...)
if err != nil {
return 0, err
}
defer conn.Close()
var data map[string]string = make(map[string]string)
data["dbname"] = dbname
data["site_id"] = site_id
data["product_id"] = product_id
data["user_id"] = user_id
req, err := SetReqData(data)
if err != nil {
return 0, err
}
res := &Response{}
err = conn.GetUserBuyTotal(req, res)
if err != nil {
return 0, err
}
res_data_de, err := GetResData(res)
if err != nil {
return 0, err
}
if res_data_de == "" {
return 0, errors.New("no data")
}
var res_arr map[string]string
err = json.Unmarshal([]byte(res_data_de), &res_arr)
if err != nil {
return 0, err
}
if _, ok := res_arr["Total"]; ok {
return strconv.ParseInt(res_arr["Total"], 10, 64)
}
return 0, errors.New("failed")
}