From 4a6ada20c45fe26d44571549fd555637aef63274 Mon Sep 17 00:00:00 2001 From: gazebo Date: Fri, 22 Nov 2019 16:59:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=B5=8B=E8=AF=95=E6=B8=A9?= =?UTF-8?q?=E6=B1=9F=E7=9B=B4=E8=90=A5=E5=BA=97SKU=E4=B8=8E=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E8=87=AA=E5=8A=A8=E5=8A=A0=E5=A4=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/mtwm/store_sku2.go | 36 ++++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/business/partner/purchase/mtwm/store_sku2.go b/business/partner/purchase/mtwm/store_sku2.go index 74766b407..7c33a2dda 100644 --- a/business/partner/purchase/mtwm/store_sku2.go +++ b/business/partner/purchase/mtwm/store_sku2.go @@ -1,6 +1,7 @@ package mtwm import ( + "fmt" "regexp" "strings" @@ -25,6 +26,8 @@ const ( const ( defVendorCatID = 200001903 // 生菜 + + specialStoreID = "8171010" ) var ( @@ -197,12 +200,35 @@ func (p *PurchaseHandler) IsErrSkuNotExist(err error) (isNotExist bool) { return mtwmapi.IsErrSkuNotExist(err) } +func duplicateStoreSkuList(storeSkuList []*dao.StoreSkuSyncInfo, index int) (newStoreSkuList []*dao.StoreSkuSyncInfo) { + newStoreSkuList = make([]*dao.StoreSkuSyncInfo, len(storeSkuList)) + for k, v := range storeSkuList { + tmp := *v + tmp.SkuName = fmt.Sprintf("%s.%d", tmp.SkuName, index+1) + tmp.SkuID = index*1000000 + tmp.SkuID + newStoreSkuList[k] = &tmp + } + return newStoreSkuList +} + func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (successList []*dao.StoreSkuSyncInfo, err error) { - return p.createOrUpdateStoreSkus(ctx, storeID, vendorStoreID, storeSkuList, false) + successList, err = p.createOrUpdateStoreSkus(ctx, storeID, vendorStoreID, storeSkuList, false) + if err == nil && vendorStoreID == specialStoreID { + for i := 0; i < 2; i++ { + p.createOrUpdateStoreSkus(ctx, storeID, vendorStoreID, duplicateStoreSkuList(storeSkuList, i), true) + } + } + return successList, err } func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*dao.StoreSkuSyncInfo) (successList []*dao.StoreSkuSyncInfo, err error) { - return p.createOrUpdateStoreSkus(ctx, storeID, vendorStoreID, storeSkuList, true) + successList, err = p.createOrUpdateStoreSkus(ctx, storeID, vendorStoreID, storeSkuList, true) + if err == nil && vendorStoreID == specialStoreID { + for i := 0; i < 2; i++ { + p.createOrUpdateStoreSkus(ctx, storeID, vendorStoreID, duplicateStoreSkuList(storeSkuList, i), true) + } + } + return successList, err } // 对于多门店平台来说,storeSkuList中只有SkuID与VendorSkuID有意义 @@ -235,7 +261,11 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI foodData["category_name"] = storeSku.VendorCatID } foodData["is_sold_out"] = skuStatusJX2Mtwm(storeSku.MergedStatus) - foodData["picture"] = strings.Join(jxutils.BatchString2Slice(storeSku.Img, storeSku.Img2), ",") + if vendorStoreID == specialStoreID { + foodData["picture"] = strings.Join(jxutils.BatchString2Slice(storeSku.Img, storeSku.Img, storeSku.Img, storeSku.Img, storeSku.Img), ",") + } else { + foodData["picture"] = strings.Join(jxutils.BatchString2Slice(storeSku.Img, storeSku.Img2), ",") + } if storeSku.DescImg != "" { foodData["picture_contents"] = storeSku.DescImg }