This commit is contained in:
suyl
2021-08-14 11:29:39 +08:00
parent 9d85e74fb0
commit 691e65f369
5 changed files with 125 additions and 0 deletions

View File

@@ -2087,3 +2087,11 @@ func RrefreshEbaiVendorAct() (err error) {
task.GetResult(0)
return err
}
func GetActMtwmVendor(ctx *jxcontext.Context, storeIDs, skuIDs []int, keyword, beginAt, endAt string, actType, offset, pageSize int) (page *model.PagedInfo, err error) {
return dao.GetActMtwmVendorPage(dao.GetDB(), storeIDs, skuIDs, keyword, utils.Str2Time(beginAt), utils.Str2Time(endAt), actType, offset, pageSize)
}
func GetActMtwmVendorSku(ctx *jxcontext.Context, storeID int, keyword string, actType, offset, pageSize int) (page *model.PagedInfo, err error) {
return dao.GetActMtwmVendorSkuPage(dao.GetDB(), storeID, keyword, actType, offset, pageSize)
}

View File

@@ -328,6 +328,8 @@ func Init() {
ScheduleTimerFunc("RrefreshMtwmVendorAct", func() {
//刷新美团平台活动
act.RrefreshMtwmVendorAct()
//刷新饿百平台活动
act.RrefreshEbaiVendorAct()
}, dailyWorkTimeList2)
}
ScheduleTimerFunc("AutoSaleStoreSku", func() {

View File

@@ -279,6 +279,7 @@ type ActMtwmVendor struct {
Period string `json:"period"` //生效时段
WeeksTime string `json:"weeksTime"` //生效活动周期
SettingType int `json:"settingType"` //活动开展类型参考值0-按折扣系数开展活动1-按折扣价格开展活动。
StoreName string `orm:"-" json:"storeName"`
}
func (*ActMtwmVendor) TableIndex() [][]string {

View File

@@ -710,3 +710,93 @@ func GetActEbaiVendorSkus(db *DaoDB, storeIDs, skuIDs []int) (actEbaiVendorSku [
err = GetRows(db, &actEbaiVendorSku, sql, sqlParams)
return actEbaiVendorSku, err
}
func GetActMtwmVendorPage(db *DaoDB, storeIDs, skuIDs []int, keyword string, beginAt, endAt time.Time, actType, offset, pageSize int) (page *model.PagedInfo, err error) {
var (
acts []*model.ActMtwmVendor
)
sql := `
SELECT SQL_CALC_FOUND_ROWS a.store_id, a.vendor_store_id, b.name store_name, a.act_type
FROM act_mtwm_vendor a
LEFT JOIN store b ON a.store_id = b.id
`
sqlParams := []interface{}{}
if len(storeIDs) > 0 {
sql += " AND a.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs)
}
if len(skuIDs) > 0 {
sql += " AND a.sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")"
sqlParams = append(sqlParams, skuIDs)
}
if keyword != "" {
sql += " AND (a.store_id = ? OR a.sku_id = ? OR a.sku_name LIKE ? OR b.name LIKE ?)"
sqlParams = append(sqlParams, keyword, keyword, "%"+keyword+"%", "%"+keyword+"%")
}
if !utils.IsTimeZero(beginAt) {
sql += " AND a.begin_at <= ?"
sqlParams = append(sqlParams, beginAt)
}
if !utils.IsTimeZero(endAt) {
sql += " AND a.end_at >= ?"
sqlParams = append(sqlParams, endAt)
}
if actType != 0 {
sql += " AND a.act_type = ?"
sqlParams = append(sqlParams, actType)
}
sql += `
GROUP BY 1, 2, 3, 4
LIMIT ? OFFSET ?
`
sqlParams = append(sqlParams, pageSize, offset)
txDB, _ := Begin(db)
defer func() {
if r := recover(); r != nil {
Rollback(db, txDB)
panic(r)
}
}()
if err = GetRowsTx(txDB, &acts, sql, sqlParams...); err == nil {
page.TotalCount = GetLastTotalRowCount2(db, txDB)
page.Data = acts
}
Commit(db, txDB)
return page, err
}
func GetActMtwmVendorSkuPage(db *DaoDB, storeID int, keyword string, actType, offset, pageSize int) (page *model.PagedInfo, err error) {
var (
acts []*model.ActMtwmVendor
)
sql := `
SELECT SQL_CALC_FOUND_ROWS a.*
FROM act_mtwm_vendor a WHERE store_id = ?
`
sqlParams := []interface{}{storeID}
if keyword != "" {
sql += " AND (a.store_id = ? OR a.sku_id = ? OR a.sku_name LIKE ?)"
sqlParams = append(sqlParams, keyword, keyword, "%"+keyword+"%")
}
if actType != 0 {
sql += " AND a.act_type = ?"
sqlParams = append(sqlParams, actType)
}
sql += `
LIMIT ? OFFSET ?
`
sqlParams = append(sqlParams, pageSize, offset)
txDB, _ := Begin(db)
defer func() {
if r := recover(); r != nil {
Rollback(db, txDB)
panic(r)
}
}()
if err = GetRowsTx(txDB, &acts, sql, sqlParams...); err == nil {
page.TotalCount = GetLastTotalRowCount2(db, txDB)
page.Data = acts
}
Commit(db, txDB)
return page, err
}