From 71bb175e4522184fa14a0c2f0b71d36499748d0d Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Mon, 12 Aug 2019 18:18:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=A4=E5=88=97?= =?UTF-8?q?=EF=BC=88=E5=BE=85=E5=88=9B=E5=BB=BA=EF=BC=8C=E5=BE=85=E5=88=A0?= =?UTF-8?q?=E9=99=A4=EF=BC=89=EF=BC=8C=E4=B8=8D=E6=AF=94=E8=BE=83=E5=BE=85?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E4=B8=94=E4=B8=8D=E5=8F=AF=E5=94=AE=E7=9A=84?= =?UTF-8?q?=E4=BA=AC=E8=A5=BF=E5=95=86=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku_check.go | 48 +++++++++++++++++-------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/business/jxstore/cms/store_sku_check.go b/business/jxstore/cms/store_sku_check.go index 131b504c4..cf60d861c 100644 --- a/business/jxstore/cms/store_sku_check.go +++ b/business/jxstore/cms/store_sku_check.go @@ -19,7 +19,8 @@ import ( ) const ( - canWriteTolocal = false + canWriteTolocal = !false + isFilterToBeCreateAndNotSale = !false parallelCount = 5 fileExt = ".xlsx" ) @@ -40,6 +41,8 @@ var ( "门店名", "SkuID", "同步状态", + "待创建", + "待删除", "京西商品名", "平台商品名", "京西可售状态", @@ -63,6 +66,8 @@ type DiffData struct { VendorStoreName string `json:"门店名"` SkuID string `json:"SkuID"` SyncStatus string `json:"同步状态"` + ToBeCreate string `json:"待创建"` + ToBeDel string `json:"待删除"` JxSkuName string `json:"京西商品名"` VendorSkuName string `json:"平台商品名"` JxStatus string `json:"京西可售状态"` @@ -156,7 +161,7 @@ func GetFilterMultiStoreSkuInfoMap(vendorID int, skuInfoList []*partner.StoreSku return filterSkuInfoMap } -func GetSkuStatusName(status int) string { +func GetSkuSaleStatusName(status int) string { return model.SkuStatusName[status] } @@ -164,44 +169,57 @@ func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName strin for skuID, jxSkuInfo := range filterJxSkuInfoMap { skuIDStr := utils.Int2Str(skuID) jxSkuDetailName := jxutils.ComposeSkuName(jxSkuInfo.SkuName.Prefix, jxSkuInfo.SkuName.Name, jxSkuInfo.Skus2[0].Comment, jxSkuInfo.SkuName.Unit, jxSkuInfo.Skus2[0].SkuSpecQuality, jxSkuInfo.Skus2[0].SkuSpecUnit, 0) - jxSkuStatus := jxutils.MergeSkuStatus(jxSkuInfo.Skus2[0].SkuStatus, jxSkuInfo.Skus2[0].StoreSkuStatus) - jxSkuStatusName := GetSkuStatusName(jxSkuStatus) + jxSkuSaleStatus := jxutils.MergeSkuStatus(jxSkuInfo.Skus2[0].SkuStatus, jxSkuInfo.Skus2[0].StoreSkuStatus) + jxSkuSaleStatusName := GetSkuSaleStatusName(jxSkuSaleStatus) vendorSkuInfo := filterVendorSkuInfoMap[skuID] - syncStatus := "" + var status int8 if vendorID == model.VendorIDMTWM { - syncStatus = utils.Int2Str(int(jxSkuInfo.Skus2[0].MtwmSyncStatus)) + status = jxSkuInfo.Skus2[0].MtwmSyncStatus } else if vendorID == model.VendorIDEBAI { - syncStatus = utils.Int2Str(int(jxSkuInfo.Skus2[0].EbaiSyncStatus)) + status = jxSkuInfo.Skus2[0].EbaiSyncStatus } else if vendorID == model.VendorIDJD { - syncStatus = utils.Int2Str(int(jxSkuInfo.Skus2[0].JdSyncStatus)) + status = jxSkuInfo.Skus2[0].JdSyncStatus } + syncStatus := utils.Int2Str(int(status)) + toBeCreate := "否" + if model.IsSyncStatusNeedCreate(status) { + toBeCreate = "是" + } + toBeDel := "否" + if model.IsSyncStatusNeedDelete(status) { + toBeDel = "是" + } + if vendorSkuInfo != nil { vendorSkuDetailName := vendorSkuInfo.SkuList[0].SkuName - vendorSkuStatusName := GetSkuStatusName(vendorSkuInfo.SkuList[0].Status) + vendorSkuSaleStatusName := GetSkuSaleStatusName(vendorSkuInfo.SkuList[0].Status) - isStatusDiff := jxSkuStatusName != vendorSkuStatusName + isSaleStatusDiff := jxSkuSaleStatusName != vendorSkuSaleStatusName + if isFilterToBeCreateAndNotSale && model.IsSyncStatusNeedCreate(status) && jxSkuSaleStatus != model.SkuStatusNormal { + continue + } isNameDiff := jxSkuDetailName != vendorSkuDetailName if jxSkuDetailName != "" && vendorSkuDetailName != "" && strings.Contains(jxSkuDetailName, vendorSkuDetailName) { isNameDiff = false } - if isStatusDiff || isNameDiff { - outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, syncStatus, jxSkuDetailName, vendorSkuDetailName, jxSkuStatusName, vendorSkuStatusName} + if isSaleStatusDiff || isNameDiff { + outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, syncStatus, toBeCreate, toBeDel, jxSkuDetailName, vendorSkuDetailName, jxSkuSaleStatusName, vendorSkuSaleStatusName} diffData.AppendData(vendorID, outPutData) } } else { - outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, syncStatus, jxSkuDetailName, "", jxSkuStatusName, ""} + outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, syncStatus, toBeCreate, toBeDel, jxSkuDetailName, "", jxSkuSaleStatusName, ""} diffData.AppendData(vendorID, outPutData) } } for skuID, vendorSkuInfo := range filterVendorSkuInfoMap { skuIDStr := utils.Int2Str(skuID) vendorSkuDetailName := vendorSkuInfo.SkuList[0].SkuName - vendorSkuStatusName := GetSkuStatusName(vendorSkuInfo.SkuList[0].Status) + vendorSkuSaleStatusName := GetSkuSaleStatusName(vendorSkuInfo.SkuList[0].Status) jxSkuInfo := filterJxSkuInfoMap[skuID] if jxSkuInfo == nil { - outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, "", "", vendorSkuDetailName, "", vendorSkuStatusName} + outPutData := DiffData{storeIDStr, vendorStoreID, storeName, skuIDStr, "", "", "", "", vendorSkuDetailName, "", vendorSkuSaleStatusName} diffData.AppendData(vendorID, outPutData) } } From 90f6b8b82b907e39c84a0a9cfab64d260eec11b7 Mon Sep 17 00:00:00 2001 From: Rosy-zhudan Date: Mon, 12 Aug 2019 18:23:32 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=85=B3=E9=97=AD=E5=86=99=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku_check.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku_check.go b/business/jxstore/cms/store_sku_check.go index cf60d861c..f3122f2a2 100644 --- a/business/jxstore/cms/store_sku_check.go +++ b/business/jxstore/cms/store_sku_check.go @@ -19,7 +19,7 @@ import ( ) const ( - canWriteTolocal = !false + canWriteTolocal = false isFilterToBeCreateAndNotSale = !false parallelCount = 5 fileExt = ".xlsx"