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