- GetEffectiveActStoreSkuInfo中的BUG,对于非结算活动类型,要判断同步状态

This commit is contained in:
gazebo
2019-08-06 15:55:46 +08:00
parent c020130819
commit 7ad7a7be44
2 changed files with 15 additions and 27 deletions

View File

@@ -330,10 +330,19 @@ func GetEffectiveActStoreSkuInfo(db *DaoDB, actID int, vendorIDs []int, storeIDs
t3.actual_act_price, t3.sync_status, t3.vendor_price, t3.vendor_id
FROM act t1
JOIN act_store_sku t2 ON t2.act_id = t1.id AND t2.deleted_at = ?
JOIN act_store_sku_map t3 ON t3.bind_id = t2.id AND t3.act_id = t1.id
JOIN act_store_sku_map t3 ON t3.bind_id = t2.id AND t3.act_id = t1.id AND (t3.sync_status & ? = 0 OR t1.type = ?)
JOIN act_map t4 ON t4.act_id = t1.id AND t4.vendor_id = t3.vendor_id AND t4.deleted_at = ? AND (t4.sync_status & ? = 0 OR t1.type = ?)
WHERE t1.deleted_at = ? AND t1.status = ? AND NOT (t1.begin_at > ? OR t1.end_at < ?)`
sqlParams := []interface{}{
utils.DefaultTimeValue,
model.SyncFlagNewMask,
model.ActSkuFake,
utils.DefaultTimeValue,
model.SyncFlagNewMask,
model.ActSkuFake,
utils.DefaultTimeValue,
model.ActStatusCreated,
endAt,

View File

@@ -5,7 +5,6 @@ import (
"time"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model"
)
func TestGetEffectiveActStoreSkuInfo(t *testing.T) {
@@ -21,32 +20,11 @@ func TestGetEffectiveActStoreSkuInfo(t *testing.T) {
}
for _, v := range []*testData{
&testData{
ResultCount: 4,
FromTime: time.Now(),
ToTime: time.Now(),
},
&testData{
ResultCount: 0,
FromTime: time.Now().Add(-48 * time.Hour),
ToTime: time.Now().Add(-48 * time.Hour),
},
&testData{
ResultCount: 2,
StoreIDs: []int{100884},
FromTime: time.Now(),
ToTime: time.Now(),
},
&testData{
StoreIDs: []int{100190},
SkuIDs: []int{23847},
ResultCount: 1,
SkuIDs: []int{22714},
FromTime: time.Now(),
ToTime: time.Now(),
},
&testData{
ResultCount: 0,
VendorIDs: []int{model.VendorIDEBAI},
FromTime: time.Now(),
ToTime: time.Now(),
FromTime: utils.Str2Time("2019-08-06 12:34:56"),
ToTime: utils.Str2Time("2019-08-06 12:34:56"),
},
} {
result, err := GetEffectiveActStoreSkuInfo(GetDB(), v.ActID, v.VendorIDs, v.StoreIDs, v.SkuIDs, v.FromTime, v.ToTime)
@@ -54,6 +32,7 @@ func TestGetEffectiveActStoreSkuInfo(t *testing.T) {
t.Fatal(err)
}
if len(result) != v.ResultCount {
t.Log(utils.Format4Output(result, false))
t.Errorf("cond:%s, len(result):%d, v.ResultCount:%d", utils.Format4Output(v, false), len(result), v.ResultCount)
}
}