错误信息超长
This commit is contained in:
@@ -1,8 +1,11 @@
|
|||||||
package act
|
package act
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io"
|
||||||
"math"
|
"math"
|
||||||
|
"mime/multipart"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
@@ -1300,3 +1303,42 @@ func SyncSpecialAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model
|
|||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func CreateActByExcel(ctx *jxcontext.Context, files []*multipart.FileHeader, vendorID int, vendorOrgCode string, mixType int, isFocus, isSync, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||||
|
if len(files) == 0 {
|
||||||
|
return "", errors.New("没有文件上传!")
|
||||||
|
}
|
||||||
|
fileHeader := files[0]
|
||||||
|
file, err := fileHeader.Open()
|
||||||
|
hint, err = CreateActByExcelBin(ctx, file, vendorID, vendorOrgCode, mixType, isFocus, isSync, isAsync, isContinueWhenError)
|
||||||
|
file.Close()
|
||||||
|
return hint, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func CreateActByExcelBin(ctx *jxcontext.Context, reader io.Reader, vendorID int, vendorOrgCode string, mixType int, isFocus, isSync, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||||
|
taskSeqFunc := func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
||||||
|
switch step {
|
||||||
|
case 0:
|
||||||
|
//读取excel文件
|
||||||
|
// xlsx, err := excelize.OpenReader(reader)
|
||||||
|
// if err != nil {
|
||||||
|
// return "", err
|
||||||
|
// }
|
||||||
|
// rows, _ := xlsx.GetRows(xlsx.GetSheetName(1))
|
||||||
|
// for rowNum, row := range rows {
|
||||||
|
|
||||||
|
// }
|
||||||
|
case 1:
|
||||||
|
}
|
||||||
|
return result, err
|
||||||
|
}
|
||||||
|
taskSeq := tasksch.NewSeqTask2("根据Excel创建活动-序列任务", ctx, isContinueWhenError, taskSeqFunc, 5)
|
||||||
|
tasksch.HandleTask(taskSeq, nil, true).Run()
|
||||||
|
if !isAsync {
|
||||||
|
_, err = taskSeq.GetResult(0)
|
||||||
|
hint = "1"
|
||||||
|
} else {
|
||||||
|
hint = taskSeq.GetID()
|
||||||
|
}
|
||||||
|
return hint, err
|
||||||
|
}
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ func AddOperateEvent(ctx *jxcontext.Context, accessUUID, jsonData string, errCod
|
|||||||
}
|
}
|
||||||
jsonData = strings.ReplaceAll(jsonData, regexpToken.FindString(jsonData), "")
|
jsonData = strings.ReplaceAll(jsonData, regexpToken.FindString(jsonData), "")
|
||||||
jsonData = utils.LimitUTF8StringLen(jsonData, 3200)
|
jsonData = utils.LimitUTF8StringLen(jsonData, 3200)
|
||||||
|
errMsg = utils.LimitUTF8StringLen(errMsg, 3200)
|
||||||
event := &model.OperateEvent{
|
event := &model.OperateEvent{
|
||||||
CreatedAt: time.Now(),
|
CreatedAt: time.Now(),
|
||||||
LastOperator: ctx.GetUserName(),
|
LastOperator: ctx.GetUserName(),
|
||||||
|
|||||||
@@ -330,3 +330,25 @@ func (c *ActController) ForceUpdateVendorPrice() {
|
|||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Title 通过Excel创建活动
|
||||||
|
// @Description 通过Excel创建活动
|
||||||
|
// @Param token header string true "认证token"
|
||||||
|
// @Param vendorID formData int true "厂商ID,当前只支持,京东:0,京西(用于记录活动信息):99"
|
||||||
|
// @Param vendorOrgCode formData string false "厂商内组织代码"
|
||||||
|
// @Param mixType formData int true "数据处理方式:1(一行一条数据)2(门店与商品相乘)"
|
||||||
|
// @Param isFocus formData bool true "是否批量关注可售所有商品,默认是"
|
||||||
|
// @Param isSync formData bool true "是否同步所有未同步的商品,默认是"
|
||||||
|
// @Param isAsync formData bool false "是否异步"
|
||||||
|
// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false"
|
||||||
|
// @Success 200 {object} controllers.CallResult
|
||||||
|
// @Failure 200 {object} controllers.CallResult
|
||||||
|
// @router /CreateActByExcel [post]
|
||||||
|
func (c *ActController) CreateActByExcel() {
|
||||||
|
c.callCreateActByExcel(func(params *tActCreateActByExcelParams) (retVal interface{}, errCode string, err error) {
|
||||||
|
r := c.Ctx.Request
|
||||||
|
files := r.MultipartForm.File["userfiles"]
|
||||||
|
retVal, err = act.CreateActByExcel(params.Ctx, files, params.VendorID, params.VendorOrgCode, params.MixType, params.IsFocus, params.IsSync, params.IsAsync, params.IsContinueWhenError)
|
||||||
|
return retVal, "", err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -25,6 +25,15 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
|
||||||
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"],
|
||||||
|
beego.ControllerComments{
|
||||||
|
Method: "CreateActByExcel",
|
||||||
|
Router: `/CreateActByExcel`,
|
||||||
|
AllowHTTPMethods: []string{"post"},
|
||||||
|
MethodParams: param.Make(),
|
||||||
|
Filters: nil,
|
||||||
|
Params: nil})
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"],
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "DeleteSkusFromAct",
|
Method: "DeleteSkusFromAct",
|
||||||
|
|||||||
Reference in New Issue
Block a user