158 lines
5.1 KiB
Go
158 lines
5.1 KiB
Go
package ebaiapi
|
||
|
||
import (
|
||
"git.rosy.net.cn/baseapi/utils"
|
||
)
|
||
|
||
const (
|
||
PageActivityShowStatusWaiting = 3 // 待生效
|
||
PageActivityShowStatusOnGoing = 4 // 进行中
|
||
PageActivityShowStatusEnded = 5 // 已结束
|
||
|
||
PageActivityStatusWaiting = 1 // 待生效
|
||
PageActivityStatusOnGoing = 2 // 进行中
|
||
PageActivityStatusEnded = 3 // 结束
|
||
|
||
PageActivityTypeSkuDiscount = 64 // 商品折扣
|
||
PageActivityTypeSkuSpecialPrice = 32 // 商品特价
|
||
PageActivityTypeSkuDirectDown = 2 // 商品直降
|
||
)
|
||
|
||
type PageActItem struct {
|
||
ActivityID string `json:"activity_id"`
|
||
ActivityName string `json:"activity_name"`
|
||
ActivityType int `json:"activity_type"`
|
||
ActivityPlatform string `json:"activity_platform"`
|
||
StartTime int64 `json:"start_time"`
|
||
EndTime int64 `json:"end_time"`
|
||
User string `json:"user"`
|
||
Status int `json:"status"`
|
||
StopTime int64 `json:"stop_time"`
|
||
CreatorType int `json:"creator_type"`
|
||
CreateTime int64 `json:"create_time"`
|
||
ChildType string `json:"child_type"`
|
||
CreatedAt string `json:"created_at"`
|
||
ShopNum int `json:"shop_num,omitempty"`
|
||
IsCanDelete int `json:"is_can_delete"`
|
||
IsRisk int `json:"is_risk"`
|
||
StopShopCount int `json:"stop_shop_count"`
|
||
SkuImportStatus int `json:"sku_import_status"`
|
||
}
|
||
|
||
type PageActListInfo struct {
|
||
Total int `json:"total"`
|
||
Curpage int `json:"curpage"`
|
||
Perpage int `json:"perpage"`
|
||
ActivityList []*PageActItem `json:"activity_list"`
|
||
}
|
||
|
||
type PageActSku struct {
|
||
ID string `json:"id"`
|
||
ActivityID string `json:"activity_id"`
|
||
ActivityType int `json:"activity_type"`
|
||
SkuID string `json:"sku_id"`
|
||
SupplierID int `json:"supplier_id"`
|
||
Wid int64 `json:"wid"`
|
||
ShopName string `json:"shop_name"`
|
||
UpcID string `json:"upc_id"`
|
||
Upc string `json:"upc"`
|
||
UpcName string `json:"upc_name"`
|
||
OriginalPrice float64 `json:"original_price"`
|
||
PromotionPrice float64 `json:"promotion_price"`
|
||
FreeSkuName string `json:"free_sku_name"`
|
||
PlatformSubsidy string `json:"platform_subsidy"`
|
||
ShopSubsidy string `json:"shop_subsidy"`
|
||
Stock int `json:"stock"`
|
||
Status int `json:"status"`
|
||
CreateTime int64 `json:"create_time"`
|
||
UpdateTime int64 `json:"update_time"`
|
||
RejectReason string `json:"reject_reason"`
|
||
SupplierName string `json:"supplier_name"`
|
||
IsRecruit string `json:"is_recruit"`
|
||
Cat1ID string `json:"cat1_id"`
|
||
Cat2ID string `json:"cat2_id"`
|
||
Cat3ID string `json:"cat3_id"`
|
||
WeightFlag string `json:"weight_flag"`
|
||
RealStock int `json:"real_stock"`
|
||
Photos string `json:"photos"`
|
||
ActivityTotal int `json:"activity_total"`
|
||
}
|
||
type PageActivityInfo struct {
|
||
Total int `json:"total"`
|
||
List []*PageActSku `json:"list"`
|
||
IsCanDelete int `json:"is_can_delete"`
|
||
Curpage int `json:"curpage"`
|
||
Perpage int `json:"perpage"`
|
||
}
|
||
|
||
func (a *API) BegetActivityList(showStatus, activityType int, baiduShopID, supplierID int64) (actList []*PageActItem, err error) {
|
||
// pageSize := 20
|
||
// pageNo := 1
|
||
// params := map[string]interface{}{
|
||
// "perpage": pageSize,
|
||
// "show_status": showStatus,
|
||
// "activity_type": activityType, //不设置这个值,缺省为:PageActivityTypeSkuDirectDown
|
||
// }
|
||
// if baiduShopID > 0 {
|
||
// params["wid"] = baiduShopID
|
||
// }
|
||
// if supplierID > 0 {
|
||
// params[KeySupplierID] = supplierID
|
||
// }
|
||
// for {
|
||
// params["curpage"] = pageNo
|
||
// retVal, err2 := a.AccessStorePage("commodity/activity/begetactivitylist", "", params, false)
|
||
// if err = err2; err == nil {
|
||
// var listInfo *PageActListInfo
|
||
// if err = utils.Map2StructByJson(retVal, &listInfo, true); err != nil {
|
||
// return nil, err
|
||
// }
|
||
// if listInfo != nil {
|
||
// actList = append(actList, listInfo.ActivityList...)
|
||
// }
|
||
// if listInfo == nil || len(actList) >= listInfo.Total {
|
||
// return actList, nil
|
||
// }
|
||
// pageNo++
|
||
// } else {
|
||
// return nil, err
|
||
// }
|
||
// }
|
||
return nil, err
|
||
}
|
||
|
||
func (a *API) BegetActSkuList(activityID, baiduShopID, supplierID int64) (actSkuList []*PageActSku, err error) {
|
||
pageSize := 100
|
||
pageNo := 1
|
||
params := map[string]interface{}{
|
||
"perpage": pageSize,
|
||
"activity_id": activityID,
|
||
}
|
||
if baiduShopID > 0 {
|
||
params["wid"] = baiduShopID
|
||
}
|
||
if supplierID > 0 {
|
||
params["wid"] = supplierID
|
||
}
|
||
for {
|
||
params["curpage"] = pageNo
|
||
retVal, err2 := a.AccessStorePage("commodity/activity/begetactskulist", "", params, false)
|
||
if err = err2; err == nil {
|
||
var pageActivityInfo *PageActivityInfo
|
||
if err = utils.Map2StructByJson(retVal, &pageActivityInfo, true); err != nil {
|
||
return nil, err
|
||
}
|
||
if pageActivityInfo != nil {
|
||
actSkuList = append(actSkuList, pageActivityInfo.List...)
|
||
}
|
||
if pageActivityInfo == nil || len(actSkuList) >= pageActivityInfo.Total {
|
||
return actSkuList, nil
|
||
}
|
||
pageNo++
|
||
} else {
|
||
return nil, err
|
||
}
|
||
}
|
||
return nil, err
|
||
}
|