52 lines
1.8 KiB
Go
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
|
|
}
|