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

24 lines
644 B
Go

package dao
import (
"context"
"go-common/app/service/bbq/video/model"
"regexp"
)
const (
_insertRecord = "insert bvc_flow_record (`bvcid`,`svid`,`type`) values (?,?,?)"
_updateRecord = "update bvc_flow_record set `svid` = ?,`type` = ? where `bvcid` = ?"
)
// AddOrUpdateFlowRecord 添加bvc flow记录
func (d *Dao) AddOrUpdateFlowRecord(c context.Context, r *model.BVCRecord) error {
_, err := d.db.Exec(c, _insertRecord, r.FLowID, r.SVID, r.Type)
if err != nil {
if matched, _ := regexp.MatchString("Duplicate entry", err.Error()); matched {
_, err = d.db.Exec(c, _updateRecord, r.SVID, r.Type, r.FLowID)
}
}
return err
}