From 52009c345cbe85f10ec15b3ad2e2ac5095185748 Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 10 Jul 2019 11:18:18 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8DGetEffectiveActStoreSkuIn?= =?UTF-8?q?fo=E7=9A=84=E6=9C=89=E6=95=88=E6=97=B6=E9=97=B4=E7=9B=B8?= =?UTF-8?q?=E4=BA=A4=E5=88=A4=E6=96=AD=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/act/act.go | 2 +- business/model/dao/act.go | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/business/jxstore/act/act.go b/business/jxstore/act/act.go index 48f5eb05d..2ae1c9902 100644 --- a/business/jxstore/act/act.go +++ b/business/jxstore/act/act.go @@ -81,7 +81,7 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, db *dao.DaoDB, act *model.Ac } storeIDs := jxutils.IntMap2List(storeIDMap) skuIDs := jxutils.IntMap2List(skuIDMap) - effectActStoreSkuList, err := dao.GetEffectiveActStoreSkuInfo(db, 0, nil, storeIDs, skuIDs, time.Now(), time.Now()) + effectActStoreSkuList, err := dao.GetEffectiveActStoreSkuInfo(db, 0, nil, storeIDs, skuIDs, act.BeginAt, act.EndAt) if err != nil { globals.SugarLogger.Errorf("updateActPrice4StoreSkuNameNew can not get sku promotion info for error:%v", err) return nil, nil, nil, err diff --git a/business/model/dao/act.go b/business/model/dao/act.go index a4f5444bc..fb03f1626 100644 --- a/business/model/dao/act.go +++ b/business/model/dao/act.go @@ -268,20 +268,20 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo return pagedInfo, err } -func GetEffectiveActStoreSkuInfo(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs []int, fromTime, toTime time.Time) (actStoreSkuList []*model.ActStoreSku2, err error) { - if utils.IsTimeZero(fromTime) { - return nil, fmt.Errorf("GeActStoreSkuInfo必须指定fromTime") +func GetEffectiveActStoreSkuInfo(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs []int, beginAt, endAt time.Time) (actStoreSkuList []*model.ActStoreSku2, err error) { + if utils.IsTimeZero(beginAt) { + return nil, fmt.Errorf("GeActStoreSkuInfo必须指定活动开始时间") } - if utils.IsTimeZero(toTime) { - toTime = fromTime + if utils.IsTimeZero(endAt) { + endAt = beginAt } sqlParams := []interface{}{} sql := ` SELECT t2.* FROM act t1 JOIN act_store_sku t2 ON t2.act_id = t1.id AND t2.deleted_at = ? - WHERE t1.status = ? AND t1.begin_at <= ? AND t1.end_at >= ?` - sqlParams = append(sqlParams, utils.DefaultTimeValue, model.ActStatusCreated, fromTime, toTime) + WHERE t1.status = ? AND NOT (t1.begin_at > ? OR t1.end_at < ?)` + sqlParams = append(sqlParams, utils.DefaultTimeValue, model.ActStatusCreated, endAt, beginAt) if len(vendorIDs) > 0 { sql += " AND t1.vendor_mask & ? <> 0" sqlParams = append(sqlParams, model.GetVendorMask(vendorIDs...))