- try to fix delete jd spu.

This commit is contained in:
gazebo
2018-12-11 13:16:00 +08:00
parent f7c5e089ff
commit d9b6b3868e

View File

@@ -254,7 +254,7 @@ func (p *PurchaseHandler) UpdateSku(db *dao.DaoDB, sku *model.Sku, userName stri
func (p *PurchaseHandler) DeleteSku(db *dao.DaoDB, sku *model.Sku, userName string) (err error) {
params := map[string]interface{}{
jdapi.KeyFixedStatus: 4,
jdapi.KeyFixedStatus: jdapi.SkuFixedStatusDeleted,
}
sql := `
SELECT t2.*
@@ -333,7 +333,7 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
}
if sku.JdSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除SKU
err = api.JdAPI.UpdateSkuBaseInfo(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), utils.Params2Map(jdapi.KeyFixedStatus, 4))
err = api.JdAPI.UpdateSkuBaseInfo(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusDeleted))
} else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 && skuExt.JdSyncStatus&model.SyncFlagNewMask == 0 { // 非首次新增SKU
if globals.EnableStoreWrite {
vendorSkuID2, err2 := api.JdAPI.AppendSku(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), skuExt.JdCategoryID, shopCategories, skuExt.BrandID, skuName, price, jxutils.IntWeight2Float(sku.Weight), []string{skuExt.Img}, jxStatus2jdStatus(sku.Status), true, addParams)
@@ -364,11 +364,13 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
var count struct {
Ct int
}
if err = dao.GetRow(db, &count, sql, sku.NameID, model.SyncFlagDeletedMask); err != nil {
if err = dao.GetRow(db, &count, sql, sku.NameID, model.SkuStatusDeleted); err != nil {
return "", err
}
if (count.Ct == 0 || count.Ct == 1 && sku.JdSyncStatus&model.SyncFlagDeletedMask != 0) && globals.EnableStoreWrite { // 1就是最后删的那个
err = api.JdAPI.UpdateSpu(utils.Int2Str(skuExt.ID), utils.Params2Map(jdapi.KeyFixedStatus, 4))
if err = api.JdAPI.UpdateSpu(utils.Int2Str(skuExt.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusOffline)); err == nil {
err = api.JdAPI.UpdateSpu(utils.Int2Str(skuExt.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusDeleted))
}
}
} else if skuExt.JdSyncStatus&model.SyncFlagNewMask != 0 {
if globals.EnableStoreWrite {
@@ -417,11 +419,11 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
func jdStatus2jxStatus(jdStatus int) (jxStatus int) {
switch jdStatus {
case 1:
case jdapi.SkuFixedStatusOnline:
jxStatus = model.SkuStatusNormal
case 2:
case jdapi.SkuFixedStatusOffline:
jxStatus = model.SkuStatusDontSale
case 4:
case jdapi.SkuFixedStatusDeleted:
jxStatus = model.SkuStatusDeleted
}
return jxStatus
@@ -430,11 +432,11 @@ func jdStatus2jxStatus(jdStatus int) (jxStatus int) {
func jxStatus2jdStatus(jxStatus int) (jdStatus int) {
switch jxStatus {
case model.SkuStatusNormal:
jdStatus = 1
jdStatus = jdapi.SkuFixedStatusOnline
case model.SkuStatusDontSale:
jdStatus = 2
jdStatus = jdapi.SkuFixedStatusOffline
case model.SkuStatusDeleted:
jdStatus = 4
jdStatus = jdapi.SkuFixedStatusDeleted
}
return jdStatus
}