根据excel创建标品优化
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"mime/multipart"
|
"mime/multipart"
|
||||||
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@@ -1759,10 +1760,11 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader) (err error
|
|||||||
"商品条码",
|
"商品条码",
|
||||||
"商品名称",
|
"商品名称",
|
||||||
"单位",
|
"单位",
|
||||||
"规格",
|
"重量(g)",
|
||||||
"售价",
|
"售价",
|
||||||
"错误原因",
|
"错误原因",
|
||||||
}
|
}
|
||||||
|
upcRegexp = regexp.MustCompile(`/^\d{12,13}$/`)
|
||||||
)
|
)
|
||||||
taskSeqFunc := func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
taskSeqFunc := func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
||||||
switch step {
|
switch step {
|
||||||
@@ -1799,7 +1801,7 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader) (err error
|
|||||||
specQuality = float32(utils.Str2Float64(cell))
|
specQuality = float32(utils.Str2Float64(cell))
|
||||||
}
|
}
|
||||||
if k == 4 {
|
if k == 4 {
|
||||||
price = int(utils.Str2Float64(cell) * 100)
|
price = int(utils.Str2Float64(cell))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1821,9 +1823,15 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader) (err error
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
if v.Upc != nil {
|
if v.Upc != nil {
|
||||||
|
upc := upcRegexp.FindString(*v.Upc)
|
||||||
|
if upc == "" {
|
||||||
|
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "请输入正确的商品条码!"))
|
||||||
|
continue
|
||||||
|
}
|
||||||
skuName.Upc = v.Upc
|
skuName.Upc = v.Upc
|
||||||
} else {
|
} else {
|
||||||
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "商品的条码不能为空!"))
|
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "商品的条码不能为空!"))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
skuNames, _ := dao.GetSkuNames(db, nil, []string{*v.Upc}, "")
|
skuNames, _ := dao.GetSkuNames(db, nil, []string{*v.Upc}, "")
|
||||||
if len(skuNames) > 0 {
|
if len(skuNames) > 0 {
|
||||||
@@ -1838,7 +1846,7 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader) (err error
|
|||||||
if len(productInfos) == 0 {
|
if len(productInfos) == 0 {
|
||||||
result, _ := api.AliUpcAPI.GetAliUpcInfo(*v.Upc)
|
result, _ := api.AliUpcAPI.GetAliUpcInfo(*v.Upc)
|
||||||
if result == nil {
|
if result == nil {
|
||||||
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "暂不支持创建此商品!"))
|
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "未在标品库查到此商品,请手动创建!"))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if result.Img != "" {
|
if result.Img != "" {
|
||||||
@@ -1870,7 +1878,7 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader) (err error
|
|||||||
}
|
}
|
||||||
if v.Price == 0 {
|
if v.Price == 0 {
|
||||||
if result.Price == "" {
|
if result.Price == "" {
|
||||||
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "商品的售价不能为空!"))
|
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "未查询到商品售价,请补充商品的售价!"))
|
||||||
continue
|
continue
|
||||||
} else {
|
} else {
|
||||||
skuName.Price = int(utils.Str2Int64(result.Price) * 100)
|
skuName.Price = int(utils.Str2Int64(result.Price) * 100)
|
||||||
@@ -1881,14 +1889,14 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader) (err error
|
|||||||
if v.Unit != "" {
|
if v.Unit != "" {
|
||||||
skuName.Unit = v.Unit
|
skuName.Unit = v.Unit
|
||||||
} else {
|
} else {
|
||||||
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "商品的单位不能为空!"))
|
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "未查询到商品单位,请补充商品单位!"))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if v.SpecQuality != 0 {
|
if v.SpecQuality != 0 {
|
||||||
skuName.Skus[0].SpecQuality = v.SpecQuality
|
skuName.Skus[0].SpecQuality = v.SpecQuality
|
||||||
skuName.Skus[0].Weight = int(utils.Str2Int64(utils.Float64ToStr(float64(v.SpecQuality))))
|
skuName.Skus[0].Weight = int(utils.Str2Int64(utils.Float64ToStr(float64(v.SpecQuality))))
|
||||||
} else {
|
} else {
|
||||||
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "商品的重量不能为空!"))
|
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "未查询到商品重量,请补充商品重量!"))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
skuName.Skus[0].SpecUnit = model.SpecialSpecUnit
|
skuName.Skus[0].SpecUnit = model.SpecialSpecUnit
|
||||||
@@ -1911,7 +1919,7 @@ func CreateUpcSkuByExcelBin(ctx *jxcontext.Context, reader io.Reader) (err error
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if result.Price == "" {
|
if result.Price == "" {
|
||||||
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "商品的售价不能为空!"))
|
createUpcSkuByExcelErrList = append(createUpcSkuByExcelErrList, buildCreateUpcSkuByExcelErr(v, "未查询到商品售价,请补充商品售价!"))
|
||||||
continue
|
continue
|
||||||
} else {
|
} else {
|
||||||
skuName.Price = int(utils.Str2Int64(result.Price) * 100)
|
skuName.Price = int(utils.Str2Int64(result.Price) * 100)
|
||||||
|
|||||||
Reference in New Issue
Block a user