- 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) { func (p *PurchaseHandler) DeleteSku(db *dao.DaoDB, sku *model.Sku, userName string) (err error) {
params := map[string]interface{}{ params := map[string]interface{}{
jdapi.KeyFixedStatus: 4, jdapi.KeyFixedStatus: jdapi.SkuFixedStatusDeleted,
} }
sql := ` sql := `
SELECT t2.* SELECT t2.*
@@ -333,7 +333,7 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
} }
if sku.JdSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除SKU 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 } else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 && skuExt.JdSyncStatus&model.SyncFlagNewMask == 0 { // 非首次新增SKU
if globals.EnableStoreWrite { 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) 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 { var count struct {
Ct int 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 return "", err
} }
if (count.Ct == 0 || count.Ct == 1 && sku.JdSyncStatus&model.SyncFlagDeletedMask != 0) && globals.EnableStoreWrite { // 1就是最后删的那个 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 { } else if skuExt.JdSyncStatus&model.SyncFlagNewMask != 0 {
if globals.EnableStoreWrite { if globals.EnableStoreWrite {
@@ -417,11 +419,11 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
func jdStatus2jxStatus(jdStatus int) (jxStatus int) { func jdStatus2jxStatus(jdStatus int) (jxStatus int) {
switch jdStatus { switch jdStatus {
case 1: case jdapi.SkuFixedStatusOnline:
jxStatus = model.SkuStatusNormal jxStatus = model.SkuStatusNormal
case 2: case jdapi.SkuFixedStatusOffline:
jxStatus = model.SkuStatusDontSale jxStatus = model.SkuStatusDontSale
case 4: case jdapi.SkuFixedStatusDeleted:
jxStatus = model.SkuStatusDeleted jxStatus = model.SkuStatusDeleted
} }
return jxStatus return jxStatus
@@ -430,11 +432,11 @@ func jdStatus2jxStatus(jdStatus int) (jxStatus int) {
func jxStatus2jdStatus(jxStatus int) (jdStatus int) { func jxStatus2jdStatus(jxStatus int) (jdStatus int) {
switch jxStatus { switch jxStatus {
case model.SkuStatusNormal: case model.SkuStatusNormal:
jdStatus = 1 jdStatus = jdapi.SkuFixedStatusOnline
case model.SkuStatusDontSale: case model.SkuStatusDontSale:
jdStatus = 2 jdStatus = jdapi.SkuFixedStatusOffline
case model.SkuStatusDeleted: case model.SkuStatusDeleted:
jdStatus = 4 jdStatus = jdapi.SkuFixedStatusDeleted
} }
return jdStatus return jdStatus
} }