industrial_subject.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package services
  2. import (
  3. "errors"
  4. "hongze/hongze_web_mfyx/models"
  5. "hongze/hongze_web_mfyx/utils"
  6. )
  7. // GetArticleGroupSubjectMap 获取文章所关联的标的
  8. func GetArticleGroupSubjectMap(articleIds []int) (mapResp map[int][]*models.IndustrialSubject, subjectMap map[int]string, err error) {
  9. lenArticleIds := len(articleIds)
  10. if lenArticleIds == 0 {
  11. return
  12. }
  13. var condition string
  14. var pars []interface{}
  15. condition = ` AND g.article_id IN (` + utils.GetOrmInReplace(len(articleIds)) + `)`
  16. pars = append(pars, articleIds)
  17. list, e := models.GetArticleGroupSubjectList(pars, condition)
  18. if e != nil {
  19. err = errors.New("GetArticleGroupSubjectList " + e.Error())
  20. return
  21. }
  22. listMap := make(map[int][]*models.IndustrialSubject)
  23. subMap := make(map[int]string)
  24. mapName := make(map[int]int)
  25. if len(list) > 0 {
  26. for _, v := range list {
  27. item := models.IndustrialSubject{
  28. IndustrialSubjectId: v.IndustrialSubjectId,
  29. IndustrialManagementId: v.IndustrialManagementId,
  30. SubjectName: v.SubjectName,
  31. }
  32. listMap[v.ArticleId] = append(listMap[v.ArticleId], &item)
  33. subMap[v.IndustrialSubjectId] = v.SubjectName
  34. mapName[v.IndustrialSubjectId] = v.IndustrialManagementId
  35. }
  36. }
  37. mapResp = listMap
  38. subjectMap = subMap
  39. return
  40. }