aa
This commit is contained in:
@@ -800,3 +800,91 @@ func GetActMtwmVendorSkuPage(db *DaoDB, storeID int, keyword string, actType, of
|
||||
Commit(db, txDB)
|
||||
return page, err
|
||||
}
|
||||
|
||||
func GetActEbaiVendorPage(db *DaoDB, storeIDs, skuIDs []int, keyword string, beginAt, endAt time.Time, actType, offset, pageSize int) (page *model.PagedInfo, err error) {
|
||||
var (
|
||||
acts []*model.ActEbaiVendor
|
||||
)
|
||||
sql := `
|
||||
SELECT SQL_CALC_FOUND_ROWS a.begin_at, a.end_at, a.act_id, a.act_name
|
||||
FROM act_ebai_vendor a
|
||||
LEFT JOIN act_ebai_vendor_sku b ON a.act_id = b.act_id
|
||||
LEFT JOIN store c ON c.id = b.store_id
|
||||
`
|
||||
sqlParams := []interface{}{}
|
||||
if len(storeIDs) > 0 {
|
||||
sql += " AND b.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
}
|
||||
if len(skuIDs) > 0 {
|
||||
sql += " AND b.sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")"
|
||||
sqlParams = append(sqlParams, skuIDs)
|
||||
}
|
||||
if keyword != "" {
|
||||
sql += " AND (b.store_id = ? OR b.sku_id = ? OR b.sku_name LIKE ? OR a.name LIKE ? OR c.name LIKE ?)"
|
||||
sqlParams = append(sqlParams, keyword, 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 GetActEbaiVendorSkuPage(db *DaoDB, actID, keyword string, offset, pageSize int) (page *model.PagedInfo, err error) {
|
||||
var (
|
||||
acts []*model.ActEbaiVendorSku
|
||||
)
|
||||
sql := `
|
||||
SELECT SQL_CALC_FOUND_ROWS a.*
|
||||
FROM act_ebai_vendor_sku a WHERE act_id = ?
|
||||
LEFT JOIN store b ON b.id = a.store_id
|
||||
`
|
||||
sqlParams := []interface{}{actID}
|
||||
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+"%")
|
||||
}
|
||||
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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user