aa
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -214,6 +214,50 @@ func (a *API) AccessAPI2(cmd string, isGet bool, bizParams map[string]interface{
|
||||
return retVal, err
|
||||
}
|
||||
|
||||
func (a *API) AccessAPI3(cmd string, isGet bool, bizParams map[string]interface{}) (retVal interface{}, err error) {
|
||||
params := make(map[string]interface{})
|
||||
params["timestamp"] = time.Now().Unix()
|
||||
params["app_id"] = a.appID
|
||||
params = utils.MergeMaps(params, bizParams)
|
||||
signURL := a.genURL(cmd) + "?"
|
||||
params[signKey] = a.signParams(signURL, params)
|
||||
err = platformapi.AccessPlatformAPIWithRetry(a.client,
|
||||
func() *http.Request {
|
||||
var request *http.Request
|
||||
if isGet {
|
||||
fullURL := utils.GenerateGetURL(apiURL, cmd, params)
|
||||
// baseapi.SugarLogger.Debug(fullURL)
|
||||
request, _ = http.NewRequest(http.MethodGet, fullURL, nil)
|
||||
} else {
|
||||
fullURL := a.genURL(cmd)
|
||||
// baseapi.SugarLogger.Debug(utils.Map2URLValues(params).Encode())
|
||||
request, _ = http.NewRequest(http.MethodPost, fullURL, strings.NewReader(utils.Map2URLValues(params).Encode()))
|
||||
request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
|
||||
request.Header.Set("charset", "UTF-8")
|
||||
}
|
||||
// request.Close = true //todo 为了性能考虑还是不要关闭
|
||||
return request
|
||||
},
|
||||
a.config,
|
||||
func(response *http.Response, bodyStr string, jsonResult1 map[string]interface{}) (errLevel string, err error) {
|
||||
if jsonResult1 == nil {
|
||||
return platformapi.ErrLevelRecoverableErr, fmt.Errorf("mapData is nil")
|
||||
}
|
||||
// 不管有无错误,都尝试取得数据(因为有出错,但有有效数据返回的情况),比如ecommerce/order/getOrderIdByDaySeq
|
||||
retVal = jsonResult1
|
||||
if errObj, ok := jsonResult1["data"]; ok {
|
||||
errorInfo := errObj.(string)
|
||||
if errorInfo != "ok" {
|
||||
baseapi.SugarLogger.Debugf("mtwm AccessAPI failed, jsonResult1:%s", utils.Format4Output(jsonResult1, true))
|
||||
newErr := utils.NewErrorIntCode(jsonResult1["error_list"].([]interface{})[0].(map[string]interface{})["msg"].(string), int(utils.MustInterface2Int64(jsonResult1["error_list"].([]interface{})[0].(map[string]interface{})["code"])))
|
||||
return errLevel, newErr
|
||||
}
|
||||
}
|
||||
return platformapi.ErrLevelSuccess, nil
|
||||
})
|
||||
return retVal, err
|
||||
}
|
||||
|
||||
func (a *API) AccessAPI(cmd string, isGet bool, bizParams map[string]interface{}) (retVal interface{}, err error) {
|
||||
return a.AccessAPI2(cmd, isGet, bizParams, resultKeyData, "")
|
||||
}
|
||||
|
||||
@@ -244,9 +244,12 @@ type MultiPoiShippingInfo struct {
|
||||
}
|
||||
|
||||
//https://open-shangou.meituan.com/home/docDetail/530
|
||||
func (a *API) PoiSettleSave(poiSettleSaveParam *PoiSettleSaveParam) (err error) {
|
||||
_, err = a.AccessAPI("ecommerce/poi/settle/multi/save", false, utils.Struct2FlatMap(poiSettleSaveParam))
|
||||
return err
|
||||
func (a *API) PoiSettleSave(poiSettleSaveParam *PoiSettleSaveParam) (vendorStoreID string, err error) {
|
||||
result, err := a.AccessAPI3("ecommerce/poi/settle/multi/save", false, utils.Struct2FlatMap(poiSettleSaveParam))
|
||||
if err == nil {
|
||||
vendorStoreID = result.(map[string]interface{})["success_list"].([]interface{})[0].(map[string]interface{})["app_poi_code"].(string)
|
||||
}
|
||||
return vendorStoreID, err
|
||||
}
|
||||
|
||||
type PoiSettleCategoryListResult struct {
|
||||
|
||||
Reference in New Issue
Block a user