|
@@ -91,6 +91,12 @@ func HandleIndustryList(list []*models.IndustrialManagement, user *models.WxUser
|
|
|
fllowMap[v.IndustrialManagementId] = v.IndustrialManagementId
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ hotMap, e := IndustrialManagementHotMapGropuPermission()
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("获取hot标签失败,IndustrialManagementHotMapGropuPermission " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
|
articleTypeIds, _ := GetYanXuanArticleTypeIds()
|
|
@@ -100,7 +106,7 @@ func HandleIndustryList(list []*models.IndustrialManagement, user *models.WxUser
|
|
|
}
|
|
|
if articleTypeIds != "" {
|
|
|
if resource == "Yx" {
|
|
|
- condition = ` AND a.article_type_id IN (` + articleTypeIds + `) `
|
|
|
+ condition = ` AND a.publish_status = 1 AND a.article_type_id IN (` + articleTypeIds + `) `
|
|
|
} else {
|
|
|
condition = ` AND a.article_type_id NOT IN (` + articleTypeIds + `) `
|
|
|
}
|
|
@@ -121,6 +127,7 @@ func HandleIndustryList(list []*models.IndustrialManagement, user *models.WxUser
|
|
|
if fllowMap[v.IndustrialManagementId] > 0 {
|
|
|
list[k].IsFollow = true
|
|
|
}
|
|
|
+ v.IsHot = hotMap[v.IndustrialManagementId]
|
|
|
industrialIdArr = append(industrialIdArr, v.IndustrialManagementId)
|
|
|
if _, ok := mapindustrialId[v.IndustrialManagementId]; !ok {
|
|
|
continue
|
|
@@ -135,12 +142,11 @@ func HandleIndustryList(list []*models.IndustrialManagement, user *models.WxUser
|
|
|
}
|
|
|
v.AuthInfo = au
|
|
|
}
|
|
|
-
|
|
|
if len(industrialIdArr) > 0 {
|
|
|
//合并产业关联的标的
|
|
|
- condition += ` AND m.industrial_management_id IN (` + utils.GetOrmInReplace(len(industrialIdArr)) + `)`
|
|
|
+ conditionSubject := condition + ` AND m.industrial_management_id IN (` + utils.GetOrmInReplace(len(industrialIdArr)) + `)`
|
|
|
pars = append(pars, industrialIdArr)
|
|
|
- listSubjcet, err = models.GetIndustrialSubjectAllByIndustrialId(pars, condition)
|
|
|
+ listSubjcet, err = models.GetIndustrialSubjectAllByIndustrialId(pars, conditionSubject)
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
@@ -157,8 +163,11 @@ func HandleIndustryList(list []*models.IndustrialManagement, user *models.WxUser
|
|
|
mapUPdateTime := make(map[int]string)
|
|
|
articleIdArr := make([]int, 0)
|
|
|
//获取这些产业下最新更新的文章
|
|
|
-
|
|
|
- listUpdateTime, err := models.GetNewArticleDetailByIndustrialIds(industrialIdArr)
|
|
|
+ var conditionindustrial string
|
|
|
+ var parsindustrial []interface{}
|
|
|
+ conditionindustrial = condition + ` AND mg.industrial_management_id IN (` + utils.GetOrmInReplace(len(industrialIdArr)) + `)`
|
|
|
+ parsindustrial = append(parsindustrial, industrialIdArr)
|
|
|
+ listUpdateTime, err := models.GetNewArticleDetailByIndustrialIds(parsindustrial, conditionindustrial)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
return
|
|
|
}
|
|
@@ -247,22 +256,11 @@ func HandleIndustryList(list []*models.IndustrialManagement, user *models.WxUser
|
|
|
}
|
|
|
list[k].IsFollow = true
|
|
|
}
|
|
|
-
|
|
|
list[k].UpdateTime = utils.TimeRemoveHms(mapUPdateTime[v.IndustrialManagementId])
|
|
|
- if userId > 0 {
|
|
|
- //如果文章没有阅读,而且,文章的发布时间晚于项目的上线时间,而且文章的发布时间晚于用户的注册时间,就进行标红处理
|
|
|
- if mapHistroyindustrialId[v.IndustrialManagementId] == 0 || timeLineRedMap[v.IndustrialManagementId] {
|
|
|
- if user.CreatedTime.Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
|
|
|
- list[k].IsRed = true
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- if utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
|
|
|
- list[k].IsRed = true
|
|
|
- }
|
|
|
- list[k].IsFollow = true
|
|
|
- }
|
|
|
|
|
|
+ if resource == "Yx" {
|
|
|
+ list[k].IsRed = false
|
|
|
+ }
|
|
|
// 关联报告发布时间均在3个月内则标记New
|
|
|
if v.MinReportTime != "" {
|
|
|
t, e := time.Parse(utils.FormatDateTime, v.MinReportTime)
|
|
@@ -344,3 +342,39 @@ func GetUserFollowIndustrialMap(user *models.WxUserItem) (mapResp map[int]int, e
|
|
|
mapResp = fllowMap
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// IndustrialManagementHotMapGropuPermission获取近一个月报告阅读数量最多的产业信息 根据行业分组
|
|
|
+func IndustrialManagementHotMapGropuPermission() (mapResp map[int]bool, err error) {
|
|
|
+ var topCond string
|
|
|
+ var topPars []interface{}
|
|
|
+ toplist, err := models.GetTopOneMonthArtReadNumIndustryAll(topCond, topPars)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mapPermission := make(map[int][]*models.IndustrialManagement)
|
|
|
+ mapPermissionMax := make(map[int]int)
|
|
|
+
|
|
|
+ for _, v := range toplist {
|
|
|
+ item := new(models.IndustrialManagement)
|
|
|
+ item.ChartPermissionId = v.ChartPermissionId
|
|
|
+ item.IndustrialManagementId = v.IndustrialManagementId
|
|
|
+ item.ArticleReadNum = v.ArticleReadNum
|
|
|
+ mapPermission[v.ChartPermissionId] = append(mapPermission[v.ChartPermissionId], item)
|
|
|
+ }
|
|
|
+ for k, v := range mapPermission {
|
|
|
+ for _, item := range v {
|
|
|
+ //mapPermissionMax[k] = item.ArticleReadNum
|
|
|
+ if item.ArticleReadNum > mapPermissionMax[k] {
|
|
|
+ mapPermissionMax[k] = item.ArticleReadNum
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ mapResp = make(map[int]bool, 0)
|
|
|
+ for _, v := range toplist {
|
|
|
+ if v.ArticleReadNum == mapPermissionMax[v.ChartPermissionId] {
|
|
|
+ mapResp[v.IndustrialManagementId] = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|