- 京东活动API重构

This commit is contained in:
gazebo
2019-05-14 18:29:58 +08:00
parent 0531866805
commit a574019688
2 changed files with 40 additions and 82 deletions

View File

@@ -47,49 +47,30 @@ type OpenPlatActivityQResponse struct {
} `json:"stationBeanList"`
}
type PromotionSkuResult struct {
LimitDaily int
LimitDevice int
LimitPin int
PlatformRatio int
PromotionPrice int
SkuId int64
StationNo int64
StoreRatio int
}
type PromotionInfo struct {
BeginTime time.Time
EndTime time.Time
PromotionInfoId int64
PromotionState int
PromotionType int
Source string
SkuResultList []*PromotionSkuResult
type PromotionLspQuerySkuResult struct {
BeginTime *utils.JavaDate `json:"beginTime"`
EndTime *utils.JavaDate `json:"endTime"`
LimitDaily int `json:"limitDaily"`
LimitDevice int `json:"limitDevice"`
LimitPin int `json:"limitPin"`
PlatformRatio int `json:"platformRatio"`
PromotionPrice int `json:"promotionPrice"`
PromotionState int `json:"promotionState"`
PromotionType int `json:"promotionType"`
SkuID int64 `json:"skuId"`
Source string `json:"source"`
StationNo int64 `json:"stationNo"`
StoreRatio int `json:"storeRatio"`
}
type PromotionLspQueryInfoResult struct {
BeginTime *utils.JavaDate `json:"beginTime"`
EndTime *utils.JavaDate `json:"endTime"`
PromotionInfoID int `json:"promotionInfoId"`
PromotionState int `json:"promotionState"`
PromotionType int `json:"promotionType"`
SkuResultList []struct {
BeginTime *utils.JavaDate `json:"beginTime"`
EndTime *utils.JavaDate `json:"endTime"`
LimitDaily int `json:"limitDaily"`
LimitDevice int `json:"limitDevice"`
LimitPin int `json:"limitPin"`
PlatformRatio int `json:"platformRatio"`
PromotionPrice int `json:"promotionPrice"`
PromotionState int `json:"promotionState"`
PromotionType int `json:"promotionType"`
SkuId int64 `json:"skuId"`
Source string `json:"source"`
StationNo int64 `json:"stationNo"`
StoreRatio int `json:"storeRatio"`
} `json:"skuResultList"`
Source string `json:"source"`
BeginTime *utils.JavaDate `json:"beginTime"`
EndTime *utils.JavaDate `json:"endTime"`
PromotionInfoID int64 `json:"promotionInfoId"`
PromotionState int `json:"promotionState"`
PromotionType int `json:"promotionType"`
SkuResultList []*PromotionLspQuerySkuResult `json:"skuResultList"`
Source string `json:"source"`
}
func (a *API) OrderDiscountQueryActivityInfoById(activityID int64, promotionType, state int, operator string) (response *OpenPlatActivityQResponse, err error) {
@@ -110,43 +91,7 @@ func (a *API) OrderDiscountQueryActivityInfoById(activityID int64, promotionType
return response, err
}
func (a *API) QueryPromotionInfo(promotionInfoId int64) (promotionInfo *PromotionInfo, err error) {
jdParams := map[string]interface{}{
"promotionInfoId": promotionInfoId,
}
result, err := a.AccessAPINoPage("singlePromote/queryPromotionInfo", jdParams, nil, nil, genNoPageResultParser("errorCode", "errorInfos", "data", "0"))
if err == nil {
data := result.(map[string]interface{})
// baseapi.SugarLogger.Debug(utils.Format4Output(data, false))
promotionInfo = &PromotionInfo{
BeginTime: utils.Timestamp2Time(utils.MustInterface2Int64(data["beginTime"].(map[string]interface{})["time"]) / 1000),
EndTime: utils.Timestamp2Time(utils.MustInterface2Int64(data["endTime"].(map[string]interface{})["time"]) / 1000),
PromotionInfoId: utils.MustInterface2Int64(data["promotionInfoId"]),
PromotionState: int(utils.MustInterface2Int64(data["promotionState"])),
PromotionType: int(utils.MustInterface2Int64(data["promotionType"])),
Source: utils.Interface2String(data["source"]),
}
skuResultList := data["skuResultList"].([]interface{})
promotionInfo.SkuResultList = make([]*PromotionSkuResult, len(skuResultList))
for k, v := range skuResultList {
skuResult := v.(map[string]interface{})
promotionInfo.SkuResultList[k] = &PromotionSkuResult{
LimitDaily: int(utils.MustInterface2Int64(skuResult["limitDaily"])),
LimitDevice: int(utils.MustInterface2Int64(skuResult["limitDevice"])),
LimitPin: int(utils.MustInterface2Int64(skuResult["limitPin"])),
PlatformRatio: int(utils.MustInterface2Int64(skuResult["platformRatio"])),
PromotionPrice: int(utils.MustInterface2Int64(skuResult["promotionPrice"])),
SkuId: utils.MustInterface2Int64(skuResult["skuId"]),
StationNo: utils.MustInterface2Int64(skuResult["stationNo"]),
StoreRatio: int(utils.MustInterface2Int64(skuResult["storeRatio"])),
}
}
return promotionInfo, nil
}
return nil, err
}
func (a *API) QueryPromotionInfo2(promotionInfoId int64) (promotionInfo *PromotionLspQueryInfoResult, err error) {
func (a *API) QueryPromotionInfo(promotionInfoId int64) (promotionInfo *PromotionLspQueryInfoResult, err error) {
jdParams := map[string]interface{}{
"promotionInfoId": promotionInfoId,
}