|
@@ -2,8 +2,10 @@ package services
|
|
|
|
|
|
import (
|
|
|
"errors"
|
|
|
+ "fmt"
|
|
|
"hongze/hongze_clpt/models"
|
|
|
"hongze/hongze_clpt/utils"
|
|
|
+ "strings"
|
|
|
)
|
|
|
|
|
|
// GetArticleGroupSubjectMap 获取文章所关联的标的
|
|
@@ -40,3 +42,77 @@ func GetArticleGroupSubjectMap(articleIds []int) (mapResp map[int][]*models.Indu
|
|
|
subjectMap = subMap
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// GetArticleGroupSubjectMapByIndustrialManagementId 通过文章ID,产业;获取文章所关联的标的
|
|
|
+func GetArticleGroupSubjectMapByIndustrialManagementId(articleIds []int, industrialManagementId int) (mapResp map[int][]*models.CygxIndustrialSubject) {
|
|
|
+ var err error
|
|
|
+ lenArticleIds := len(articleIds)
|
|
|
+ if lenArticleIds == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("通过文章ID,产业;获取文章所关联的标的失败 ,GetArticleGroupSubjectMapByIndustrialManagementId err"+err.Error(), "articleIds:", articleIds), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ mapSubject := make(map[string]int)
|
|
|
+ listSub, e := models.GetcygxIndustrialSubject(industrialManagementId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetcygxIndustrialSubject, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listSub {
|
|
|
+ mapSubject[v.SubjectName] = v.IndustrialSubjectId
|
|
|
+ }
|
|
|
+
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition += ` AND article_id IN (` + utils.GetOrmInReplace(len(articleIds)) + `) `
|
|
|
+ pars = append(pars, articleIds)
|
|
|
+ articleList, e := models.GetArticleList(condition, pars)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetArticleList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ listMap := make(map[int][]*models.CygxIndustrialSubject, 0)
|
|
|
+ for _, v := range articleList {
|
|
|
+ sliceSubjects := strings.Split(v.Stock, "/")
|
|
|
+ for _, vSubject := range sliceSubjects {
|
|
|
+ sliceKuohao := strings.Split(vSubject, "(") //过滤括号
|
|
|
+ sliceXiahuaxian := strings.Split(sliceKuohao[0], "-") //过滤下划线
|
|
|
+ subject := sliceXiahuaxian[0]
|
|
|
+ if mapSubject[subject] == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ item := models.CygxIndustrialSubject{
|
|
|
+ IndustrialSubjectId: mapSubject[subject],
|
|
|
+ IndustrialManagementId: industrialManagementId,
|
|
|
+ SubjectName: subject,
|
|
|
+ }
|
|
|
+ listMap[v.ArticleId] = append(listMap[v.ArticleId], &item)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //condition = ` AND g.article_id IN (` + utils.GetOrmInReplace(len(articleIds)) + `) AND s.industrial_management_id = ? `
|
|
|
+ //pars = append(pars, articleIds, industrialManagementId)
|
|
|
+ //list, e := models.GetArticleGroupSubjectList(pars, condition)
|
|
|
+ //if e != nil {
|
|
|
+ // err = errors.New("GetArticleGroupSubjectList " + e.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //if len(list) > 0 {
|
|
|
+ // for _, v := range list {
|
|
|
+ // item := models.CygxIndustrialSubject{
|
|
|
+ // IndustrialSubjectId: v.IndustrialSubjectId,
|
|
|
+ // IndustrialManagementId: v.IndustrialManagementId,
|
|
|
+ // SubjectName: v.SubjectName,
|
|
|
+ // }
|
|
|
+ // listMap[v.ArticleId] = append(listMap[v.ArticleId], &item)
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ mapResp = listMap
|
|
|
+ return
|
|
|
+}
|