新增查询京东商场结算价

This commit is contained in:
苏尹岚
2020-05-08 11:02:34 +08:00
parent c13dfba758
commit c638575d8b
3 changed files with 141 additions and 0 deletions

View File

@@ -30,6 +30,7 @@ func init() {
// const cookieValue = "YYJV3NHVBPHLD36FWP6F3EM5PTXJ2XZQS7U4HWRIDPP4IWGUKUIB4XG5N26CZRDLDF7PKOXBPD6BNTUAJLETLZOIWMCVFI3K6MYZIY4QBIXIMXYDJNUKFGJVQTN5356SAD6WPCIHWNQAG7DDMF7L7S3SHCT3RM3CQG7IJIPUQ3THS5UIUYWMKINM7ETUOQB7OBPOPZVCT3ZJY55243TDVXLO25PP4UYSPTTPMNQ7HPMWOJKJ3BJWGVHD243MXH7NZWW264TKN5UOCJBSSSOKD2QQII"
const cookieValue = "YYJV3NHVBPHLD36FWP6F3EM5PTXJ2XZQS7U4HWRIDPP4IWGUKUIB4XG5N26CZRDLDF7PKOXBPD6BNTUAJLETLZOIWMCVFI3K6MYZIY4QBIXIMXYDJNUKFGJVQTN5356SAD6WPCIHWNQAG7DDMF7L7S3SHD6O37OTAHUCKU6ALXATYTGMHNFLM4XRLVSFUQAJR77M4URSZRKVO55243TDVXLO25PP4UYSPTTPMNRUFXDNP4WPE566Q6V4AH32F7HT"
api.SetJdCookie(cookieValue)
api.SetCookie("user", "VCQUVHVJI4ELNGFZOYMCDYDUSHEJMPXZRZXSNBRB4MVBNENP72REAAZR3R4SGDJ5ZI4FLYLLN5EGBBMTFCWHZVESIWBNLKZPLHWD6UIBTPXOF5IXM6AVA3V6TUNZD5UJS43AROJ2IRPZWEN5AGZYBUEGD3MSKKBKBSRP3DSEQXLITYNBLFZCHXCA7L4KGOSJRMM7R5IQP7QGLGRQB27AOE4YMLRJ3UPTZADPWJOYB3UZ7UZHLBVZRREEX647O3WQUU4BYXUOFZPIPRR77W3PQV543E")
}
func TestTest(t *testing.T) {

View File

@@ -424,6 +424,59 @@ func (a *API) AccessStorePage2(fullURL string, params map[string]interface{}, is
return retVal, err
}
func (a *API) AccessStorePage3(fullURL string, params map[string]interface{}, resultKey string) (retVal interface{}, err error) {
if a.GetCookieCount() == 0 {
return nil, fmt.Errorf("需要设置Store Cookie才能使用此方法")
}
err = platformapi.AccessPlatformAPIWithRetry(a.client,
func() *http.Request {
request, _ := http.NewRequest(http.MethodGet, utils.GenerateGetURL(fullURL, "", params), nil)
if err != nil {
return nil
}
a.FillRequestCookies(request)
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")
}
retVal = jsonResult1
var errMsg string
code, ok := jsonResult1["resultCode"].(string)
if !ok {
if statusMap, ok := jsonResult1["status"].(map[string]interface{}); !ok {
if jsonResult1["operTag"] != nil {
return platformapi.ErrLevelSuccess, nil
}
return platformapi.ErrLevelGeneralFail, utils.NewErrorCode(utils.Format4Output(jsonResult1, true), "999")
} else {
code = utils.Int64ToStr(utils.ForceInterface2Int64(statusMap["errorCode"]))
errMsg = utils.Interface2String(statusMap["message"])
}
} else {
errMsg = utils.Interface2String(jsonResult1["msg"])
}
if code == "200" {
if resultKey != "" {
retVal = jsonResult1[resultKey]
}
return platformapi.ErrLevelSuccess, nil
}
newErr := utils.NewErrorCode(errMsg, code)
if _, ok := pageExceedLimitCodes[code]; ok {
return platformapi.ErrLevelExceedLimit, newErr
} else if _, ok := pageCanRetryCodes[code]; ok {
return platformapi.ErrLevelRecoverableErr, newErr
} else {
baseapi.SugarLogger.Debugf("jd AccessStorePage failed, jsonResult1:%s", utils.Format4Output(jsonResult1, true))
return platformapi.ErrLevelCodeIsNotOK, newErr
}
})
return retVal, err
}
func (a *API) AccessStorePage(fullURL string, params map[string]interface{}, isPost bool) (retVal map[string]interface{}, err error) {
result, err := a.AccessStorePage2(fullURL, params, isPost, ResultKeyResult)
if err == nil {
@@ -942,3 +995,82 @@ func (a *API) UpdateClosetStatus(jdStoreID, closeStatus int) (err error) {
_, err = a.AccessStorePage2("https://sta-store.jddj.com/store/updateClosetStatus", jdParams, true, "")
return err
}
type GetJdShopOrdersResult struct {
SummaryDueAmount float64 `json:"summaryDueAmount"`
BillList struct {
Result []struct {
OrderTypeCode int `json:"orderTypeCode"`
PayChannelName string `json:"payChannelName"`
BaseCommissionInvoiceFee int `json:"baseCommissionInvoiceFee"`
TieredCommissionInvoiceFee int `json:"tieredCommissionInvoiceFee"`
OrderID int64 `json:"orderId"`
Subsidy float64 `json:"subsidy"`
SettleStatus string `json:"settleStatus"`
PaymentSubsidies float64 `json:"paymentSubsidies"`
DeliveryTypeStr string `json:"deliveryTypeStr"`
PackageBill float64 `json:"packageBill"`
StoreFreightSubsidy float64 `json:"storeFreightSubsidy"`
OfflineSettlementAmount float64 `json:"offlineSettlementAmount"`
EffectiveGMV int `json:"effectiveGMV"`
TieredCommissionFee int `json:"tieredCommissionFee"`
OrgCode int `json:"orgCode"`
AfsAmount int `json:"afsAmount"`
StationName string `json:"stationName"`
Commission float64 `json:"commission"`
ID int `json:"id"`
WithdrawID string `json:"withdrawId"`
BusinessFinishTime int64 `json:"businessFinishTime"`
StationID int `json:"stationId"`
SettleOrderIDStr string `json:"settleOrderIdStr"`
FreightBill int `json:"freightBill"`
GiftcardBill int `json:"giftcardBill"`
OrgName string `json:"orgName"`
OrderSourceName string `json:"orderSourceName"`
PickupServiceAmount float64 `json:"pickupServiceAmount"`
RelationID int `json:"relationId"`
GoodsBill float64 `json:"goodsBill"`
SettleOrderID int64 `json:"settleOrderId"`
MarketBill float64 `json:"marketBill"`
StoreFreightAmount float64 `json:"storeFreightAmount"`
BusinessStartTime int64 `json:"businessStartTime"`
OriginalAmount float64 `json:"originalAmount"`
DueAmount float64 `json:"dueAmount"`
BillOrderType int `json:"billOrderType"`
StoreSubsidy float64 `json:"storeSubsidy"`
AccountTime string `json:"accountTime"`
PickupAmount float64 `json:"pickupAmount"`
SettleFinishTime int `json:"settleFinishTime"`
BaseCommissionFee int `json:"baseCommissionFee"`
} `json:"result"`
Total int `json:"total"`
Pages int `json:"pages"`
StartRow int `json:"startRow"`
PageSize int `json:"pageSize"`
EndRow int `json:"endRow"`
PageNum int `json:"pageNum"`
} `json:"billList"`
SummaryGoodsBill float64 `json:"summaryGoodsBill"`
CurrentDueAmount float64 `json:"currentDueAmount"`
SummaryPositiveAmount float64 `json:"summaryPositiveAmount"`
CurrentGoodsBill float64 `json:"currentGoodsBill"`
}
//获取京东商城订单结算价
//https://dfsc.imdada.cn/settle/search/daoJiaBillList
func (a *API) GetJdShopOrders(orderStartTime, orderEndTime, orgCode, loginName string) (getJdShopOrdersResult *GetJdShopOrdersResult, err error) {
jdParams := map[string]interface{}{
"orgCode": orgCode,
"orderStartTime": orderStartTime,
"orderEndTime": orderEndTime,
"pageNum": 1,
"pageSize": 100,
"loginName": loginName,
"jdFusion": true,
}
result, err := a.AccessStorePage3("https://dfsc.imdada.cn/settle/search/daoJiaBillList", jdParams, "")
if err == nil {
utils.Map2StructByJson(result.(map[string]interface{})["content"], &getJdShopOrdersResult, false)
}
return getJdShopOrdersResult, err
}

View File

@@ -264,3 +264,11 @@ func TestUpdateClosetStatus(t *testing.T) {
err := api.UpdateClosetStatus(801246, 1)
fmt.Println("test1", err)
}
func TestGetJdShopOrders(t *testing.T) {
result, err := api.GetJdShopOrders("20200506", "20200508", "320406", "jd_jxcs1223")
if err != nil {
t.Fatal(err)
}
t.Log(utils.Format4Output(result, false))
}