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

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) {
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

View File

@@ -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)

View File

@@ -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
}