123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package audit
- import (
- "context"
- "go-common/app/interface/main/tv/model"
- "go-common/library/ecode"
- )
- const (
- _typeUGC = "ugc"
- _typePGC = "pgc"
- )
- type cidExistFunc = func(context.Context, int64) ([]int64, error)
- type cidTransFunc = func(context.Context, []int64, int64) error
- type reqTrans struct {
- CID int64
- Action int64
- CheckFunc cidExistFunc
- TransFunc cidTransFunc
- }
- // Transcode update the video/ep's transcoded status
- func (s *Service) Transcode(req *model.ReqTransode) (err error) {
- var ctx = context.TODO()
- if req.ContType == _typePGC {
- err = s.transPGC(ctx, req.CID, req.Action)
- } else if req.ContType == _typeUGC {
- err = s.transUGC(ctx, req.CID, req.Action)
- } else {
- err = ecode.TvDangbeiWrongType
- }
- return
- }
- func commonTrans(ctx context.Context, req reqTrans) (err error) {
- var ids []int64
- if ids, err = req.CheckFunc(ctx, req.CID); err != nil {
- return
- }
- if len(ids) == 0 {
- return ecode.NothingFound
- }
- err = req.TransFunc(ctx, ids, req.Action)
- return
- }
- func (s *Service) transPGC(ctx context.Context, cid int64, action int64) (err error) {
- return commonTrans(ctx, reqTrans{
- CID: cid,
- Action: action,
- CheckFunc: s.auditDao.PgcCID,
- TransFunc: s.auditDao.PgcTranscode,
- })
- }
- func (s *Service) transUGC(ctx context.Context, cid int64, action int64) (err error) {
- return commonTrans(ctx, reqTrans{
- CID: cid,
- Action: action,
- CheckFunc: s.auditDao.UgcCID,
- TransFunc: s.auditDao.UgcTranscode,
- })
- }
- // ApplyPGC saves the pgc transcode apply time
- func (s *Service) ApplyPGC(ctx context.Context, req *model.ReqApply) (err error) {
- return commonTrans(ctx, reqTrans{
- CID: req.CID,
- Action: req.ApplyTime,
- CheckFunc: s.auditDao.PgcCID,
- TransFunc: s.auditDao.ApplyPGC,
- })
- }
|