- 修复GetEffectiveActStoreSkuInfo的有效时间相交判断错误
This commit is contained in:
@@ -81,7 +81,7 @@ func ActStoreSkuParam2Model(ctx *jxcontext.Context, db *dao.DaoDB, act *model.Ac
|
|||||||
}
|
}
|
||||||
storeIDs := jxutils.IntMap2List(storeIDMap)
|
storeIDs := jxutils.IntMap2List(storeIDMap)
|
||||||
skuIDs := jxutils.IntMap2List(skuIDMap)
|
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 {
|
if err != nil {
|
||||||
globals.SugarLogger.Errorf("updateActPrice4StoreSkuNameNew can not get sku promotion info for error:%v", err)
|
globals.SugarLogger.Errorf("updateActPrice4StoreSkuNameNew can not get sku promotion info for error:%v", err)
|
||||||
return nil, nil, nil, err
|
return nil, nil, nil, err
|
||||||
|
|||||||
@@ -268,20 +268,20 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
|
|||||||
return pagedInfo, err
|
return pagedInfo, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetEffectiveActStoreSkuInfo(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs []int, fromTime, toTime time.Time) (actStoreSkuList []*model.ActStoreSku2, err error) {
|
func GetEffectiveActStoreSkuInfo(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs []int, beginAt, endAt time.Time) (actStoreSkuList []*model.ActStoreSku2, err error) {
|
||||||
if utils.IsTimeZero(fromTime) {
|
if utils.IsTimeZero(beginAt) {
|
||||||
return nil, fmt.Errorf("GeActStoreSkuInfo必须指定fromTime")
|
return nil, fmt.Errorf("GeActStoreSkuInfo必须指定活动开始时间")
|
||||||
}
|
}
|
||||||
if utils.IsTimeZero(toTime) {
|
if utils.IsTimeZero(endAt) {
|
||||||
toTime = fromTime
|
endAt = beginAt
|
||||||
}
|
}
|
||||||
sqlParams := []interface{}{}
|
sqlParams := []interface{}{}
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t2.*
|
SELECT t2.*
|
||||||
FROM act t1
|
FROM act t1
|
||||||
JOIN act_store_sku t2 ON t2.act_id = t1.id AND t2.deleted_at = ?
|
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 >= ?`
|
WHERE t1.status = ? AND NOT (t1.begin_at > ? OR t1.end_at < ?)`
|
||||||
sqlParams = append(sqlParams, utils.DefaultTimeValue, model.ActStatusCreated, fromTime, toTime)
|
sqlParams = append(sqlParams, utils.DefaultTimeValue, model.ActStatusCreated, endAt, beginAt)
|
||||||
if len(vendorIDs) > 0 {
|
if len(vendorIDs) > 0 {
|
||||||
sql += " AND t1.vendor_mask & ? <> 0"
|
sql += " AND t1.vendor_mask & ? <> 0"
|
||||||
sqlParams = append(sqlParams, model.GetVendorMask(vendorIDs...))
|
sqlParams = append(sqlParams, model.GetVendorMask(vendorIDs...))
|
||||||
|
|||||||
Reference in New Issue
Block a user