Răsfoiți Sursa

活动-宏观、资源包、详情

hsun 2 ani în urmă
părinte
comite
ceade829dc
4 a modificat fișierele cu 111 adăugiri și 6 ștergeri
  1. 72 2
      controllers/activity.go
  2. 7 4
      models/activity.go
  3. 18 0
      models/industrial_management.go
  4. 14 0
      services/activity.go

+ 72 - 2
controllers/activity.go

@@ -608,7 +608,7 @@ func (this *ActivityCoAntroller) Detail() {
 		br.Msg = "请输入活动ID"
 		return
 	}
-	// TODO:【新】标签,【宏观】标签
+
 	resp := new(models.CygxActivityResp)
 	hasPermission := 0
 	var companyDetailStatus string
@@ -925,7 +925,19 @@ func (this *ActivityCoAntroller) Detail() {
 			activityInfo.YidongActivityUrl += "?source=11&fromHz=true&tgc=" + ydTgc
 		}
 		//处理按钮是否展示问题
-		resp.Detail = services.ActivityButtonShow(activityInfo)
+		actDetail := services.ActivityButtonShow(activityInfo)
+
+		// 查研观向7.4-行业新标签
+		actIds := []int{actDetail.ActivityId}
+		newLabelMap, e := services.GetActivityNewLabelMap(actIds)
+		if e != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取活动产业新标签失败, Err: " + e.Error()
+			return
+		}
+		actDetail.IndustryNewLabel = newLabelMap[actDetail.ActivityId]
+
+		resp.Detail = actDetail
 	}
 	resp.HasPermission = hasPermission
 	br.Ret = 200
@@ -2705,6 +2717,14 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 	if chartPermissionIds == "undefined" {
 		chartPermissionIds = ""
 	}
+
+	// 查研观向7.4-始终查询宏观的活动
+	if chartPermissionIds == "" {
+		chartPermissionIds = "1"
+	} else {
+		chartPermissionIds += ",1"
+	}
+
 	if whichDay == "undefined" {
 		whichDay = ""
 	}
@@ -2845,6 +2865,23 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 	for _, v := range list {
 		resp.List = append(resp.List, services.ActivityButtonShow(v))
 	}
+
+	// 查研观向7.4-判断标签是否为产业, 为产业时是否跳转资源包
+	if label != "" {
+		sourceIndustry, e := models.GetSourceIndustryByName(label)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取标签产业资源包失败, Err:" + e.Error()
+			return
+		}
+		if sourceIndustry != nil {
+			resp.IsJump = true
+			if sourceIndustry.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
+				resp.IsResearch = true
+			}
+		}
+	}
+
 	resp.Paging = page
 	br.Ret = 200
 	br.Success = true
