- fix bug in UpdateStore(GetRows)
This commit is contained in:
@@ -211,6 +211,13 @@ func (t *BaseTask) SetParent(parentTask ITask) {
|
||||
t.parent = parentTask
|
||||
}
|
||||
|
||||
func AddChild(parentTask ITask, task ITask) ITask {
|
||||
if parentTask != nil {
|
||||
return parentTask.AddChild(task)
|
||||
}
|
||||
return task
|
||||
}
|
||||
|
||||
/////////
|
||||
|
||||
func (t *BaseTask) MarshalJSON() ([]byte, error) {
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
testShopBaiduID = 2233909607
|
||||
testShopID = "100077"
|
||||
testShopBaiduID = 2233976901
|
||||
testShopID = 100077
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
||||
@@ -144,7 +144,7 @@ func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
||||
WHERE t1.id = ?
|
||||
ORDER BY t2.updated_at
|
||||
`
|
||||
if err = dao.GetRow(db, &stores, sql, model.VendorIDEBAI, utils.DefaultTimeValue, storeID); err == nil {
|
||||
if err = dao.GetRows(db, &stores, sql, model.VendorIDEBAI, utils.DefaultTimeValue, storeID); err == nil {
|
||||
for _, store := range stores {
|
||||
params := genStoreMapFromStore(store)
|
||||
// globals.SugarLogger.Debug(utils.Format4Output(params, false))
|
||||
|
||||
@@ -133,7 +133,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
||||
return "", err
|
||||
}
|
||||
if err = dao.GetRows(db, &storeSkuInfoList, sql, sqlParams...); err == nil {
|
||||
task := tasksch.NewParallelTask("syncOneStoreSkus skus", nil, userName, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
task := tasksch.NewParallelTask("SyncStoreSkus skus", nil, userName, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
storeSku := batchItemList[0].(*tStoreSkuFullInfo)
|
||||
updateFields := []string{model.FieldEbaiSyncStatus}
|
||||
if globals.EnableStoreWrite {
|
||||
@@ -160,7 +160,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
||||
}
|
||||
return nil, err
|
||||
}, storeSkuInfoList)
|
||||
parentTask.AddChild(task).Run()
|
||||
tasksch.AddChild(parentTask, task).Run()
|
||||
_, err = task.GetResult(0)
|
||||
}
|
||||
}
|
||||
@@ -374,7 +374,7 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t
|
||||
}
|
||||
if err = dao.GetRows(db, &catList, sql, sqlParams...); err == nil {
|
||||
strStoreID := utils.Int2Str(storeID)
|
||||
task := tasksch.NewParallelTask("syncOneStoreCategoriesFromLocal2Remote", nil, userName, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
task := tasksch.NewParallelTask("SyncStoreCategory", nil, userName, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
updateFields := []string{model.FieldEbaiSyncStatus}
|
||||
catInfo := batchItemList[0].(*tStoreCatInfo)
|
||||
// globals.SugarLogger.Debug(utils.Format4Output(catInfo, false))
|
||||
@@ -403,7 +403,7 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t
|
||||
}
|
||||
return nil, err
|
||||
}, 2)
|
||||
parentTask.AddChild(rootTask).Run()
|
||||
tasksch.AddChild(parentTask, rootTask).Run()
|
||||
if !isAsync {
|
||||
_, err = rootTask.GetResult(0)
|
||||
}
|
||||
@@ -417,8 +417,8 @@ func (p *PurchaseHandler) processLocalCatByRemote(db *dao.DaoDB, storeID int, lo
|
||||
for _, v := range remoteCatList {
|
||||
jxCat := localCatMap[v.Name]
|
||||
if jxCat == nil { // 远程有,本地没有,非法类别
|
||||
globals.SugarLogger.Debug(v.Name)
|
||||
globals.SugarLogger.Debug(utils.Format4Output(localCatMap, false))
|
||||
// globals.SugarLogger.Debug(v.Name)
|
||||
// globals.SugarLogger.Debug(utils.Format4Output(localCatMap, false))
|
||||
} else {
|
||||
if jxCat.EbaiID != v.CategoryID || utils.Int2Str(jxCat.CatID) != v.ShopCustomID {
|
||||
if jxCat.ID == 0 { // 远程有,本门店没有
|
||||
|
||||
@@ -5,36 +5,39 @@ import (
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
)
|
||||
|
||||
func TestSyncStoresSkus(t *testing.T) {
|
||||
db := dao.GetDB()
|
||||
_, err := new(PurchaseHandler).SyncStoresSkus(db, []int{100077}, []int{7}, false, "autotest")
|
||||
skus := make([]int, 100)
|
||||
for i := 0; i < 100; i++ {
|
||||
skus[i] = i + 1
|
||||
}
|
||||
_, err := new(PurchaseHandler).SyncStoreSkus(jxcontext.AdminCtx, nil, testShopID, skus, false)
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
time.Sleep(5 * time.Second)
|
||||
time.Sleep(4 * time.Second)
|
||||
}
|
||||
|
||||
func TestSyncOneStoreCategoriesFromRemote2Local(t *testing.T) {
|
||||
db := dao.GetDB()
|
||||
err := new(PurchaseHandler).SyncLocalStoreCategory(db, 100077, "autotest")
|
||||
err := new(PurchaseHandler).SyncLocalStoreCategory(db, testShopID, "autotest")
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func TestSyncOneStoreCategoriesFromLocal2Remote(t *testing.T) {
|
||||
db := dao.GetDB()
|
||||
err := new(PurchaseHandler).SyncOneStoreCategories(db, 100077, "autotest")
|
||||
_, err := new(PurchaseHandler).SyncStoreCategory(jxcontext.AdminCtx, nil, testShopID, false)
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetAllRemoteSkus(t *testing.T) {
|
||||
result, err := new(PurchaseHandler).GetAllRemoteSkus(100077)
|
||||
result, err := new(PurchaseHandler).GetAllRemoteSkus(9)
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
} else {
|
||||
@@ -43,14 +46,14 @@ func TestGetAllRemoteSkus(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDeleteRemoteSkus(t *testing.T) {
|
||||
err := new(PurchaseHandler).DeleteRemoteSkus(100077, nil)
|
||||
err := new(PurchaseHandler).DeleteRemoteSkus(testShopID, nil)
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
func TestDeleteRemoteCategories(t *testing.T) {
|
||||
err := new(PurchaseHandler).DeleteRemoteCategories(100077, nil)
|
||||
err := new(PurchaseHandler).DeleteRemoteCategories(testShopID, nil)
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ func TestReadStore(t *testing.T) {
|
||||
|
||||
func TestUpdateStore(t *testing.T) {
|
||||
db := dao.GetDB()
|
||||
err := new(PurchaseHandler).UpdateStore(db, 100077, "autotest")
|
||||
err := new(PurchaseHandler).UpdateStore(db, testShopID, "autotest")
|
||||
if err != nil {
|
||||
t.Fatal(err.Error())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user