archive.go 810 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package service
  2. import (
  3. "context"
  4. "math"
  5. "go-common/app/service/main/archive/api"
  6. arcMdl "go-common/app/service/main/archive/model/archive"
  7. "go-common/library/log"
  8. )
  9. func (s *Service) archiveInfos(c context.Context, aids []int64) (archiveInfos map[int64]*api.Arc) {
  10. var (
  11. start, end int
  12. )
  13. archiveInfos = map[int64]*api.Arc{}
  14. if len(aids) <= 0 {
  15. return
  16. }
  17. page := int(math.Ceil(float64(len(aids)) / float64(100)))
  18. for i := 0; i < page; i++ {
  19. start = i * 100
  20. end = (i + 1) * 100
  21. if end > len(aids) {
  22. end = len(aids)
  23. }
  24. arg := &arcMdl.ArgAids2{Aids: aids[start:end]}
  25. infos, err := s.acvSvc.Archives3(c, arg)
  26. if err != nil {
  27. log.Error("s.arcRPC.Archives3(%v) error(%v)", arg, err)
  28. return
  29. }
  30. for _, info := range infos {
  31. archiveInfos[info.Aid] = info
  32. }
  33. }
  34. return
  35. }