- fix bug in dao.SetStoreSkuSyncStatus
This commit is contained in:
@@ -64,8 +64,8 @@ func GetSkusCategories(db *DaoDB, vendorID, storeID int, skuIDs []int, level int
|
|||||||
sql += " AND t1.sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")"
|
sql += " AND t1.sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")"
|
||||||
sqlParams = append(sqlParams, skuIDs)
|
sqlParams = append(sqlParams, skuIDs)
|
||||||
}
|
}
|
||||||
filedPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
|
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
|
||||||
sql = fmt.Sprintf(sql, filedPrefix, filedPrefix, filedPrefix, filedPrefix)
|
sql = fmt.Sprintf(sql, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix)
|
||||||
if err = GetRows(db, &cats, sql, sqlParams...); err != nil {
|
if err = GetRows(db, &cats, sql, sqlParams...); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -73,7 +73,7 @@ func GetSkusCategories(db *DaoDB, vendorID, storeID int, skuIDs []int, level int
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetStoreCategories(db *DaoDB, vendorID, storeID int, level int) (cats []*StoreCatSyncInfo, err error) {
|
func GetStoreCategories(db *DaoDB, vendorID, storeID int, level int) (cats []*StoreCatSyncInfo, err error) {
|
||||||
filedPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
|
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
|
||||||
sql := fmt.Sprintf(`
|
sql := fmt.Sprintf(`
|
||||||
SELECT t5.*, t4.name cat_name, t4.seq, t4p.name parent_cat_name, t5p.category_id parent_cat_id, t5p.%s_id parent_vendor_cat_id, t5p.%s_sync_status parent_cat_sync_status
|
SELECT t5.*, t4.name cat_name, t4.seq, t4p.name parent_cat_name, t5p.category_id parent_cat_id, t5p.%s_id parent_vendor_cat_id, t5p.%s_sync_status parent_cat_sync_status
|
||||||
FROM store_sku_category_map t5
|
FROM store_sku_category_map t5
|
||||||
@@ -81,7 +81,7 @@ func GetStoreCategories(db *DaoDB, vendorID, storeID int, level int) (cats []*St
|
|||||||
LEFT JOIN sku_category t4p ON t4.parent_id = t4p.id
|
LEFT JOIN sku_category t4p ON t4.parent_id = t4p.id
|
||||||
LEFT JOIN store_sku_category_map t5p ON t4p.id = t5p.category_id AND t5p.deleted_at = ?
|
LEFT JOIN store_sku_category_map t5p ON t4p.id = t5p.category_id AND t5p.deleted_at = ?
|
||||||
WHERE t5.store_id = ? AND t4.level = ? AND t5.%s_sync_status <> 0
|
WHERE t5.store_id = ? AND t4.level = ? AND t5.%s_sync_status <> 0
|
||||||
`, filedPrefix, filedPrefix, filedPrefix)
|
`, fieldPrefix, fieldPrefix, fieldPrefix)
|
||||||
if err = GetRows(db, &cats, sql, utils.DefaultTimeValue, storeID, level); err != nil {
|
if err = GetRows(db, &cats, sql, utils.DefaultTimeValue, storeID, level); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -138,8 +138,8 @@ func GetStoreSkus(db *DaoDB, vendorID, storeID int, skuIDs []int) (skus []*Store
|
|||||||
sql += " AND t1.sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")"
|
sql += " AND t1.sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")"
|
||||||
sqlParams = append(sqlParams, skuIDs)
|
sqlParams = append(sqlParams, skuIDs)
|
||||||
}
|
}
|
||||||
filedPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
|
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
|
||||||
sql = fmt.Sprintf(sql, tableName, filedPrefix, filedPrefix, filedPrefix, filedPrefix, filedPrefix, filedPrefix, filedPrefix, filedPrefix)
|
sql = fmt.Sprintf(sql, tableName, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix, fieldPrefix)
|
||||||
// globals.SugarLogger.Debug(sql)
|
// globals.SugarLogger.Debug(sql)
|
||||||
if err = GetRows(db, &skus, sql, sqlParams...); err != nil {
|
if err = GetRows(db, &skus, sql, sqlParams...); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -147,12 +147,13 @@ func GetStoreSkus(db *DaoDB, vendorID, storeID int, skuIDs []int) (skus []*Store
|
|||||||
return skus, err
|
return skus, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetStoreSkuSyncStatus(ctx *jxcontext.Context, db *DaoDB, storeID int, skuIDs []int, syncStatus int) (num int64, err error) {
|
func SetStoreSkuSyncStatus(ctx *jxcontext.Context, db *DaoDB, vendorID, storeID int, skuIDs []int, syncStatus int) (num int64, err error) {
|
||||||
sql := `
|
fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID])
|
||||||
|
sql := fmt.Sprintf(`
|
||||||
UPDATE store_sku_bind
|
UPDATE store_sku_bind
|
||||||
SET ebai_sync_status = ebai_sync_status | ?
|
SET %s_sync_status = %s_sync_status | ?
|
||||||
WHERE deleted_at = ? AND store_id = ?
|
WHERE deleted_at = ? AND store_id = ?
|
||||||
`
|
`, fieldPrefix, fieldPrefix)
|
||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
syncStatus,
|
syncStatus,
|
||||||
utils.DefaultTimeValue,
|
utils.DefaultTimeValue,
|
||||||
|
|||||||
@@ -539,7 +539,7 @@ func (p *PurchaseHandler) updateLocalCatAsNew(db *dao.DaoDB, localCatMap map[str
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) setStoreSkuSyncStatus(ctx *jxcontext.Context, db *dao.DaoDB, storeID int, skuIDs []int, syncStatus int) (num int64, err error) {
|
func (p *PurchaseHandler) setStoreSkuSyncStatus(ctx *jxcontext.Context, db *dao.DaoDB, storeID int, skuIDs []int, syncStatus int) (num int64, err error) {
|
||||||
return dao.SetStoreSkuSyncStatus(ctx, db, storeID, skuIDs, syncStatus)
|
return dao.SetStoreSkuSyncStatus(ctx, db, model.VendorIDEBAI, storeID, skuIDs, syncStatus)
|
||||||
}
|
}
|
||||||
|
|
||||||
func formatName(name string) string {
|
func formatName(name string) string {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package mtwm
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
@@ -24,12 +25,13 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t
|
|||||||
strStoreID := utils.Int2Str(storeID)
|
strStoreID := utils.Int2Str(storeID)
|
||||||
num := 0
|
num := 0
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
rootTask := tasksch.NewSeqTask("mtwm SyncStoreCategory", userName, func(rootTask *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
rootTask := tasksch.NewSeqTask("美团外卖SyncStoreCategory step1", userName, func(rootTask *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
|
||||||
level := step + 1
|
level := step + 1
|
||||||
catList, err := dao.GetStoreCategories(db, model.VendorIDMTWM, storeID, level)
|
catList, err := dao.GetStoreCategories(db, model.VendorIDMTWM, storeID, level)
|
||||||
if len(catList) > 0 {
|
if len(catList) > 0 {
|
||||||
|
globals.SugarLogger.Debug(utils.Format4Output(catList, false))
|
||||||
num += len(catList)
|
num += len(catList)
|
||||||
task := tasksch.NewParallelTask("mtwm SyncStoreCategory2", nil, userName, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
task := tasksch.NewParallelTask(fmt.Sprintf("美团外卖SyncStoreCategory step2, level=%d", level), nil, userName, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
updateFields := []string{dao.GetSyncStatusStructField(model.VendorNames[model.VendorIDMTWM])}
|
updateFields := []string{dao.GetSyncStatusStructField(model.VendorNames[model.VendorIDMTWM])}
|
||||||
catInfo := batchItemList[0].(*dao.StoreCatSyncInfo)
|
catInfo := batchItemList[0].(*dao.StoreCatSyncInfo)
|
||||||
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
|
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
|
||||||
@@ -297,18 +299,16 @@ func (p *PurchaseHandler) FullSyncStoreSkus(ctx *jxcontext.Context, parentTask t
|
|||||||
case 0:
|
case 0:
|
||||||
err = p.DeleteRemoteSkus(storeID, nil)
|
err = p.DeleteRemoteSkus(storeID, nil)
|
||||||
case 1:
|
case 1:
|
||||||
_, err = dao.SetStoreSkuSyncStatus(ctx, db, storeID, nil, model.SyncFlagNewMask)
|
_, err = dao.SetStoreSkuSyncStatus(ctx, db, model.VendorIDMTWM, storeID, nil, model.SyncFlagNewMask)
|
||||||
case 2:
|
case 2:
|
||||||
err = p.DeleteRemoteCategories(storeID, nil)
|
|
||||||
case 3:
|
|
||||||
_, err = p.SyncLocalStoreCategory(ctx, db, storeID, true, false)
|
_, err = p.SyncLocalStoreCategory(ctx, db, storeID, true, false)
|
||||||
case 4:
|
case 3:
|
||||||
_, err = p.SyncStoreCategory(ctx, rootTask, storeID, false)
|
_, err = p.SyncStoreCategory(ctx, rootTask, storeID, false)
|
||||||
case 5:
|
case 4:
|
||||||
_, err = p.SyncStoreSkus(ctx, rootTask, storeID, nil, true, isContinueWhenError)
|
_, err = p.SyncStoreSkus(ctx, rootTask, storeID, nil, true, isContinueWhenError)
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}, 6)
|
}, 5)
|
||||||
tasksch.AddChild(parentTask, rootTask).Run()
|
tasksch.AddChild(parentTask, rootTask).Run()
|
||||||
if !isAsync {
|
if !isAsync {
|
||||||
_, err = rootTask.GetResult(0)
|
_, err = rootTask.GetResult(0)
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ dbConnectStr = "root:WebServer@1@tcp(db1.int.jxc4.com:3306)/jxd_dev_0?charset=ut
|
|||||||
|
|
||||||
enableStoreWrite = true
|
enableStoreWrite = true
|
||||||
enableEbaiStoreWrite = true
|
enableEbaiStoreWrite = true
|
||||||
|
enableMtwmStoreWrite = true
|
||||||
|
|
||||||
[prod2]
|
[prod2]
|
||||||
httpport = 8082
|
httpport = 8082
|
||||||
|
|||||||
Reference in New Issue
Block a user