From a07e84c776944c4ba3986de2a319cc0ebae40ebe Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 25 Jul 2019 11:27:20 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E5=90=8C=E6=AD=A5=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E9=97=A8=E5=BA=97=E5=95=86=E5=93=81=E6=97=B6=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E9=87=8D=E6=96=B0=E8=AE=BE=E7=BD=AE=E5=85=B6=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 19 ++++++++++++------- business/partner/purchase/mtwm/store_sku.go | 6 ++++-- business/partner/purchase/mtwm/store_sku2.go | 3 --- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 681d7b7fa..32e1f6176 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -204,16 +204,21 @@ func formalizeStoreSkuList(inSkuList []*dao.StoreSkuSyncInfo) []*dao.StoreSkuSyn } func sku2Update(vendorID int, sku *dao.StoreSkuSyncInfo, syncStatus int8) (item *dao.KVUpdateItem) { - if syncStatus&(model.SyncFlagDeletedMask|model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 { - sku.StoreSkuSyncStatus = 0 - } else { - sku.StoreSkuSyncStatus = sku.StoreSkuSyncStatus & ^syncStatus - } kvs := map[string]interface{}{ dao.GetSyncStatusStructField(model.VendorNames[vendorID]): sku.StoreSkuSyncStatus, } - if syncStatus == model.SyncFlagNewMask { - kvs[dao.GetVendorThingIDStructField(model.VendorNames[vendorID])] = sku.VendorSkuID + if syncStatus&(model.SyncFlagDeletedMask|model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 { + sku.StoreSkuSyncStatus = 0 + if model.IsSyncStatusNew(syncStatus) { + kvs[dao.GetVendorThingIDStructField(model.VendorNames[vendorID])] = sku.VendorSkuID + } else if model.IsSyncStatusDelete(syncStatus) { + // todo 在storeSkuBind的DeletedAt为空时,应该设置,但当前sku.DeletedAt不是storeSkuBind的 + // if utils.IsTimeZero(sku.DeletedAt) { + // kvs[model.FieldDeletedAt] = time.Now() + // } + } + } else { + sku.StoreSkuSyncStatus = sku.StoreSkuSyncStatus & ^syncStatus } storeSku := &model.StoreSkuBind{} storeSku.ID = sku.BindID diff --git a/business/partner/purchase/mtwm/store_sku.go b/business/partner/purchase/mtwm/store_sku.go index 351394694..886e02845 100644 --- a/business/partner/purchase/mtwm/store_sku.go +++ b/business/partner/purchase/mtwm/store_sku.go @@ -281,8 +281,10 @@ func (p *PurchaseHandler) syncStoreSkus(ctx *jxcontext.Context, parentTask tasks } } if err == nil { - storeSkuBind.DeletedAt = time.Now() - updateFields = append(updateFields, model.FieldDeletedAt) + if utils.IsTimeZero(storeSkuBind.DeletedAt) { + storeSkuBind.DeletedAt = time.Now() + updateFields = append(updateFields, model.FieldDeletedAt) + } if !dao.IsVendorThingIDEmpty(skuItem.VendorSkuID) { storeSkuBind.MtwmID = 0 updateFields = append(updateFields, model.FieldMtwmID) diff --git a/business/partner/purchase/mtwm/store_sku2.go b/business/partner/purchase/mtwm/store_sku2.go index 1365023f7..3db317c23 100644 --- a/business/partner/purchase/mtwm/store_sku2.go +++ b/business/partner/purchase/mtwm/store_sku2.go @@ -199,9 +199,6 @@ func (p *PurchaseHandler) DeleteStoreSkus(ctx *jxcontext.Context, storeID int, v // todo 部分失败 err = api.MtwmAPI.RetailCatSkuBatchDelete(vendorStoreID, nil, nil, partner.BareStoreSkuInfoList(storeSkuList).GetVendorSkuIDList()) } - if mtwmapi.IsErrSkuNotExist(err) { - err = nil - } } return nil, err }