diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index dad168aac..0142ed7e1 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -217,6 +217,7 @@ func UpdateStoreSku(storeID int, skuBindInfo *StoreSkuBindInfo, userName string) db := dao.GetDB() skuBinds := skuBindInfo.Skus var existBinds []*tStoreSkuBindAndSpec + addNum, delNum, updateNum := 0, 0, 0 if err = dao.GetRows(db, &existBinds, ` SELECT t1.*, t2.spec_quality, t2.spec_unit FROM store_sku_bind t1 @@ -294,7 +295,7 @@ func UpdateStoreSku(storeID int, skuBindInfo *StoreSkuBindInfo, userName string) } if ok { if v.IsFocus == -1 { - num++ + delNum++ _, err = dao.DeleteEntityLogically(db, skuBind, nil, userName, map[string]interface{}{ model.FieldStatus: model.StoreSkuBindStatusDeleted, model.FieldJdSyncStatus: model.SyncFlagDeletedMask, @@ -306,7 +307,7 @@ func UpdateStoreSku(storeID int, skuBindInfo *StoreSkuBindInfo, userName string) if v.IsFocus == 1 { skuBind.DeletedAt = utils.DefaultTimeValue } - num++ + updateNum++ skuBind.JdSyncStatus |= model.SyncFlagModifiedMask skuBind.ElmSyncStatus |= model.SyncFlagModifiedMask skuBind.EbaiSyncStatus |= model.SyncFlagModifiedMask @@ -319,7 +320,7 @@ func UpdateStoreSku(storeID int, skuBindInfo *StoreSkuBindInfo, userName string) if v.ElmID != 0 { skuBind.ElmID = v.ElmID } - num++ + addNum++ skuBind.JdSyncStatus = model.SyncFlagNewMask skuBind.ElmSyncStatus = model.SyncFlagNewMask skuBind.EbaiSyncStatus = model.SyncFlagNewMask @@ -327,11 +328,15 @@ func UpdateStoreSku(storeID int, skuBindInfo *StoreSkuBindInfo, userName string) } } if err != nil { - num = 0 dao.Rollback(db) - return num, err + return 0, err } } + if skuBindInfo.UnitPrice != 0 { + num = int64(addNum + len(existBinds)) + } else { + num = int64(addNum + delNum + updateNum) + } dao.Commit(db) err = CurVendorSync.SyncStoreSku(db, storeID, skuIDs, false, userName) }