Accept Merge Request #80: (yonghui -> mark)

Merge Request: 根据Excel修改京西价修改
Created By: @苏尹岚
Accepted By: @苏尹岚
URL: https://rosydev.coding.net/p/jx-callback/d/jx-callback/git/merge/80
This commit is contained in:
苏尹岚
2019-12-12 17:44:30 +08:00

View File

@@ -2182,6 +2182,7 @@ func RefreshJxPriceByExcelBin(ctx *jxcontext.Context, storeIDs []int, reader io.
skuBindInfoList []*StoreSkuBindInfo skuBindInfoList []*StoreSkuBindInfo
errMsg string errMsg string
isErr bool = false isErr bool = false
nameMap = make(map[string]string)
) )
dataLock.dataFailedList = dataLock.dataFailedList[0:0] dataLock.dataFailedList = dataLock.dataFailedList[0:0]
dataLock.dataSuccessList = dataLock.dataSuccessList[0:0] dataLock.dataSuccessList = dataLock.dataSuccessList[0:0]
@@ -2196,6 +2197,7 @@ func RefreshJxPriceByExcelBin(ctx *jxcontext.Context, storeIDs []int, reader io.
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 {
case 0: case 0:
// xlsx, err := excelize.OpenFile("111.xlsx")
xlsx, err := excelize.OpenReader(reader) xlsx, err := excelize.OpenReader(reader)
if err != nil { if err != nil {
return "", err return "", err
@@ -2206,7 +2208,7 @@ func RefreshJxPriceByExcelBin(ctx *jxcontext.Context, storeIDs []int, reader io.
continue continue
} }
storeSkuNamePrice := &model.StoreSkuNamePrice{} storeSkuNamePrice := &model.StoreSkuNamePrice{}
errMsg += GetCellIntoStruct(rowNum, row, sheetParam, storeSkuNamePrice) errMsg += GetCellIntoStruct(rowNum, row, sheetParam, storeSkuNamePrice, nameMap)
storeSkuNamePriceList = append(storeSkuNamePriceList, storeSkuNamePrice) storeSkuNamePriceList = append(storeSkuNamePriceList, storeSkuNamePrice)
} }
if errMsg != "" { if errMsg != "" {
@@ -2380,8 +2382,7 @@ func StoreSkuNamePriceList2Map(ctx *jxcontext.Context, storeSkuNamePriceList []*
return result return result
} }
func GetCellIntoStruct(rowNum int, row []string, sheetParam *SheetParam, storeSkuNamePrice *model.StoreSkuNamePrice) (errMsg string) { func GetCellIntoStruct(rowNum int, row []string, sheetParam *SheetParam, storeSkuNamePrice *model.StoreSkuNamePrice, nameMap map[string]string) (errMsg string) {
var nameMap = make(map[string]string)
for k, cell := range row { for k, cell := range row {
if k == sheetParam.OutSkuIDCol { if k == sheetParam.OutSkuIDCol {
if IsChineseChar(cell) { if IsChineseChar(cell) {
@@ -2398,16 +2399,16 @@ func GetCellIntoStruct(rowNum int, row []string, sheetParam *SheetParam, storeSk
if cellReplace[len(cellReplace)-1:len(cellReplace)] == "," { if cellReplace[len(cellReplace)-1:len(cellReplace)] == "," {
cellReplace = cellReplace[0 : len(cellReplace)-1] cellReplace = cellReplace[0 : len(cellReplace)-1]
} }
} nameIDs := strings.Split(cellReplace, ",")
storeSkuNamePrice.NameIDGroup = cellReplace for _, v := range nameIDs {
nameIDs := strings.Split(cellReplace, ",") if nameMap[v] != "" {
for _, v := range nameIDs { return fmt.Sprintf(" Excel中含有重复的nameID[%v]列,[%v]行nameID [%v]\n", k+1, rowNum+1, v)
if nameMap[v] != "" { } else {
return fmt.Sprintf("Excel中含有重复的nameID[%v]列,[%v]行nameID [%v]", k+1, rowNum+1, v) nameMap[v] = v
} else { }
nameMap[v] = v
} }
} }
storeSkuNamePrice.NameIDGroup = cellReplace
} }
if k == sheetParam.SkuPriceCol { if k == sheetParam.SkuPriceCol {
if IsChineseChar(cell) { if IsChineseChar(cell) {