Browse Source

产业为空的时候展示临时标签

xingzai 2 years ago
parent
commit
d7be1dc41e
3 changed files with 72 additions and 6 deletions
  1. 45 0
      controllers/activity.go
  2. 25 6
      models/activity.go
  3. 2 0
      models/industrial_management.go

+ 45 - 0
controllers/activity.go

@@ -851,6 +851,51 @@ func (this *ActivityCoAntroller) Detail() {
 			activityInfo.ArticleList = make([]*models.ActivityArticleResp, 0)
 		}
 		activityInfo.ActivityTypeName = strings.Replace(activityInfo.ActivityTypeName, "(C类)", "", -1)
+
+		//处理活动关联的产业
+		industrialList, err := models.GetIndustrialActivityGroupManagementList(activityId)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取活动关联的产业列表信息失败,Err:" + err.Error() + "activityId:" + strconv.Itoa(activityId)
+			return
+		}
+		if len(industrialList) == 0 {
+			item := new(models.IndustrialManagementRep)
+			item.IndustryName = activityInfo.Label
+			industrialList = append(industrialList, item)
+		} else {
+			var industrialManagementId string
+			for k, v := range industrialList {
+				if v.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
+					industrialList[k].IsResearch = true
+				}
+				industrialManagementId += strconv.Itoa(v.IndustrialManagementId) + ","
+			}
+			//判断产业下是否有关联的报告,并处理是否跳转
+			industrialManagementId = strings.TrimRight(industrialManagementId, ",")
+			if industrialManagementId != "" {
+				var condition string
+				condition = ` AND m.industrial_management_id IN (` + industrialManagementId + `)`
+				listIndustrialGrop, err := models.GetSearchResourceList(condition)
+				if err != nil && err.Error() != utils.ErrNoRow() {
+					br.Msg = "获取信息失败"
+					br.ErrMsg = "GetSearchResourceList,Err:" + err.Error() + "activityId:" + strconv.Itoa(activityId)
+					return
+				}
+				mapIndustrial := make(map[int]int)
+				if len(listIndustrialGrop) > 0 {
+					for _, v := range listIndustrialGrop {
+						mapIndustrial[v.IndustrialManagementId] = v.IndustrialManagementId
+					}
+				}
+				for k, v := range industrialList {
+					if mapIndustrial[v.IndustrialManagementId] > 0 {
+						industrialList[k].IsJump = true
+					}
+				}
+			}
+		}
+		activityInfo.Listndustrial = industrialList
 		resp.Detail = activityInfo
 	}
 	resp.HasPermission = hasPermission

+ 25 - 6
models/activity.go

@@ -111,12 +111,13 @@ type ActivityDetail struct {
 	IsCClassMeeting         bool   `description:"是否是c类电话会"`
 	ArticleList             []*ActivityArticleResp
 	// 列表添加的部分结构体
-	IsBrackets        int    `description:"是否有方括号 1是 ,0 否"`
-	Label             string `description:"主题标签"`
-	ImgUrl            string `description:"图片链接"`
-	ImgUrlText        string `description:"图片链接文字"`
-	ActivityType      int    `description:"活动线上线下类型 1线上,0 线下"`
-	JmcjRoadshowTitle string `description:"进门财经手动匹配的活动名称"`
+	IsBrackets        int                        `description:"是否有方括号 1是 ,0 否"`
+	Label             string                     `description:"主题标签"`
+	ImgUrl            string                     `description:"图片链接"`
+	ImgUrlText        string                     `description:"图片链接文字"`
+	ActivityType      int                        `description:"活动线上线下类型 1线上,0 线下"`
+	JmcjRoadshowTitle string                     `description:"进门财经手动匹配的活动名称"`
+	Listndustrial     []*IndustrialManagementRep `description:"活动关联的产业信息"`
 }
 
 type CygxActivityResp struct {
@@ -765,3 +766,21 @@ func GetActivityWeekPermission() (permission string, err error) {
 	err = o.Raw(sql).QueryRow(&permission)
 	return
 }
+
+//列表
+func GetIndustrialActivityGroupManagementList(activityId int) (items []*IndustrialManagementRep, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+			p.permission_name,
+			p.chart_permission_id,
+			m.industrial_management_id,
+			m.industry_name 
+			FROM
+			cygx_industrial_activity_group_management AS am
+			INNER JOIN cygx_industrial_management AS m ON m.industrial_management_id = am.industrial_management_id
+			INNER JOIN chart_permission AS p ON p.chart_permission_id = m.chart_permission_id 
+			WHERE
+			am.activity_id = ? AND am.source = 1`
+	_, err = o.Raw(sql, activityId).QueryRows(&items)
+	return
+}

+ 2 - 0
models/industrial_management.go

@@ -16,6 +16,8 @@ type IndustrialManagementRep struct {
 	RecommendedIndex       int    `description:"推荐指数"`
 	LayoutTime             string `description:"布局时间"`
 	ArticleReadNum         int    `description:"文章阅读数量"`
+	IsResearch             bool   `description:"是否属于研选"`
+	IsJump                 bool   `description:"是否跳转"`
 }
 
 type IndustrialManagementCount struct {