From 2a090b473d40292720c934191641abd3b3dff8b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 12 Dec 2019 17:43:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AEExcel=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=BA=AC=E8=A5=BF=E4=BB=B7=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku.go | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 732e10625..d7e4771ab 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -2182,6 +2182,7 @@ func RefreshJxPriceByExcelBin(ctx *jxcontext.Context, storeIDs []int, reader io. skuBindInfoList []*StoreSkuBindInfo errMsg string isErr bool = false + nameMap = make(map[string]string) ) dataLock.dataFailedList = dataLock.dataFailedList[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) { switch step { case 0: + // xlsx, err := excelize.OpenFile("111.xlsx") xlsx, err := excelize.OpenReader(reader) if err != nil { return "", err @@ -2206,7 +2208,7 @@ func RefreshJxPriceByExcelBin(ctx *jxcontext.Context, storeIDs []int, reader io. continue } storeSkuNamePrice := &model.StoreSkuNamePrice{} - errMsg += GetCellIntoStruct(rowNum, row, sheetParam, storeSkuNamePrice) + errMsg += GetCellIntoStruct(rowNum, row, sheetParam, storeSkuNamePrice, nameMap) storeSkuNamePriceList = append(storeSkuNamePriceList, storeSkuNamePrice) } if errMsg != "" { @@ -2380,8 +2382,7 @@ func StoreSkuNamePriceList2Map(ctx *jxcontext.Context, storeSkuNamePriceList []* return result } -func GetCellIntoStruct(rowNum int, row []string, sheetParam *SheetParam, storeSkuNamePrice *model.StoreSkuNamePrice) (errMsg string) { - var nameMap = make(map[string]string) +func GetCellIntoStruct(rowNum int, row []string, sheetParam *SheetParam, storeSkuNamePrice *model.StoreSkuNamePrice, nameMap map[string]string) (errMsg string) { for k, cell := range row { if k == sheetParam.OutSkuIDCol { if IsChineseChar(cell) { @@ -2398,16 +2399,16 @@ func GetCellIntoStruct(rowNum int, row []string, sheetParam *SheetParam, storeSk if cellReplace[len(cellReplace)-1:len(cellReplace)] == "," { cellReplace = cellReplace[0 : len(cellReplace)-1] } - } - storeSkuNamePrice.NameIDGroup = cellReplace - nameIDs := strings.Split(cellReplace, ",") - for _, v := range nameIDs { - if nameMap[v] != "" { - return fmt.Sprintf("Excel中含有重复的nameID![%v]列,[%v]行,nameID [%v]", k+1, rowNum+1, v) - } else { - nameMap[v] = v + nameIDs := strings.Split(cellReplace, ",") + for _, v := range nameIDs { + if nameMap[v] != "" { + return fmt.Sprintf(" Excel中含有重复的nameID![%v]列,[%v]行,nameID [%v]\n", k+1, rowNum+1, v) + } else { + nameMap[v] = v + } } } + storeSkuNamePrice.NameIDGroup = cellReplace } if k == sheetParam.SkuPriceCol { if IsChineseChar(cell) {