bilibili-backup/app/service/bbq/video/dao/video_upload_process.go
2019-04-22 02:59:20 +00:00

52 lines
1.8 KiB
Go

package dao
import (
"context"
"fmt"
"go-common/app/service/bbq/video/api/grpc/v1"
"go-common/app/service/bbq/video/model"
"go-common/library/ecode"
"go-common/library/log"
)
const (
insertOrUpdateVUP = "insert into video_upload_process (`svid`,`title`,`mid`,`upload_status`,`retry_times`,`home_img_url`,`home_img_width`,`home_img_height`) values(?,?,?,?,?,?,?,?) on duplicate key update `title` = values(`title`),`mid` = values(`mid`),`upload_status` = values(`upload_status`),`retry_times`= values(`retry_times`)"
selectPrepareVUP = "select `svid`,`title`,`upload_status`,`home_img_url`,`home_img_height`,`home_img_width` from video_upload_process where mid=%d and is_deleted=0 and upload_status != 1 order by ctime desc limit 20"
)
//InsertOrUpdateVUP ..
func (d *Dao) InsertOrUpdateVUP(c context.Context, vup *model.VideoUploadProcess) (err error) {
if vup == nil {
err = ecode.BBQSystemErr
log.Errorw(c, "event", "InsertVUP req nil")
return
}
if _, err = d.db.Exec(c, insertOrUpdateVUP, vup.SVID, vup.Title, vup.Mid, vup.UploadStatus, vup.RetryTimes, vup.HomeImgURL, vup.HomeImgWidth, vup.HomeImgHeight); err != nil {
log.Errorw(c, "event", "InsertVR err", "err", err, "param", vup)
return
}
return
}
// GetPrepareVUP 获取数据
func (d *Dao) GetPrepareVUP(c context.Context, mid int64) (vups []*v1.UploadingVideo, err error) {
querySQL := fmt.Sprintf(selectPrepareVUP, mid)
rows, err := d.db.Query(c, querySQL)
if err != nil {
log.Errorw(c, "log", "get prepare vup fail", "mid", mid)
return
}
defer rows.Close()
for rows.Next() {
vup := new(v1.UploadingVideo)
if err = rows.Scan(&vup.Svid, &vup.Title, &vup.UploadStatus, &vup.HomeImgUrl, &vup.HomeImgHeight, &vup.HomeImgWidth); err != nil {
log.Errorw(c, "log", "scan vup fail")
return
}
vups = append(vups, vup)
}
return
}