go-common/app/job/main/growup/dao/income/archive.go
2019-04-22 18:49:16 +08:00

59 lines
1.8 KiB
Go

package income
import (
"context"
"fmt"
model "go-common/app/job/main/growup/model/income"
"go-common/library/log"
)
const (
_getArchiveByDateSQL = "SELECT id, %s, mid, tag_id, income, date FROM %s WHERE id > ? AND date = ? ORDER BY id LIMIT ?"
_getBgmIncomeByDateSQL = "SELECT id, sid, mid, income, date FROM bgm_income WHERE id > ? AND date = ? ORDER BY id LIMIT ?"
)
// GetArchiveByDate get archive by date
func (d *Dao) GetArchiveByDate(c context.Context, aid, table, date string, id int64, limit int) (archives []*model.ArchiveIncome, err error) {
archives = make([]*model.ArchiveIncome, 0)
rows, err := d.db.Query(c, fmt.Sprintf(_getArchiveByDateSQL, aid, table), id, date, limit)
if err != nil {
log.Error("GetArchiveByDate d.db.Query error(%v)", err)
return
}
defer rows.Close()
for rows.Next() {
archive := &model.ArchiveIncome{}
err = rows.Scan(&archive.ID, &archive.AID, &archive.MID, &archive.TagID, &archive.Income, &archive.Date)
if err != nil {
log.Error("GetArchiveByDate rows.Scan error(%v)", err)
return
}
archives = append(archives, archive)
}
return
}
// GetBgmIncomeByDate get bgm income by date
func (d *Dao) GetBgmIncomeByDate(c context.Context, date string, id int64, limit int) (archives []*model.ArchiveIncome, err error) {
archives = make([]*model.ArchiveIncome, 0)
rows, err := d.db.Query(c, _getBgmIncomeByDateSQL, id, date, limit)
if err != nil {
log.Error("GetArchiveByDate d.db.Query error(%v)", err)
return
}
defer rows.Close()
for rows.Next() {
archive := &model.ArchiveIncome{}
err = rows.Scan(&archive.ID, &archive.AID, &archive.MID, &archive.Income, &archive.Date)
if err != nil {
log.Error("GetArchiveByDate rows.Scan error(%v)", err)
return
}
archives = append(archives, archive)
}
return
}