53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
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
|
|
}
|