- CreatePromotionByExcel

This commit is contained in:
gazebo
2018-10-14 12:47:17 +08:00
parent b158fd09ea
commit 8b34b12a6e
4 changed files with 187 additions and 19 deletions

View File

@@ -2,6 +2,7 @@ package controllers
import (
"errors"
"io"
"github.com/astaxie/beego"
@@ -43,9 +44,43 @@ func (c *PromotionController) CreatePromotion() {
}
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))
retVal, err = promotion.CreateJdPromotion(false, params.IsAsync, promotionParams, GetUserNameFromToken(params.Token))
}
}
return retVal, "", err
})
}
// @Param token header string true "认证token"
// @Title 发送文件给门店
// @Description 发送文件给门店调用GET方法得到浏览器端参考的上传HTML实现userfiles
// @Param type formData int true "是否异步,缺省是同步"
// @Param isAsync formData bool false "是否异常,缺省否(暂时只支持同步)"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CreatePromotionByExcel [post,get]
func (c *PromotionController) CreatePromotionByExcel() {
if c.Ctx.Input.IsGet() {
w := c.Ctx.ResponseWriter
// 上传页面
w.Header().Add("Content-Type", "text/html")
w.WriteHeader(200)
html := `
<form enctype="multipart/form-data" action="/v2/promotion/CreatePromotionByExcel" method="POST">
Send this file: <input name="userfile" accept="*.xlsx" type="file" />
<input type="text" name="type" />
<input type="text" name="isAsync" />
<input type="submit" value="Send File" />
</form>
`
io.WriteString(w, html)
} else if c.Ctx.Input.IsPost() {
c.callCreatePromotionByExcel(func(params *tPromotionCreatePromotionByExcelParams) (retVal interface{}, errCode string, err error) {
r := c.Ctx.Request
files := r.MultipartForm.File["userfile"]
retVal, err = promotion.CreatePromotionByExcel(params.IsAsync, params.Type, files[0], "userName") //GetUserNameFromToken(params.Token))
return retVal, "", err
})
}
}