1
This commit is contained in:
@@ -29,10 +29,12 @@ func init() {
|
|||||||
// 天天果园
|
// 天天果园
|
||||||
//api = New("c45e6510-00ba-4be2-977e-bcb9c9792cc7", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26")
|
//api = New("c45e6510-00ba-4be2-977e-bcb9c9792cc7", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26")
|
||||||
// 京东果园
|
// 京东果园
|
||||||
api = New("b1138139-9610-4b80-9a63-a63da4773885", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26")
|
//api = New("b1138139-9610-4b80-9a63-a63da4773885", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26")
|
||||||
// 果切
|
// 果切
|
||||||
//api = New("0e12f461-2e6b-49ca-bce6-935c6672362d", "f2ed33075faf4773a47e065acd79532b", "aed14cbbecac4456843570e90c5f46ec")
|
//api = New("0e12f461-2e6b-49ca-bce6-935c6672362d", "f2ed33075faf4773a47e065acd79532b", "aed14cbbecac4456843570e90c5f46ec")
|
||||||
|
|
||||||
|
// 京东超市 381564
|
||||||
|
api = New("f99d25b8-33a6-4251-a97c-5e24b80b0005", "d2d1e2e3213d4320bc2712a684307831", "1750f5b9848d4a6492c1c20b487074da")
|
||||||
//prod zs
|
//prod zs
|
||||||
// api = New("6f8d3290-0120-4ad7-8b53-943c67c84f3f", "789279b9ae814ba091ac52815566b54d", "5d668cd227644637bb0fd73ed8118ec8")
|
// api = New("6f8d3290-0120-4ad7-8b53-943c67c84f3f", "789279b9ae814ba091ac52815566b54d", "5d668cd227644637bb0fd73ed8118ec8")
|
||||||
// const cookieValue = "YYJV3NHVBPHLD36FWP6F3EM5PTXJ2XZQS7U4HWRIDPP4IWGUKUIB4XG5N26CZRDLDF7PKOXBPD6BNTUAJLETLZOIWMCVFI3K6MYZIY4QBIXIMXYDJNUKFGJVQTN5356SAD6WPCIHWNQAG7DDMF7L7S3SHCT3RM3CQG7IJIPUQ3THS5UIUYWMKINM7ETUOQB7OBPOPZVCT3ZJY55243TDVXLO25PP4UYSPTTPMNQ7HPMWOJKJ3BJWGVHD243MXH7NZWW264TKN5UOCJBSSSOKD2QQII"
|
// const cookieValue = "YYJV3NHVBPHLD36FWP6F3EM5PTXJ2XZQS7U4HWRIDPP4IWGUKUIB4XG5N26CZRDLDF7PKOXBPD6BNTUAJLETLZOIWMCVFI3K6MYZIY4QBIXIMXYDJNUKFGJVQTN5356SAD6WPCIHWNQAG7DDMF7L7S3SHCT3RM3CQG7IJIPUQ3THS5UIUYWMKINM7ETUOQB7OBPOPZVCT3ZJY55243TDVXLO25PP4UYSPTTPMNQ7HPMWOJKJ3BJWGVHD243MXH7NZWW264TKN5UOCJBSSSOKD2QQII"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package jdapi
|
package jdapi
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
//
|
//
|
||||||
//import (
|
//import (
|
||||||
// "fmt"
|
// "fmt"
|
||||||
@@ -20,15 +22,16 @@ package jdapi
|
|||||||
// baseapi.SugarLogger.Debug(utils.Format4Output(result, false), err)
|
// baseapi.SugarLogger.Debug(utils.Format4Output(result, false), err)
|
||||||
//}
|
//}
|
||||||
//
|
//
|
||||||
//func TestQueryCategoriesByOrgCode(t *testing.T) {
|
func TestQueryCategoriesByOrgCode(t *testing.T) {
|
||||||
// result, err := api.QueryCategoriesByOrgCode()
|
result, err := api.QueryCategoriesByOrgCode()
|
||||||
// if err != nil {
|
if err != nil {
|
||||||
// t.Fatal(err)
|
t.Fatal(err)
|
||||||
// }
|
}
|
||||||
// if len(result) == 0 {
|
if len(result) == 0 {
|
||||||
// t.Fatal("QueryCategoriesByOrgCode category list is empty!")
|
t.Fatal("QueryCategoriesByOrgCode category list is empty!")
|
||||||
// }
|
}
|
||||||
//}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
//func TestQueryChildCategoriesForOP(t *testing.T) {
|
//func TestQueryChildCategoriesForOP(t *testing.T) {
|
||||||
// result, err := api.QueryChildCategoriesForOP(0)
|
// result, err := api.QueryChildCategoriesForOP(0)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package jdapi
|
package jdapi
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"git.rosy.net.cn/baseapi"
|
"git.rosy.net.cn/baseapi"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"testing"
|
"testing"
|
||||||
@@ -97,6 +98,12 @@ func TestGetCorporationInfo2(t *testing.T) {
|
|||||||
baseapi.SugarLogger.Debug(utils.Format4Output(imgList, false))
|
baseapi.SugarLogger.Debug(utils.Format4Output(imgList, false))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestC(t *testing.T) {
|
||||||
|
a := 58
|
||||||
|
a = a | 56
|
||||||
|
fmt.Println(a)
|
||||||
|
}
|
||||||
|
|
||||||
//func TestGetStoreList(t *testing.T) {
|
//func TestGetStoreList(t *testing.T) {
|
||||||
// result, err := api.GetStoreList("104.054195", "30.581782")
|
// result, err := api.GetStoreList("104.054195", "30.581782")
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ type BaseRespInfo struct {
|
|||||||
//计算订单价格请求体
|
//计算订单价格请求体
|
||||||
type GetOrderPriceReq struct {
|
type GetOrderPriceReq struct {
|
||||||
//必填
|
//必填
|
||||||
BaseReqInfo *BaseReqInfo
|
//BaseReqInfo *BaseReqInfo
|
||||||
OriginID string `json:"origin_id"` //第三方对接平台订单id
|
OriginID string `json:"origin_id"` //第三方对接平台订单id
|
||||||
FromAddress string `json:"from_address"` //发货地址
|
FromAddress string `json:"from_address"` //发货地址
|
||||||
ToAddress string `json:"to_address"` //收货人地址
|
ToAddress string `json:"to_address"` //收货人地址
|
||||||
@@ -106,18 +106,18 @@ type GetOrderPriceReq struct {
|
|||||||
FromLat string `json:"from_lat"` //发货地址坐标纬度(坐标系为百度地图坐标系)
|
FromLat string `json:"from_lat"` //发货地址坐标纬度(坐标系为百度地图坐标系)
|
||||||
FromLng string `json:"from_lng"` //发货地址坐标经度(坐标系为百度地图坐标系)
|
FromLng string `json:"from_lng"` //发货地址坐标经度(坐标系为百度地图坐标系)
|
||||||
//非必填
|
//非必填
|
||||||
FromUserNote string `json:"from_usernote"` //发货详细地址具体门牌号或门店名称
|
//FromUserNote string `json:"from_usernote"` //发货详细地址具体门牌号或门店名称
|
||||||
ToUserNote string `json:"to_usernote"` //收货人详细地址具体门牌号
|
//ToUserNote string `json:"to_usernote"` //收货人详细地址具体门牌号
|
||||||
CountyName string `json:"county_name"` //订单所在县级地名称(如金水区就填“金水区”)
|
//CountyName string `json:"county_name"` //订单所在县级地名称(如金水区就填“金水区”)
|
||||||
SubscribeTime string `json:"subscribe_time"` //预约时间(如:2015-06-18 12:00:00)没有可以传空字符串
|
//SubscribeTime string `json:"subscribe_time"` //预约时间(如:2015-06-18 12:00:00)没有可以传空字符串
|
||||||
SubscribeType string `json:"subscribe_type"` //预约类型 0实时订单 1预约取件时间
|
//SubscribeType string `json:"subscribe_type"` //预约类型 0实时订单 1预约取件时间
|
||||||
GoodsType string `json:"goods_type"` //物品类型:(美食、鲜花、蛋糕、手机、钥匙、文件、其他)仅支持指定类型不包含按其他发布
|
//GoodsType string `json:"goods_type"` //物品类型:(美食、鲜花、蛋糕、手机、钥匙、文件、其他)仅支持指定类型不包含按其他发布
|
||||||
CouponID string `json:"coupon_id"` //优惠券ID(如果传入-1就不用优惠券否则系统自动匹配)
|
//CouponID string `json:"coupon_id"` //优惠券ID(如果传入-1就不用优惠券否则系统自动匹配)
|
||||||
CouponType string `json:"coupon_type"` //优惠券类型 默认空 个人优惠券 1=企业优惠券(必须企业帐号才可以使用)
|
//CouponType string `json:"coupon_type"` //优惠券类型 默认空 个人优惠券 1=企业优惠券(必须企业帐号才可以使用)
|
||||||
GoodsWeight int `json:"goods_weight"` //物品重量单位:KG(按城市标准进行超重计费)
|
//GoodsWeight int `json:"goods_weight"` //物品重量单位:KG(按城市标准进行超重计费)
|
||||||
ShopID float64 `json:"shop_id"` //门店编号(门店列表可查看门店编号)
|
//ShopID int64 `json:"shop_id"` //门店编号(门店列表可查看门店编号)
|
||||||
GoodsPrice int `json:"goods_price"` //商品保价:价格(1-10000)按照一定费率收取保价费用
|
//GoodsPrice int `json:"goods_price"` //商品保价:价格(1-10000)按照一定费率收取保价费用
|
||||||
UrgentOrder string `json:"urgent_order"` //加急配送默认不开启(0=正常配送 1=开启加急配送)
|
//UrgentOrder string `json:"urgent_order"` //加急配送默认不开启(0=正常配送 1=开启加急配送)
|
||||||
}
|
}
|
||||||
|
|
||||||
//计算订单价格返回体
|
//计算订单价格返回体
|
||||||
|
|||||||
@@ -42,8 +42,7 @@ func init() {
|
|||||||
//
|
//
|
||||||
//计算运单价格
|
//计算运单价格
|
||||||
func TestGetWaybillPrice(t *testing.T) {
|
func TestGetWaybillPrice(t *testing.T) {
|
||||||
|
param := &GetOrderPriceReq{
|
||||||
needPayMoney, priceToken, err := api.GetOrderPrice(&GetOrderPriceReq{
|
|
||||||
OriginID: "T00001",
|
OriginID: "T00001",
|
||||||
FromAddress: "郑州国际会展中心",
|
FromAddress: "郑州国际会展中心",
|
||||||
ToAddress: "商务外环路17号",
|
ToAddress: "商务外环路17号",
|
||||||
@@ -53,7 +52,9 @@ func TestGetWaybillPrice(t *testing.T) {
|
|||||||
ToLng: "113.736445",
|
ToLng: "113.736445",
|
||||||
FromLat: "34.778494",
|
FromLat: "34.778494",
|
||||||
FromLng: "113.736858",
|
FromLng: "113.736858",
|
||||||
})
|
}
|
||||||
|
price := utils.Struct2Map(param, "", false)
|
||||||
|
needPayMoney, priceToken, err := api.GetOrderPrice(price)
|
||||||
|
|
||||||
fmt.Println(needPayMoney, priceToken, err)
|
fmt.Println(needPayMoney, priceToken, err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ const (
|
|||||||
func (a *API) MakeUURequestHead() map[string]interface{} {
|
func (a *API) MakeUURequestHead() map[string]interface{} {
|
||||||
requestParam := make(map[string]interface{}, 5)
|
requestParam := make(map[string]interface{}, 5)
|
||||||
requestParam["sign"] = a.sign
|
requestParam["sign"] = a.sign
|
||||||
requestParam["timestamp"] = a.timestamp
|
requestParam["timestamp"] = utils.Int64ToStr(time.Now().Unix())
|
||||||
requestParam["nonce_str"] = a.noncestr
|
requestParam["nonce_str"] = randStr()
|
||||||
requestParam["openid"] = a.openid
|
requestParam["openid"] = a.openid
|
||||||
requestParam["appid"] = a.appid
|
requestParam["appid"] = a.appid
|
||||||
return requestParam
|
return requestParam
|
||||||
@@ -54,7 +54,18 @@ func (a *API) signParam(params map[string]interface{}) (sign string) {
|
|||||||
keyValues := make([]string, 0)
|
keyValues := make([]string, 0)
|
||||||
for k, v := range params {
|
for k, v := range params {
|
||||||
if k != signKey {
|
if k != signKey {
|
||||||
if temp := fmt.Sprint(v); temp != "" {
|
temp := fmt.Sprint(v)
|
||||||
|
if k == "goods_weight" && temp == "0" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if k == "shop_id" && temp == "0" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if k == "goods_price" && temp == "0" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if temp != "" {
|
||||||
keyValues = append(keyValues, k+"="+temp)
|
keyValues = append(keyValues, k+"="+temp)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -67,8 +78,6 @@ func (a *API) signParam(params map[string]interface{}) (sign string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *API) AccessAPI(baseUrl, actionApi, method string, bizParams map[string]interface{}) (retVal map[string]interface{}, err error) {
|
func (a *API) AccessAPI(baseUrl, actionApi, method string, bizParams map[string]interface{}) (retVal map[string]interface{}, err error) {
|
||||||
bizParams["timestamp"] = utils.Int64ToStr(time.Now().Unix() * 1000)
|
|
||||||
bizParams["nonce_str"] = randStr()
|
|
||||||
bizParams["sign"] = a.signParam(bizParams)
|
bizParams["sign"] = a.signParam(bizParams)
|
||||||
//序列化
|
//序列化
|
||||||
data, err := json.Marshal(bizParams)
|
data, err := json.Marshal(bizParams)
|
||||||
@@ -86,7 +95,7 @@ func (a *API) AccessAPI(baseUrl, actionApi, method string, bizParams map[string]
|
|||||||
request, _ = http.NewRequest(http.MethodGet, utils.GenerateGetURL(baseUrl, actionApi, bizParams), nil)
|
request, _ = http.NewRequest(http.MethodGet, utils.GenerateGetURL(baseUrl, actionApi, bizParams), nil)
|
||||||
}
|
}
|
||||||
//request.Header.Set("Content-Type", "form-data")
|
//request.Header.Set("Content-Type", "form-data")
|
||||||
request.Header.Set("Content-Type", "application/json")
|
request.Header.Set("Content-Type", "multipart/form-data")
|
||||||
return request
|
return request
|
||||||
}
|
}
|
||||||
//数据解析
|
//数据解析
|
||||||
|
|||||||
@@ -6,14 +6,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
//计算订单价格
|
//计算订单价格
|
||||||
func (a *API) GetOrderPrice(req *GetOrderPriceReq) (needPayMoney, priceToken string, err error) {
|
func (a *API) GetOrderPrice(req map[string]interface{}) (needPayMoney, priceToken string, err error) {
|
||||||
preOrder := a.MakeUURequestHead()
|
preOrder := a.MakeUURequestHead()
|
||||||
bytes, err := json.Marshal(req)
|
resp, err := a.AccessAPI(BaseURL, "getorderprice.ashx", RequestPost, utils.MergeMaps(preOrder, req))
|
||||||
if err != nil {
|
|
||||||
return "", "", err
|
|
||||||
}
|
|
||||||
preOrder["param"] = string(bytes)
|
|
||||||
resp, err := a.AccessAPI(BaseURL, "getorderprice.ashx", RequestPost, preOrder)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", "", err
|
return "", "", err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user