diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 979c72643..aecfe564d 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1286,7 +1286,8 @@ func DeleteSku(ctx *jxcontext.Context, skuID int, userName string) (num int64, e return 0, err } dao.Commit(db) - + if _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), []int{skuID}, model.SyncFlagDeletedMask); err == nil { + } if num == 1 { _, err = CurVendorSync.SyncSku(ctx, db, -1, sku.ID, false, false, userName) } diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index d260eee90..bb74e0df3 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -600,6 +600,11 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag createList = createList[:] createList = rList } + if len(updateList) > 0 { + rList2 := changeList2Jds(updateList) + updateList = updateList[:] + updateList = rList2 + } } task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError2), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index 70999bafe..122660783 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -38,7 +38,7 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v for _, vv := range v.StoreSkuSyncInfoJds { v.JdsWareID = result.Data[0].WareID vv.JdsWareID = result.Data[0].WareID - updateSkusParam, err := buildUpdateSkusParam(v, vv) + updateSkusParam, err := buildUpdateSkusParam(v, vv, true) if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "创建商品") return failedList, err @@ -119,6 +119,14 @@ func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, v } err = api.JdShopAPI.UpdateWare(updateWareParam) + for _, vv := range v.StoreSkuSyncInfoJds { + updateSkusParam, err := buildUpdateSkusParam(v, vv, false) + if err != nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "更新商品基础信息") + return failedList, err + } + _, err = api.JdShopAPI.UpdateSkus(updateSkusParam) + } } if err != nil { failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "更新商品基础信息") @@ -129,15 +137,16 @@ func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, v func (p *PurchaseHandler) DeleteStoreSkus(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (failedList []*partner.StoreSkuInfoWithErr, err error) { if globals.EnableJdShopWrite && vendorStoreID == model.JdShopMainVendorStoreID { - // for _, v := range storeSkuList { - // err = api.JdShopAPI.UpOrDown(utils.Str2Int64(v.VendorSkuID2), 2) - // if err == nil { - // err = api.JdShopAPI.DeleteWare(utils.Str2Int(v.VendorSkuID2)) - // } - // } - // if err != nil { - // failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "删除商品") - // } + for _, v := range storeSkuList { + err = api.JdShopAPI.DeleteSku(utils.Str2Int64(v.VendorSkuID)) + // err = api.JdShopAPI.UpOrDown(utils.Str2Int64(v.VendorSkuID2), 2) + // if err == nil { + // err = api.JdShopAPI.DeleteWare(utils.Str2Int(v.VendorSkuID2)) + // } + } + if err != nil { + failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "删除商品") + } } return failedList, err } @@ -559,7 +568,7 @@ func filterSensitiveWord(name string) (result string) { return name } -func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInfo) (updateSkusParam *jdshopapi.UpdateSkusParam, err error) { +func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInfo, isCreate bool) (updateSkusParam *jdshopapi.UpdateSkusParam, err error) { updateSkusParam = &jdshopapi.UpdateSkusParam{ WareID: storeSku.JdsWareID, } @@ -603,6 +612,9 @@ func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInf } else { sku.StockNum = "0" } + if !isCreate { + sku.SkuID = utils.Str2Int64(v.VendorSkuID) + } skus = append(skus, sku) updateSkusParam.Skus = skus return updateSkusParam, err