- 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 {
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
}