- CreatePromotion
This commit is contained in:
51
controllers/promotion.go
Normal file
51
controllers/promotion.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/astaxie/beego"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/promotion"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
)
|
||||
|
||||
type PromotionController struct {
|
||||
beego.Controller
|
||||
}
|
||||
|
||||
// @Title 创建促销
|
||||
// @Description 创建促销
|
||||
// @Param token header string true "认证token"
|
||||
// @Param vendorID formData int true "厂商ID,当前只支持京东:0 "
|
||||
// @Param name formData string true "促销名,必须唯一(所以名子上最好带上日期)"
|
||||
// @Param beginAt formData string true "开始时间"
|
||||
// @Param endAt formData string true "结束时间"
|
||||
// @Param type formData int true "促销类型,3:直降,4:限时抢购"
|
||||
// @Param storeIDs formData string true "json数据,storeID列表[1,2,3]"
|
||||
// @Param skuPrices formData string true "json数据,价格信息列表"
|
||||
// @Param isAsync formData bool false "是否异常,缺省否(暂时只支持同步)"
|
||||
// @Param advertising formData string false "广告语"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /CreatePromotion [post]
|
||||
func (c *PromotionController) CreatePromotion() {
|
||||
c.callCreatePromotion(func(params *tPromotionCreatePromotionParams) (retVal interface{}, errCode string, err error) {
|
||||
if params.VendorID != model.VendorIDJD {
|
||||
return nil, "", errors.New("当前只支持创建京东促销")
|
||||
}
|
||||
promotionParams := &promotion.PromotionParams{
|
||||
Name: params.Name,
|
||||
BeginAt: utils.Str2Time(params.BeginAt),
|
||||
EndAt: utils.Str2Time(params.EndAt),
|
||||
Type: params.Type,
|
||||
Advertising: params.Advertising,
|
||||
}
|
||||
if err = utils.UnmarshalUseNumber([]byte(params.StoreIDs), &promotionParams.StoreIDs); err == nil {
|
||||
if err = utils.UnmarshalUseNumber([]byte(params.SkuPrices), &promotionParams.SkuPrices); err == nil {
|
||||
retVal, err = promotion.CreateJdPromotion(params.IsAsync, promotionParams, GetUserNameFromToken(params.Token))
|
||||
}
|
||||
}
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user