This commit is contained in:
苏尹岚
2020-11-18 18:10:16 +08:00
parent 3e870f57a1
commit 81816ee60d
10 changed files with 260 additions and 29 deletions

View File

@@ -65,15 +65,20 @@ func (a *API) AccessStorePage(fullURL string, bizParams map[string]interface{},
return retVal, err
}
func (a *API) AccessStorePage2(fullURL string, bizParams map[string]interface{}) (retVal map[string]interface{}, err error) {
func (a *API) AccessStorePage2(fullURL string, bizParams map[string]interface{}, isPost bool) (retVal map[string]interface{}, err error) {
if a.GetCookieCount() == 0 {
return nil, fmt.Errorf("需要设置Store Cookie才能使用此方法")
}
data, _ := json.Marshal(bizParams)
err = platformapi.AccessPlatformAPIWithRetry(a.client,
func() *http.Request {
request, _ := http.NewRequest(http.MethodPost, fullURL, strings.NewReader(string(data)))
request.Header.Set("Content-Type", "application/json;charset=UTF-8")
var request *http.Request
if isPost {
request, _ = http.NewRequest(http.MethodPost, fullURL, strings.NewReader(string(data)))
request.Header.Set("Content-Type", "application/json;charset=UTF-8")
} else {
request, _ = http.NewRequest(http.MethodGet, utils.GenerateGetURL(fullURL, "", bizParams), nil)
}
a.FillRequestCookies(request)
return request
},
@@ -209,7 +214,7 @@ func (a *API) NewInfoList(storeID int64) (newInfoListResult *NewInfoListResult,
"exStoreId": nil,
"storeName": nil,
"storeStatus": nil,
})
}, true)
if err == nil {
utils.Map2StructByJson(result["list"], &newInfoListResult2, false)
}
@@ -381,7 +386,7 @@ func (a *API) AllOrders(allOrdersParam *AllOrdersParam) (allOrdersResult *AllOrd
// "storeId": allOrdersParam.StoreID,
"orderStatusArray": allOrdersParam.OrderStatusArray,
"orderId": allOrdersParam.OrderID,
})
}, true)
if err == nil {
utils.Map2StructByJson(result, &allOrdersResult, false)
}
@@ -477,7 +482,7 @@ func (a *API) UpdateWaybill(orderId, logiId, logiNo string) (err error) {
"orderId": orderId,
"globalOrder": false,
"waybillList": waybiilList,
})
}, true)
return err
}
@@ -551,3 +556,129 @@ func (a *API) JdSSO() (err error) {
_, err = a.AccessStorePage("https://sso.jd.com/setCookie?t=https://seller.shop.jd.com/seller/sellerinfo/seller_info.action&callback=https://seller.shop.jd.com/seller/sellerinfo/seller_info.action", nil, false)
return err
}
type UpdateBasicParam struct {
Version string `json:"version"`
Source string `json:"source"`
RequestID int64 `json:"requestId"`
StoreID int `json:"storeId"`
StoreName string `json:"storeName"`
CategoryID2 int `json:"categoryId2"`
Lng string `json:"lng"`
Lat string `json:"lat"`
Coordinate string `json:"coordinate"`
BussinessBeginTime string `json:"bussinessBeginTime"`
BussinessEndTime string `json:"bussinessEndTime"`
ImgURL string `json:"imgUrl"`
StorePhone string `json:"storePhone"`
AddName string `json:"addName"`
AddCode1 int `json:"addCode1"`
AddCode2 int `json:"addCode2"`
AddCode3 int `json:"addCode3"`
CategoryID1 int `json:"categoryId1"`
QualificationRequests []*QualificationRequests `json:"qualificationRequests"`
}
type QualificationRequests struct {
QualificationID int `json:"qualificationId"`
QualificationName string `json:"qualificationName"`
Time []string `json:"time,omitempty"`
StartTime string `json:"startTime,omitempty"`
EndingTime string `json:"endingTime,omitempty"`
QualificationNo string `json:"qualificationNo,omitempty"`
QualificationURL string `json:"qualificationUrl,omitempty"`
}
//更新门店信息
//https://porder.shop.jd.com/order/orderlist/allOrders
func (a *API) UpdateBasic(updateBasicParam *UpdateBasicParam) (err error) {
reqID := time.Now().Unix()
_, err = a.AccessStorePage2("https://o2o-stores.shop.jd.com/shop/updateBasic?version=1.0.0&source=pc&requestId="+utils.Int64ToStr(reqID), map[string]interface{}{
"storeId": updateBasicParam.StoreID,
"qualificationRequests": updateBasicParam.QualificationRequests,
"storeName": updateBasicParam.StoreName,
"categoryId2": updateBasicParam.CategoryID2,
"lng": updateBasicParam.Lng,
"lat": updateBasicParam.Lat,
"coordinate": updateBasicParam.Coordinate,
"bussinessBeginTime": updateBasicParam.BussinessBeginTime,
"bussinessEndTime": updateBasicParam.BussinessEndTime,
"imgUrl": updateBasicParam.ImgURL,
"storePhone": updateBasicParam.StorePhone,
"addName": updateBasicParam.AddName,
"addCode1": updateBasicParam.AddCode1,
"addCode2": updateBasicParam.AddCode2,
"addCode3": updateBasicParam.AddCode3,
"categoryId1": updateBasicParam.CategoryID1,
"version": "1.0.0",
"source": "pc",
"requestId": reqID,
}, true)
return err
}
type ShopDetailResult struct {
StoreID int `json:"storeId"`
StoreName string `json:"storeName"`
CategoryID2 int `json:"categoryId2"`
Coordinate string `json:"coordinate"`
BussinessBeginTime string `json:"bussinessBeginTime"`
BussinessEndTime string `json:"bussinessEndTime"`
ImgURL string `json:"imgUrl"`
Slogan interface{} `json:"slogan"`
StorePhone string `json:"storePhone"`
CustomerPhone interface{} `json:"customerPhone"`
StoreMobile interface{} `json:"storeMobile"`
AddCode1 int `json:"addCode1"`
AddCode2 int `json:"addCode2"`
AddCode3 int `json:"addCode3"`
AddCode4 int `json:"addCode4"`
AddName string `json:"addName"`
QualificationInfoTOList []struct {
QualificationID int `json:"qualificationId"`
QualificationNo string `json:"qualificationNo"`
QualificationName string `json:"qualificationName"`
StartTime string `json:"startTime"`
EndingTime string `json:"endingTime"`
QualificationURL string `json:"qualificationUrl"`
} `json:"qualificationInfoTOList"`
Created string `json:"created"`
Modified string `json:"modified"`
FlowID int `json:"flowId"`
CategoryID1 int `json:"categoryId1"`
CategoryName1 string `json:"categoryName1"`
CategoryName2 interface{} `json:"categoryName2"`
AuditTime interface{} `json:"auditTime"`
}
//查询门店信息
//https://porder.shop.jd.com/order/orderlist/allOrders
func (a *API) ShopDetail(storeID int) (shopDetailResult *ShopDetailResult, err error) {
reqID := time.Now().Unix()
result, err := a.AccessStorePage2("https://o2o-stores.shop.jd.com/shop/detail", map[string]interface{}{
"t": reqID,
"storeId": storeID,
"version": "1.0.0",
"source": "pc",
"requestId": reqID,
}, false)
if err == nil {
utils.Map2StructByJson(result["data"], &shopDetailResult, false)
}
return shopDetailResult, err
}
//更新门店起送等
//https://porder.shop.jd.com/order/orderlist/allOrders
func (a *API) UpdateExpand(storeID int) (err error) {
reqID := time.Now().Unix()
_, err = a.AccessStorePage2("https://o2o-stores.shop.jd.com/shop/updateExpand?version=1.0.0&source=pc&requestId="+utils.Int64ToStr(reqID), map[string]interface{}{
"storeId": storeID,
"deliveryPrice": 10,
"weightLimit": 30,
"version": "1.0.0",
"source": "pc",
"requestId": reqID,
}, true)
return err
}