subtitle_subject.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package service
  2. import (
  3. "context"
  4. "go-common/app/admin/main/dm/model"
  5. "go-common/library/log"
  6. )
  7. // SubtitleSwitch .
  8. func (s *Service) SubtitleSwitch(c context.Context, aid int64, allow bool, closed bool) (err error) {
  9. var (
  10. subtitleSubject *model.SubtitleSubject
  11. attr = model.AttrNo
  12. )
  13. if subtitleSubject, err = s.getSubtitleSubject(c, aid); err != nil {
  14. log.Error("SubtitleSwitch(aid:%v) error(%v)", aid, err)
  15. return
  16. }
  17. if subtitleSubject == nil {
  18. subtitleSubject = &model.SubtitleSubject{
  19. Aid: aid,
  20. }
  21. }
  22. subtitleSubject.Allow = allow
  23. if closed {
  24. attr = model.AttrYes
  25. }
  26. subtitleSubject.AttrSet(attr, model.AttrSubtitleClose)
  27. if err = s.addSubtitleSubject(c, subtitleSubject); err != nil {
  28. log.Error("SubtitleSwitch(subtitleSubject:%+v) error(%v)", subtitleSubject, err)
  29. return
  30. }
  31. return
  32. }
  33. func (s *Service) getSubtitleSubject(c context.Context, aid int64) (subtitleSubject *model.SubtitleSubject, err error) {
  34. if subtitleSubject, err = s.dao.GetSubtitleSubject(c, aid); err != nil {
  35. return
  36. }
  37. return
  38. }
  39. func (s *Service) addSubtitleSubject(c context.Context, subtitleSubject *model.SubtitleSubject) (err error) {
  40. if err = s.dao.AddSubtitleSubject(c, subtitleSubject); err != nil {
  41. return
  42. }
  43. if err = s.dao.DelSubtitleSubjectCache(c, subtitleSubject.Aid); err != nil {
  44. return
  45. }
  46. return
  47. }