From 02b325e33fe74f60527f461418f5c25db8a17540 Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 26 Nov 2018 09:47:43 +0800 Subject: [PATCH] - RefreshJdStoreSkuStock add promotionID param --- business/jxstore/promotion/jd_promotion.go | 25 ++++++++++++++-------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/business/jxstore/promotion/jd_promotion.go b/business/jxstore/promotion/jd_promotion.go index af635e2df..58b97b655 100644 --- a/business/jxstore/promotion/jd_promotion.go +++ b/business/jxstore/promotion/jd_promotion.go @@ -215,12 +215,12 @@ func scheduleRoutine(isFirst bool) { if isFirst { go func() { RefreshJdLockStoreSku() - RefreshJdStoreSkuStock() + RefreshJdStoreSkuStock(0) }() } time.AfterFunc(stockRefreshGap, func() { RefreshJdLockStoreSku() - RefreshJdStoreSkuStock() + RefreshJdStoreSkuStock(0) scheduleRoutine(false) }) } @@ -701,8 +701,8 @@ func RefreshJdLockStoreSku() (err error) { return RefreshJdPromotionItemListLockStatus(promotionItemList) } -func RefreshJdStoreSkuStock() (err error) { - globals.SugarLogger.Debug("RefreshJdStoreSkuStock") +func RefreshJdStoreSkuStock(promotionID int) (err error) { + globals.SugarLogger.Debug("RefreshJdStoreSkuStock promotionID:%d", promotionID) sql := ` 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 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 >= ?) - GROUP BY 1,2,3 - ORDER BY 1,2,3 ` nowDate := time.Now() sqlParams := []interface{}{ @@ -727,6 +725,14 @@ func RefreshJdStoreSkuStock() (err error) { 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 db := dao.GetDB() if err = dao.GetRows(db, &promotionItemList, sql, sqlParams...); err != nil { @@ -735,6 +741,7 @@ func RefreshJdStoreSkuStock() (err error) { } return err } + globals.SugarLogger.Debug("RefreshJdStoreSkuStock promotionID:%d, len(promotionItemList)=%d", promotionID, len(promotionItemList)) 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) { 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) { - 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 { isLock = 1 } @@ -862,10 +869,10 @@ func LockPromotionSkus(ctx *jxcontext.Context, promotionID int, isLock int, skuI } RefreshJdPromotionLockStatus(ctx, promotionID) 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 }