play_info.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package upcrmservice
  2. import (
  3. "context"
  4. "errors"
  5. "go-common/app/admin/main/up/model/upcrmmodel"
  6. "go-common/library/ecode"
  7. "go-common/library/log"
  8. )
  9. //PlayQueryInfo handle PlayQueryInfo
  10. func (s *Service) PlayQueryInfo(context context.Context, arg *upcrmmodel.PlayQueryArgs) (result upcrmmodel.PlayQueryResult, err error) {
  11. var types []int
  12. switch arg.BusinessType {
  13. case 0:
  14. types = append(types, upcrmmodel.BusinessTypeVideo, upcrmmodel.BusinessTypeAudio, upcrmmodel.BusinessTypeArticle)
  15. case upcrmmodel.BusinessTypeVideo, upcrmmodel.BusinessTypeAudio, upcrmmodel.BusinessTypeArticle:
  16. types = append(types, arg.BusinessType)
  17. default:
  18. err = errors.New("business type not support")
  19. return
  20. }
  21. playData, e := s.crmdb.QueryPlayInfo(arg.Mid, types)
  22. err = e
  23. if err != nil && err != ecode.NothingFound {
  24. log.Error("fail to get from db, err=%+v", err)
  25. return
  26. }
  27. if err == ecode.NothingFound {
  28. err = nil
  29. log.Warn("up not found in play info db, mid=%d", arg.Mid)
  30. }
  31. for _, v := range playData {
  32. result.BusinessData = append(result.BusinessData, upcrmmodel.CastUpPlayInfoToPlayInfo(v))
  33. }
  34. // 去查up_base_info以获取总稿件量
  35. baseInfo, e := s.crmdb.QueryUpBaseInfo(arg.Mid, "article_count_accumulate, article_count_30day")
  36. err = e
  37. if err == nil {
  38. result.ArticleCount30Day = baseInfo.ArticleCount30day
  39. result.ArticleCountAccumulate = baseInfo.ArticleCountAccumulate
  40. } else if err == ecode.NothingFound {
  41. err = nil
  42. log.Warn("up base info not found, mid=%d", arg.Mid)
  43. }
  44. log.Info("get play info ok, mid=%d", arg.Mid)
  45. return
  46. }