- 同步删除门店商品时,不重新设置其删除时间

This commit is contained in:
gazebo
2019-07-25 11:27:20 +08:00
parent 89c7ab2d44
commit a07e84c776
3 changed files with 16 additions and 12 deletions

View File

@@ -204,16 +204,21 @@ func formalizeStoreSkuList(inSkuList []*dao.StoreSkuSyncInfo) []*dao.StoreSkuSyn
} }
func sku2Update(vendorID int, sku *dao.StoreSkuSyncInfo, syncStatus int8) (item *dao.KVUpdateItem) { 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{}{ kvs := map[string]interface{}{
dao.GetSyncStatusStructField(model.VendorNames[vendorID]): sku.StoreSkuSyncStatus, dao.GetSyncStatusStructField(model.VendorNames[vendorID]): sku.StoreSkuSyncStatus,
} }
if syncStatus == model.SyncFlagNewMask { if syncStatus&(model.SyncFlagDeletedMask|model.SyncFlagNewMask|model.SyncFlagModifiedMask) != 0 {
kvs[dao.GetVendorThingIDStructField(model.VendorNames[vendorID])] = sku.VendorSkuID 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 := &model.StoreSkuBind{}
storeSku.ID = sku.BindID storeSku.ID = sku.BindID

View File

@@ -281,8 +281,10 @@ func (p *PurchaseHandler) syncStoreSkus(ctx *jxcontext.Context, parentTask tasks
} }
} }
if err == nil { if err == nil {
storeSkuBind.DeletedAt = time.Now() if utils.IsTimeZero(storeSkuBind.DeletedAt) {
updateFields = append(updateFields, model.FieldDeletedAt) storeSkuBind.DeletedAt = time.Now()
updateFields = append(updateFields, model.FieldDeletedAt)
}
if !dao.IsVendorThingIDEmpty(skuItem.VendorSkuID) { if !dao.IsVendorThingIDEmpty(skuItem.VendorSkuID) {
storeSkuBind.MtwmID = 0 storeSkuBind.MtwmID = 0
updateFields = append(updateFields, model.FieldMtwmID) updateFields = append(updateFields, model.FieldMtwmID)

View File

@@ -199,9 +199,6 @@ func (p *PurchaseHandler) DeleteStoreSkus(ctx *jxcontext.Context, storeID int, v
// todo 部分失败 // todo 部分失败
err = api.MtwmAPI.RetailCatSkuBatchDelete(vendorStoreID, nil, nil, partner.BareStoreSkuInfoList(storeSkuList).GetVendorSkuIDList()) err = api.MtwmAPI.RetailCatSkuBatchDelete(vendorStoreID, nil, nil, partner.BareStoreSkuInfoList(storeSkuList).GetVendorSkuIDList())
} }
if mtwmapi.IsErrSkuNotExist(err) {
err = nil
}
} }
return nil, err return nil, err
} }