From 4f5efcacb304c241a338c41f59e7ff2ccf92cefb Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 7 Nov 2018 10:23:14 +0800 Subject: [PATCH] - fk --- business/jxstore/promotion/jd_promotion.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/business/jxstore/promotion/jd_promotion.go b/business/jxstore/promotion/jd_promotion.go index 61a9b7334..8012d0f95 100644 --- a/business/jxstore/promotion/jd_promotion.go +++ b/business/jxstore/promotion/jd_promotion.go @@ -62,7 +62,8 @@ type SkuPrice struct { } type tPromotionItemInfo struct { - model.PromotionSku + SkuID int `orm:"column(sku_id)"` + IsLock int8 // 是否锁定门店商品信息 EndAt time.Time JdStoreID string `orm:"column(vendor_store_id)"` JdSkuID int64 `orm:"column(jd_id)"` @@ -620,13 +621,14 @@ func RefreshJdLockStoreSku() (err error) { globals.SugarLogger.Debug("RefreshJdLockStoreSku") sql := ` - SELECT t1.end_at, t22.vendor_store_id, t32.jd_id, t3.* + SELECT t22.vendor_store_id, t3.sku_id, t32.jd_id, MAX(t3.is_lock) is_lock, MAX(t1.end_at) end_at FROM promotion t1 JOIN promotion_store t2 ON t1.id = t2.promotion_id JOIN store_map t22 ON t2.store_id = t22.store_id AND t22.vendor_id = ? AND t22.deleted_at = ? JOIN promotion_sku t3 ON t1.id = t3.promotion_id JOIN sku t32 ON t3.sku_id = t32.id WHERE t1.deleted_at = ? AND t1.vendor_id = ? AND t1.status = ? AND (t1.begin_at <= ? AND t1.end_at >= ?) + GROUP BY 1,2,3 ` nowDate := utils.GetCurDate() sqlParams := []interface{}{ @@ -653,15 +655,16 @@ func RefreshJdStoreSkuStock() (err error) { globals.SugarLogger.Debug("RefreshJdStoreSkuStock") sql := ` - SELECT t4.store_id, t4.sku_id + SELECT t22.vendor_store_id, t3.sku_id, t32.jd_id, MAX(t3.is_lock) is_lock, MAX(t1.end_at) end_at FROM promotion t1 JOIN promotion_store t2 ON t1.id = t2.promotion_id JOIN store_map t22 ON t2.store_id = t22.store_id AND t22.vendor_id = ? AND t22.deleted_at = ? JOIN promotion_sku t3 ON t1.id = t3.promotion_id AND t3.is_lock = 1 + 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 t3.is_lock = 1 AND t1.deleted_at = ? AND t1.vendor_id = ? AND t1.status = ? AND (t1.begin_at <= ? AND t1.end_at >= ?) - GROUP BY 1,2 - ORDER BY 1,2 + 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 := utils.GetCurDate() sqlParams := []interface{}{ @@ -751,7 +754,7 @@ func RefreshJdPromotionItemListLockStatus(promotionItemList []*tPromotionItemInf func RefreshJdPromotionLockStatus(promotionID int) (err error) { sql := ` - SELECT t1.end_at, t22.vendor_store_id, t32.jd_id, IF(t1.begin_at <= ? AND t1.end_at >= ? AND t1.status = ?, t3.is_lock, 0) is_lock, t3.* + SELECT t22.vendor_store_id, t3.sku_id, t32.jd_id, IF(t1.begin_at <= ? AND t1.end_at >= ? AND t1.status = ?, t3.is_lock, 0) is_lock, t1.end_at FROM promotion t1 JOIN promotion_store t2 ON t1.id = t2.promotion_id JOIN store_map t22 ON t2.store_id = t22.store_id AND t22.vendor_id = ? AND t22.deleted_at = ?