diff --git a/business/jxstore/cms/store_sku_check.go b/business/jxstore/cms/store_sku_check.go index 131b504c4..f3122f2a2 100644 --- a/business/jxstore/cms/store_sku_check.go +++ b/business/jxstore/cms/store_sku_check.go @@ -20,6 +20,7 @@ import ( const ( 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) } }