123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package dao
- import (
- "context"
- plmdl "go-common/app/interface/main/playlist/model"
- "go-common/app/job/main/playlist/model"
- )
- const (
- _statSQL = "SELECT id,mid,fid,view,reply,fav,share,mtime FROM `playlist_stat` WHERE id = ?"
- _upViewSQL = "UPDATE playlist_stat SET view= ?, mtime=mtime WHERE id = ?"
- _upFavSQL = "UPDATE playlist_stat SET fav= ?, mtime=mtime WHERE id = ?"
- _upReplySQL = "UPDATE playlist_stat SET reply= ?, mtime=mtime WHERE id = ?"
- _upShareSQL = "UPDATE playlist_stat SET share= ?, mtime=mtime WHERE id = ?"
- )
- // Update updates stat in db.
- func (d *Dao) Update(c context.Context, stat *model.StatM, tp string) (rows int64, err error) {
- var tmpSQL string
- switch tp {
- case model.ViewCountType:
- tmpSQL = _upViewSQL
- case model.FavCountType:
- tmpSQL = _upFavSQL
- case model.ReplyCountType:
- tmpSQL = _upReplySQL
- case model.ShareCountType:
- tmpSQL = _upShareSQL
- }
- res, err := d.db.Exec(c, tmpSQL, *stat.Count, stat.ID)
- if err != nil {
- PromError("db:更新计数", tp+" Update(%d,%+v) error(%v)", stat.ID, stat, err)
- return
- }
- rows, err = res.RowsAffected()
- return
- }
- // Stat returns stat info.
- func (d *Dao) Stat(c context.Context, pid int64) (stat *plmdl.PlStat, err error) {
- row := d.db.QueryRow(c, _statSQL, pid)
- stat = &plmdl.PlStat{}
- if err = row.Scan(&stat.ID, &stat.Mid, &stat.Fid, &stat.View, &stat.Reply, &stat.Fav, &stat.Share, &stat.MTime); err != nil {
- PromError("db:读取计数", "Stat(%v) error(%v)", pid, err)
- }
- return
- }
|