- remove many useless isForce parameters.

- isSync to isAsync.
This commit is contained in:
gazebo
2018-10-16 11:52:40 +08:00
parent d7de24715b
commit d7b93b8bf2
10 changed files with 74 additions and 48 deletions

View File

@@ -75,7 +75,7 @@ type IPurchasePlatformHandler interface {
// OpenStore(vendorStoreID string, userName string) error
// CloseStore(vendorStoreID, closeNotice, userName string) error
SyncStoresSkus(db *dao.DaoDB, storeIDs []int, skuIDs []int, isSync bool, userName string) (err error)
SyncStoresSkus(db *dao.DaoDB, storeIDs []int, skuIDs []int, isAsync bool, userName string) (hint string, err error)
GetVendorID() int
GetFieldIDName() string

View File

@@ -71,17 +71,17 @@ var (
}
)
func (p *PurchaseHandler) SyncStoresSkus(db *dao.DaoDB, storeIDs []int, skuIDs []int, isSync bool, userName string) (err error) {
func (p *PurchaseHandler) SyncStoresSkus(db *dao.DaoDB, storeIDs []int, skuIDs []int, isAsync bool, userName string) (hint string, err error) {
for _, storeID := range storeIDs {
err = p.syncOneStoreSkus(db, storeID, skuIDs, isSync, userName)
err = p.syncOneStoreSkus(db, storeID, skuIDs, isAsync, userName)
if err != nil {
break
}
}
return err
return hint, err
}
func (p *PurchaseHandler) syncOneStoreSkus(db *dao.DaoDB, storeID int, skuIDs []int, isSync bool, userName string) (err error) {
func (p *PurchaseHandler) syncOneStoreSkus(db *dao.DaoDB, storeID int, skuIDs []int, isAsync bool, userName string) (err error) {
globals.SugarLogger.Debugf("syncOneStoreSkus storeID:%d, skuIDs:%v, userName:%s", storeID, skuIDs, userName)
doThing := func() (err error) {
@@ -172,7 +172,7 @@ func (p *PurchaseHandler) syncOneStoreSkus(db *dao.DaoDB, storeID int, skuIDs []
}
return err
}
if isSync {
if !isAsync {
err = doThing()
} else {
go doThing()

View File

@@ -10,7 +10,7 @@ import (
func TestSyncStoresSkus(t *testing.T) {
db := dao.GetDB()
err := new(PurchaseHandler).SyncStoresSkus(db, []int{100077}, []int{7}, false, "autotest")
_, err := new(PurchaseHandler).SyncStoresSkus(db, []int{100077}, []int{7}, false, "autotest")
if err != nil {
t.Fatal(err.Error())
}

View File

@@ -16,6 +16,6 @@ func (p *PurchaseHandler) ReadStoreSku(storeID, skuID int) (skuNameExt *model.Sk
return nil, nil
}
func (p *PurchaseHandler) SyncStoresSkus(db *dao.DaoDB, storeIDs []int, skuIDs []int, isSync bool, userName string) (err error) {
return nil
func (p *PurchaseHandler) SyncStoresSkus(db *dao.DaoDB, storeIDs []int, skuIDs []int, isAsync bool, userName string) (hint string, err error) {
return hint, err
}

View File

@@ -22,7 +22,7 @@ type tStoreSkuBindExt struct {
}
// 京东到家,以有库存表示关注(认领)
func (p *PurchaseHandler) SyncStoresSkus(db *dao.DaoDB, storeIDs []int, skuIDs []int, isForce bool, userName string) (err error) {
func (p *PurchaseHandler) SyncStoresSkus(db *dao.DaoDB, storeIDs []int, skuIDs []int, isAsync bool, userName string) (hint string, err error) {
parallelCount := 1
if len(skuIDs) < MaxSkuBatchSize {
parallelCount = 10
@@ -55,13 +55,13 @@ func (p *PurchaseHandler) SyncStoresSkus(db *dao.DaoDB, storeIDs []int, skuIDs [
for _, v := range batchItemList {
storeSku := v.(*tStoreSkuBindExt)
if storeSku.JdSyncStatus&model.SyncFlagChangedMask != 0 {
if storeSku.JdSyncStatus&(model.SyncFlagPriceMask|model.SyncFlagNewMask) != 0 || isForce {
if storeSku.JdSyncStatus&(model.SyncFlagPriceMask|model.SyncFlagNewMask) != 0 {
skuPriceInfoList = append(skuPriceInfoList, &jdapi.SkuPriceInfo{
OutSkuId: utils.Int2Str(storeSku.SkuID),
Price: jxutils.CaculateSkuVendorPrice(storeSku.Price, storeSku.PricePercentage),
})
}
if storeSku.JdSyncStatus&(model.SyncFlagSaleMask|model.SyncFlagNewMask) != 0 || isForce {
if storeSku.JdSyncStatus&(model.SyncFlagSaleMask|model.SyncFlagNewMask) != 0 {
vendibility := &jdapi.StockVendibility{
OutSkuId: utils.Int2Str(storeSku.SkuID),
DoSale: true,
@@ -71,7 +71,7 @@ func (p *PurchaseHandler) SyncStoresSkus(db *dao.DaoDB, storeIDs []int, skuIDs [
}
skuVendibilityList = append(skuVendibilityList, vendibility)
}
if storeSku.JdSyncStatus&(model.SyncFlagDeletedMask|model.SyncFlagNewMask) != 0 || isForce { // 关注或取消关注
if storeSku.JdSyncStatus&(model.SyncFlagDeletedMask|model.SyncFlagNewMask) != 0 { // 关注或取消关注
stock := &jdapi.SkuStock{
OutSkuId: utils.Int2Str(storeSku.SkuID),
StockQty: MaxStockQty,
@@ -111,6 +111,9 @@ func (p *PurchaseHandler) SyncStoresSkus(db *dao.DaoDB, storeIDs []int, skuIDs [
return nil, err
}, storeIDs)
if isAsync {
return task.ID, nil
}
_, err = task.GetResult(0)
return err
return "", err
}