- RefreshJdStoreSkuStock add promotionID param

This commit is contained in:
gazebo
2018-11-26 09:47:43 +08:00
parent 2f6274e204
commit 02b325e33f

View File

@@ -215,12 +215,12 @@ func scheduleRoutine(isFirst bool) {
if isFirst { if isFirst {
go func() { go func() {
RefreshJdLockStoreSku() RefreshJdLockStoreSku()
RefreshJdStoreSkuStock() RefreshJdStoreSkuStock(0)
}() }()
} }
time.AfterFunc(stockRefreshGap, func() { time.AfterFunc(stockRefreshGap, func() {
RefreshJdLockStoreSku() RefreshJdLockStoreSku()
RefreshJdStoreSkuStock() RefreshJdStoreSkuStock(0)
scheduleRoutine(false) scheduleRoutine(false)
}) })
} }
@@ -701,8 +701,8 @@ func RefreshJdLockStoreSku() (err error) {
return RefreshJdPromotionItemListLockStatus(promotionItemList) return RefreshJdPromotionItemListLockStatus(promotionItemList)
} }
func RefreshJdStoreSkuStock() (err error) { func RefreshJdStoreSkuStock(promotionID int) (err error) {
globals.SugarLogger.Debug("RefreshJdStoreSkuStock") globals.SugarLogger.Debug("RefreshJdStoreSkuStock promotionID:%d", promotionID)
sql := ` sql := `
SELECT t22.vendor_store_id, t3.sku_id, t32.jd_id, MAX(t3.is_lock) is_lock, MAX(t1.end_at) end_at SELECT t22.vendor_store_id, t3.sku_id, t32.jd_id, MAX(t3.is_lock) is_lock, MAX(t1.end_at) end_at
@@ -713,8 +713,6 @@ func RefreshJdStoreSkuStock() (err error) {
JOIN sku t32 ON t3.sku_id = t32.id JOIN sku t32 ON t3.sku_id = t32.id
JOIN store_sku_bind t4 ON t2.store_id = t4.store_id AND t3.sku_id = t4.sku_id AND t4.deleted_at = ? JOIN store_sku_bind t4 ON t2.store_id = t4.store_id AND t3.sku_id = t4.sku_id AND t4.deleted_at = ?
WHERE t1.deleted_at = ? AND t1.vendor_id = ? AND t1.status = ? AND (t1.begin_at <= ? AND t1.end_at >= ?) WHERE t1.deleted_at = ? AND t1.vendor_id = ? AND t1.status = ? AND (t1.begin_at <= ? AND t1.end_at >= ?)
GROUP BY 1,2,3
ORDER BY 1,2,3
` `
nowDate := time.Now() nowDate := time.Now()
sqlParams := []interface{}{ sqlParams := []interface{}{
@@ -727,6 +725,14 @@ func RefreshJdStoreSkuStock() (err error) {
nowDate, nowDate,
nowDate, nowDate,
} }
if promotionID != 0 {
sql += " AND t1.id = ?"
sqlParams = append(sqlParams, promotionID)
}
sql += `
GROUP BY 1,2,3
ORDER BY 1,2,3
`
var promotionItemList []*tPromotionItemInfo var promotionItemList []*tPromotionItemInfo
db := dao.GetDB() db := dao.GetDB()
if err = dao.GetRows(db, &promotionItemList, sql, sqlParams...); err != nil { if err = dao.GetRows(db, &promotionItemList, sql, sqlParams...); err != nil {
@@ -735,6 +741,7 @@ func RefreshJdStoreSkuStock() (err error) {
} }
return err return err
} }
globals.SugarLogger.Debug("RefreshJdStoreSkuStock promotionID:%d, len(promotionItemList)=%d", promotionID, len(promotionItemList))
if len(promotionItemList) > 0 { if len(promotionItemList) > 0 {
task := tasksch.NewParallelTask("RefreshJdStoreSkuStock", tasksch.NewParallelConfig().SetBatchSize(jdapi.MaxStoreSkuBatchSize).SetIsContinueWhenError(true), "schedule", func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { task := tasksch.NewParallelTask("RefreshJdStoreSkuStock", tasksch.NewParallelConfig().SetBatchSize(jdapi.MaxStoreSkuBatchSize).SetIsContinueWhenError(true), "schedule", func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
stockList := make([]*jdapi.SkuStock, 0) stockList := make([]*jdapi.SkuStock, 0)
@@ -834,7 +841,7 @@ func RefreshJdPromotionLockStatus(ctx *jxcontext.Context, promotionID int) (err
} }
func LockPromotionSkus(ctx *jxcontext.Context, promotionID int, isLock int, skuIDs []int) (num int64, err error) { func LockPromotionSkus(ctx *jxcontext.Context, promotionID int, isLock int, skuIDs []int) (num int64, err error) {
globals.SugarLogger.Debugf("begin LockPromotionSkus promotionID:%d, isLock:%t, skuIDs:%v", promotionID, isLock, skuIDs) globals.SugarLogger.Debugf("begin LockPromotionSkus promotionID:%d, isLock:%d, skuIDs:%v", promotionID, isLock, skuIDs)
if isLock != 0 { if isLock != 0 {
isLock = 1 isLock = 1
} }
@@ -862,10 +869,10 @@ func LockPromotionSkus(ctx *jxcontext.Context, promotionID int, isLock int, skuI
} }
RefreshJdPromotionLockStatus(ctx, promotionID) RefreshJdPromotionLockStatus(ctx, promotionID)
if isLock != 0 { if isLock != 0 {
RefreshJdStoreSkuStock() RefreshJdStoreSkuStock(promotionID)
} }
} }
globals.SugarLogger.Debugf("end LockPromotionSkus promotionID:%d, isLock:%t, skuIDs:%v", promotionID, isLock, skuIDs) globals.SugarLogger.Debugf("end LockPromotionSkus promotionID:%d, isLock:%d, skuIDs:%v", promotionID, isLock, skuIDs)
return num, err return num, err
} }