@@ -3257,6 +3294,7 @@ func (this *ActivityCoAntroller) LabelTypeListV5() {
 	chartPermissionIds := this.GetString("ChartPermissionIds")
 	whichDay := this.GetString("WhichDay")
 	activeState := this.GetString("ActiveState")
+
 	//入参为 undefined 时的处理
 	if chartPermissionIds == "undefined" {
 		chartPermissionIds = ""
@@ -3267,6 +3305,14 @@ func (this *ActivityCoAntroller) LabelTypeListV5() {
 	if activeState == "undefined" || activeState == "" {
 		activeState = "1"
 	}
+
+	// 查研观向7.4-始终查询宏观的活动
+	if chartPermissionIds == "" {
+		chartPermissionIds = "1"
+	} else {
+		chartPermissionIds += ",1"
+	}
+
 	//adminIds, err := models.GetSelleridWhichGroup(user.CompanyId, 2)
 	//if err != nil {
 	//	br.Msg = "获取失败"
@@ -3300,6 +3346,14 @@ func (this *ActivityCoAntroller) LabelTypeListV5() {
 	permissionNameStr = strings.Replace(permissionNameStr, "(主观)", "", -1)
 	permissionNameStr = strings.Replace(permissionNameStr, "(客观)", "", -1)
 	permissionNameStr = strings.TrimRight(permissionNameStr, ",")
+
+	// 查研观向7.4-始终查询宏观的权限(无论是否有权限)
+	if permissionNameStr == `` {
+		permissionNameStr = `'宏观'`
+	} else {
+		permissionNameStr += `, '宏观'`
+	}
+
 	list, err := models.GetActivityTypeHomeList()
 	if err != nil {
 		br.Msg = "获取失败"
@@ -4259,6 +4313,14 @@ func (this *ActivityCoAntroller) LabelTypeListV6Pc() {
 	if activeState == "undefined" || activeState == "" || activeState == "1" {
 		activeState = "1,2"
 	}
+
+	// 查研观向7.4-始终查询宏观的活动
+	if chartPermissionIds == "" {
+		chartPermissionIds = "1"
+	} else {
+		chartPermissionIds += ",1"
+	}
+
 	//adminIds, err := models.GetSelleridWhichGroup(user.CompanyId, 2)
 	//if err != nil {
 	//	br.Msg = "获取失败"
@@ -4294,6 +4356,14 @@ func (this *ActivityCoAntroller) LabelTypeListV6Pc() {
 	permissionNameStr = strings.Replace(permissionNameStr, "(主观)", "", -1)
 	permissionNameStr = strings.Replace(permissionNameStr, "(客观)", "", -1)
 	permissionNameStr = strings.TrimRight(permissionNameStr, ",")
+
+	// 查研观向7.4-始终查询宏观的权限(无论是否有权限)
+	if permissionNameStr == `` {
+		permissionNameStr = `'宏观'`
+	} else {
+		permissionNameStr += `, '宏观'`
+	}
+
 	list, err := models.GetActivityTypeHomeListPc()
 	if err != nil {
 		br.Msg = "获取失败"

+ 7 - 4
models/activity.go

@@ -182,6 +182,7 @@ type ActivityDetail struct {
 	IsCanAppointmentMinutes int                        `description:"是否可预约纪要 1是 ,0 否 默认0 "`
 	YidongActivityId        string                     `description:"易董活动ID"`
 	YidongActivityUrl       string                     `description:"易董活动跳转地址"`
+	IndustryNewLabel        bool                       `description:"是否产业新标签"`
 }
 
 type CygxActivityResp struct {
@@ -259,10 +260,12 @@ type CygxActivityList struct {
 }
 
 type GetCygxActivityListRep struct {
-	Paging *paging.PagingItem `description:"分页数据"`
-	List   []*ActivityDetail
-	Label  string `description:"主题"`
-	ImgUrl string `description:"图片路径"`
+	Paging     *paging.PagingItem `description:"分页数据"`
+	List       []*ActivityDetail
+	Label      string `description:"主题"`
+	ImgUrl     string `description:"图片路径"`
+	IsResearch bool   `description:"是否属于研选"`
+	IsJump     bool   `description:"是否跳转"`
 }
 
 //列表

+ 18 - 0
models/industrial_management.go

@@ -580,4 +580,22 @@ func GetTopOneMonthArtReadNumIndustry() (item *IndustrialManagement, err error)
 	sql := `SELECT * FROM cygx_industrial_management ORDER BY article_read_num DESC LIMIT 1`
 	err = orm.NewOrm().Raw(sql).QueryRow(&item)
 	return
+}
+
+// GetSourceIndustryByName 通过名称获取资源包产业
+func GetSourceIndustryByName(industryName string) (item *IndustrialManagement, err error) {
+	sql := `SELECT
+				m.industry_name,
+				m.industrial_management_id,
+				m.chart_permission_id
+			FROM
+				cygx_industrial_management AS m
+			INNER JOIN cygx_industrial_article_group_management AS mg ON mg.industrial_management_id = m.industrial_management_id
+			INNER JOIN cygx_article AS a ON a.article_id = mg.article_id AND a.article_type != 'lyjh'
+			WHERE
+				1 = 1 AND m.industry_name = ? AND a.publish_status = 1
+			GROUP BY
+				m.industrial_management_id`
+	err = orm.NewOrm().Raw(sql, industryName).QueryRow(&item)
+	return
 }

+ 14 - 0
services/activity.go

@@ -393,6 +393,11 @@ func GetShareNoPowe(activityInfo *models.ActivityDetail, permissionStr string, u
 
 // 校验用户报名的权限
 func GetHavePower(activityInfo *models.ActivityDetail, permissionStr, companyDetailStatus string, userType int) (havePower bool, err error) {
+	// 查研观向7.4-宏观活动不作权限限制
+	if activityInfo.ChartPermissionId == 1 {
+		havePower = true
+		return
+	}
 	if (activityInfo.ActivityTypeId == 1 || activityInfo.ActivityTypeId == 3) && strings.Contains(permissionStr, "专家") && activityInfo.LimitPeopleNum == 0 {
 		havePower = true
 	} else if activityInfo.ActivityTypeId == 3 && strings.Contains(permissionStr, "专家") && companyDetailStatus == "正式" && strings.Contains(activityInfo.CustomerTypeIds, "4") {
@@ -459,6 +464,14 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
 	permissionNameStr = strings.Replace(permissionNameStr, "(主观)", "", -1)
 	permissionNameStr = strings.Replace(permissionNameStr, "(客观)", "", -1)
 	permissionNameStr = strings.TrimRight(permissionNameStr, ",")
+
+	// 查研观向7.4-始终查询宏观的权限(无论是否有权限)
+	if permissionNameStr == `` {
+		permissionNameStr = `'宏观'`
+	} else {
+		permissionNameStr += `, '宏观'`
+	}
+
 	var condition string
 	var conditionAdmin string
 	var sqlExport string // 专家权限处理
@@ -489,6 +502,7 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
 	if isPower == 1 {
 		condition += permissionSqlStr
 	}
+
 	//行业名称
 	if len(chartPermissionIds) > 0 {
 		condition += ` AND art.chart_permission_id  IN (` + chartPermissionIds + `)`