bilibili-backup/app/admin/main/dm/service/subtitle_subject.go

53 lines
1.3 KiB
Go
Raw Normal View History

2019-04-22 10:59:20 +08:00
package service
import (
"context"
"go-common/app/admin/main/dm/model"
"go-common/library/log"
)
// SubtitleSwitch .
func (s *Service) SubtitleSwitch(c context.Context, aid int64, allow bool, closed bool) (err error) {
var (
subtitleSubject *model.SubtitleSubject
attr = model.AttrNo
)
if subtitleSubject, err = s.getSubtitleSubject(c, aid); err != nil {
log.Error("SubtitleSwitch(aid:%v) error(%v)", aid, err)
return
}
if subtitleSubject == nil {
subtitleSubject = &model.SubtitleSubject{
Aid: aid,
}
}
subtitleSubject.Allow = allow
if closed {
attr = model.AttrYes
}
subtitleSubject.AttrSet(attr, model.AttrSubtitleClose)
if err = s.addSubtitleSubject(c, subtitleSubject); err != nil {
log.Error("SubtitleSwitch(subtitleSubject:%+v) error(%v)", subtitleSubject, err)
return
}
return
}
func (s *Service) getSubtitleSubject(c context.Context, aid int64) (subtitleSubject *model.SubtitleSubject, err error) {
if subtitleSubject, err = s.dao.GetSubtitleSubject(c, aid); err != nil {
return
}
return
}
func (s *Service) addSubtitleSubject(c context.Context, subtitleSubject *model.SubtitleSubject) (err error) {
if err = s.dao.AddSubtitleSubject(c, subtitleSubject); err != nil {
return
}
if err = s.dao.DelSubtitleSubjectCache(c, subtitleSubject.Aid); err != nil {
return
}
return
}