xingzai hai 11 meses
pai
achega
149a372297
Modificáronse 3 ficheiros con 272 adicións e 83 borrados
  1. 120 28
      controllers/cygx/user.go
  2. 140 45
      models/cygx/cygx_user.go
  3. 12 10
      models/cygx/industry_fllow.go

+ 120 - 28
controllers/cygx/user.go

@@ -635,7 +635,7 @@ func (this *UserController) TableList() {
 			return
 		}
 
-		List := []*cygx.CygxUserTableRep{{PermissionName: "报告阅读列表", Source: 1, TotalNum: countDetail.HistoryNum + countDetail.YanxuanSpecialNum},
+		List := []*cygx.CygxUserTableRep{{PermissionName: "报告阅读列表", Source: 1, TotalNum: countDetail.HistoryNum},
 			{PermissionName: "活动互动记录", Source: 2, TotalNum: countDetail.OnLineNum + countDetail.OfficeNum},
 			{PermissionName: "专项调研", Source: 8, TotalNum: countDetail.TripNum},
 			{PermissionName: "收藏的报告", Source: 3, TotalNum: countDetail.CountNum},
@@ -653,14 +653,14 @@ func (this *UserController) TableList() {
 			return
 		}
 
-		List := []*cygx.CygxUserTableRep{{PermissionName: "报告阅读列表", Source: 1, TotalNum: countDetail.HistoryNum + countDetail.YanxuanSpecialNum},
+		List := []*cygx.CygxUserTableRep{{PermissionName: "报告阅读列表", Source: 1, TotalNum: countDetail.HistoryNum},
 			{PermissionName: "活动互动记录", Source: 2, TotalNum: countDetail.OnLineNum + countDetail.OfficeNum},
 			{PermissionName: "收藏的报告", Source: 3, TotalNum: countDetail.CountNum},
 			{PermissionName: "关注的产业", Source: 5, TotalNum: countDetail.IndustryFllowNum},
 			{PermissionName: "关注的作者", Source: 6, TotalNum: countDetail.DepartmentFollowNum},
-			{PermissionName: "专栏文章阅读记录", Source: 11, TotalNum: 0},
-			{PermissionName: "收藏的专栏文章", Source: 12, TotalNum: 0},
-			{PermissionName: "关注的专栏作者", Source: 13, TotalNum: 0},
+			{PermissionName: "专栏文章阅读记录", Source: 11, TotalNum: countDetail.YanxuanSpecialNum},
+			{PermissionName: "收藏的专栏文章", Source: 12, TotalNum: countDetail.YanxuanSpecialCollectNum},
+			{PermissionName: "关注的专栏作者", Source: 13, TotalNum: countDetail.YanxuanSpecialFollowNum},
 			{PermissionName: "搜索", Source: 7, TotalNum: 0}}
 		resp.List = List
 	}
@@ -688,6 +688,7 @@ func (this *UserController) TableList() {
 // @Param   StartDate   query   string  true       "开始时间"
 // @Param   EndDate   query   string  true       "结束时间"
 // @Param   KeyWord   query   string  true       "搜索关键词"
+// @Param  ClassType   query   int  true       "列表类型,1:权益,2:研选,默认1"
 // @Success 200 {object} cygx.UserInteractionListResp
 // @router /user/interaction/detail [get]
 func (this *UserController) TableDetail() {
@@ -721,6 +722,7 @@ func (this *UserController) TableDetail() {
 	keyWord := this.GetString("KeyWord")
 	source, _ := this.GetInt("Source")
 	identityType, _ := this.GetInt("IdentityType")
+	classType, _ := this.GetInt("ClassType", 1)
 	if userId < 1 {
 		br.Msg = "用户不存在"
 		return
@@ -736,30 +738,30 @@ func (this *UserController) TableDetail() {
 	}
 	mobile := wxUser.Mobile
 
-	var checkSource bool
+	//var checkSource bool
 	var MeetingNum int
 	var NoMeetingNum int
 	var list []*cygx.UserInteraction
 
-	listTable := []*cygx.CygxUserTableRep{{PermissionName: "报告阅读列表", Source: 1, TotalNum: 10},
-		{PermissionName: "活动互动记录", Source: 2, TotalNum: 10},
-		{PermissionName: "收藏的报告", Source: 3, TotalNum: 10},
-		{PermissionName: "收藏图表", Source: 4, TotalNum: 10},
-		{PermissionName: "关注的产业", Source: 5, TotalNum: 10},
-		{PermissionName: "关注的作者", Source: 6, TotalNum: 10},
-		{PermissionName: "搜索", Source: 7, TotalNum: 10},
-		{PermissionName: "专项调研", Source: 8, TotalNum: 10},
-		{PermissionName: "音视频播放", Source: 9, TotalNum: 10},
-		{PermissionName: "首页标签点击", Source: 10, TotalNum: 10}}
-	for _, v := range listTable {
-		if v.Source == source {
-			checkSource = true
-		}
-	}
-	//默认类型1
-	if !checkSource {
-		source = 1
-	}
+	//listTable := []*cygx.CygxUserTableRep{{PermissionName: "报告阅读列表", Source: 1, TotalNum: 10},
+	//	{PermissionName: "活动互动记录", Source: 2, TotalNum: 10},
+	//	{PermissionName: "收藏的报告", Source: 3, TotalNum: 10},
+	//	{PermissionName: "收藏图表", Source: 4, TotalNum: 10},
+	//	{PermissionName: "关注的产业", Source: 5, TotalNum: 10},
+	//	{PermissionName: "关注的作者", Source: 6, TotalNum: 10},
+	//	{PermissionName: "搜索", Source: 7, TotalNum: 10},
+	//	{PermissionName: "专项调研", Source: 8, TotalNum: 10},
+	//	{PermissionName: "音视频播放", Source: 9, TotalNum: 10},
+	//	{PermissionName: "首页标签点击", Source: 10, TotalNum: 10}}
+	//for _, v := range listTable {
+	//	if v.Source == source {
+	//		checkSource = true
+	//	}
+	//}
+	////默认类型1
+	//if !checkSource {
+	//	source = 1
+	//}
 	var total int
 	var condition string
 	var pars []interface{}
@@ -782,6 +784,11 @@ func (this *UserController) TableDetail() {
 		//	return
 		//}
 
+		if classType == 1 {
+			condition += "  AND art.article_type_id =  0 "
+		} else {
+			condition += "  AND art.article_type_id >  0 "
+		}
 		condition += " 	AND (r.mobile = '" + wxUser.Mobile + "'  OR  r.email = '" + wxUser.Mobile + "')  "
 
 		total, list, err = cygx.GetCygxArticleHistoryRecordByUserNew(condition, startSize, pageSize)
@@ -843,6 +850,11 @@ func (this *UserController) TableDetail() {
 	} else if source == 2 {
 		if mobile != "" {
 			condition = ` AND s.mobile = '` + mobile + `' `
+			if classType == 1 {
+				condition += "  AND  a.chart_permission_id  != 31 "
+			} else {
+				condition += "  AND  a.chart_permission_id  = 31 "
+			}
 
 			if isMeeting == "1" {
 				condition += ` AND s.is_meeting = 1 `
@@ -907,7 +919,13 @@ func (this *UserController) TableDetail() {
 			}
 		}
 	} else if source == 3 {
-		total, err = cygx.GetCygxArticleCollectCount(userId)
+		if classType == 1 {
+			condition += "  AND art.article_type_id =  0 "
+		} else {
+			condition += "  AND art.article_type_id >  0 "
+		}
+
+		total, err = cygx.GetCygxArticleCollectCount(userId, condition)
 		if err != nil {
 			br.Msg = "获取信息失败"
 			br.ErrMsg = "获取用户收藏记录总数失败,Err:" + err.Error()
@@ -961,13 +979,20 @@ func (this *UserController) TableDetail() {
 			}
 		}
 	} else if source == 5 {
-		total, err = cygx.GetCygxIndustryFllowCount(userId)
+
+		if classType == 1 {
+			condition += "  AND a.chart_permission_id  = 31 "
+		} else {
+			condition += "  AND a.chart_permission_id  = 31 "
+		}
+
+		total, err = cygx.GetCygxIndustryFllowCount(userId, condition)
 		if err != nil {
 			br.ErrMsg = "获取信息失败,Err:" + err.Error()
 			br.Msg = "获取用户关注总数失败"
 			return
 		}
-		list, err = cygx.GetCygxIndustryFllowByUser(userId, startSize, pageSize)
+		list, err = cygx.GetCygxIndustryFllowByUser(userId, startSize, pageSize, condition)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.ErrMsg = "获取信息失败,Err:" + err.Error()
 			br.Msg = "获取用户关注总数失败"
@@ -1082,6 +1107,73 @@ func (this *UserController) TableDetail() {
 			br.Msg = "获取搜索记录列表失败"
 			return
 		}
+	} else if source == 11 { //专栏文章阅读记录
+		if startDate != "" {
+			startDate += " 00:00:00"
+			condition += ` AND r.create_time >= '` + startDate + `' `
+		}
+		if endDate != "" {
+			endDate += " 23:59:59"
+			condition += ` AND r.create_time <= '` + endDate + `' `
+		}
+		if wxUser.Mobile == "" {
+			wxUser.Mobile = wxUser.Email
+		}
+		condition += " 	AND (r.mobile = '" + wxUser.Mobile + "'  OR  r.email = '" + wxUser.Mobile + "')  "
+		total, list, err = cygx.GetCygxYanxuaSspecialHistoryRecordByUser(condition, startSize, pageSize)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取用户阅读记录,Err:" + err.Error()
+			return
+		}
+		if len(list) > 0 {
+			for k, v := range list {
+				list[k].RegisterPlatform = cygxService.GetArticleSourcePlatform(v.SourcePlatform)
+			}
+		}
+	} else if source == 12 { //收藏的专栏文章
+		if startDate != "" {
+			startDate += " 00:00:00"
+			condition += ` AND r.create_time >= '` + startDate + `' `
+		}
+		if endDate != "" {
+			endDate += " 23:59:59"
+			condition += ` AND r.create_time <= '` + endDate + `' `
+		}
+		if wxUser.Mobile == "" {
+			wxUser.Mobile = wxUser.Email
+		}
+		condition += " 	AND (r.mobile = '" + wxUser.Mobile + "'  OR  r.email = '" + wxUser.Mobile + "')  "
+		total, list, err = cygx.GetCygxYanxuanSpecialCollectByUser(condition, startSize, pageSize)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取用户阅读记录,Err:" + err.Error()
+			return
+		}
+		if len(list) > 0 {
+			for k, v := range list {
+				list[k].RegisterPlatform = cygxService.GetArticleSourcePlatform(v.SourcePlatform)
+			}
+		}
+	} else if source == 13 { //关注的专栏作者
+		if startDate != "" {
+			startDate += " 00:00:00"
+			condition += ` AND r.create_time >= '` + startDate + `' `
+		}
+		if endDate != "" {
+			endDate += " 23:59:59"
+			condition += ` AND r.create_time <= '` + endDate + `' `
+		}
+		if wxUser.Mobile == "" {
+			wxUser.Mobile = wxUser.Email
+		}
+		condition += " 	AND (r.mobile = '" + wxUser.Mobile + "'  OR  r.email = '" + wxUser.Mobile + "')  "
+		total, list, err = cygx.GetCygxYanxuanSpecialAuthorByUser(condition, startSize, pageSize)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取用户阅读记录,Err:" + err.Error()
+			return
+		}
 	}
 	page := paging.GetPaging(currentIndex, pageSize, total)
 	resp := new(cygx.UserInteractionListResp)

+ 140 - 45
models/cygx/cygx_user.go

@@ -360,6 +360,8 @@ type UserInteraction struct {
 	Industries            string // 产业
 	SubjectNames          string // 标的
 	SpecialType           int    `description:"专栏类型 1:笔记,2:观点"`
+	ArticleNum            int    // 已发布的文章数量
+	FansNum               int    // 粉丝数量
 }
 
 // 查研观向图表
@@ -455,21 +457,53 @@ func GetCygxArticleHistoryRecordByUserNew(condition string, startSize, pageSize
 		1= 1
 			AND is_del = 0  ` + condition
 
-	sql += `  UNION ALL `
+	//sql += `  UNION ALL `
+	//sql += ` 	SELECT
+	//		art.title,
+	//		art.id AS article_id,
+	//		'' AS article_id_md5,
+	//		art.publish_time AS publish_date,
+	//		'' AS category_name,
+	//		r.create_time,
+	//		r.stop_time,
+	//		r.register_platform AS source_platform,
+	//		r.register_platform,
+	//		art.type AS special_type
+	//	FROM
+	//		cygx_yanxuan_special_record AS r
+	//		INNER JOIN cygx_yanxuan_special AS art ON art.id = r.yanxuan_special_id
+	//	WHERE 1 = 1 ` + condition
+
+	totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z `
+	err = o.Raw(totalSql).QueryRow(&total)
+	if err != nil {
+		return
+	}
+
+	sql += ` ORDER BY create_time DESC, article_id DESC   `
+	if startSize > 0 || pageSize > 0 {
+		sql += ` LIMIT ` + strconv.Itoa(startSize) + "," + strconv.Itoa(pageSize)
+	}
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+// 用户阅读记录列表
+func GetCygxYanxuaSspecialHistoryRecordByUser(condition string, startSize, pageSize int) (total int, items []*UserInteraction, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	var sql string
 	sql += ` 	SELECT
 			art.title,
 			art.id AS article_id,
-			'' AS article_id_md5,
 			art.publish_time AS publish_date,
-			'' AS category_name,
 			r.create_time,
 			r.stop_time,
 			r.register_platform AS source_platform,
-			r.register_platform,
-			art.type AS special_type
+			art.type AS special_type,
+			art.industry_tags as  industry_name
 		FROM
 			cygx_yanxuan_special_record AS r
-			INNER JOIN cygx_yanxuan_special AS art ON art.id = r.yanxuan_special_id 
+			INNER JOIN cygx_yanxuan_special AS art ON art.id = r.yanxuan_special_id
 		WHERE 1 = 1 ` + condition
 
 	totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z `
@@ -486,10 +520,75 @@ func GetCygxArticleHistoryRecordByUserNew(condition string, startSize, pageSize
 	return
 }
 
+// 用户阅读记录列表
+func GetCygxYanxuanSpecialCollectByUser(condition string, startSize, pageSize int) (total int, items []*UserInteraction, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	var sql string
+	sql += ` 	SELECT
+			art.title,
+			art.id AS article_id,
+			art.publish_time AS publish_date,
+			r.create_time,
+			r.register_platform AS source_platform,
+			art.type AS special_type,
+			art.industry_tags as  industry_name
+		FROM
+			cygx_yanxuan_special_collect AS r
+			INNER JOIN cygx_yanxuan_special AS art ON art.id = r.yanxuan_special_id
+		WHERE 1 = 1 ` + condition
+
+	totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z `
+	err = o.Raw(totalSql).QueryRow(&total)
+	if err != nil {
+		return
+	}
+
+	sql += ` ORDER BY create_time DESC, article_id DESC   `
+	if startSize > 0 || pageSize > 0 {
+		sql += ` LIMIT ` + strconv.Itoa(startSize) + "," + strconv.Itoa(pageSize)
+	}
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+// 用户阅读记录列表
+func GetCygxYanxuanSpecialAuthorByUser(condition string, startSize, pageSize int) (total int, items []*UserInteraction, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	var sql string
+	sql += ` 	SELECT
+			art.special_name as  title,
+			art.id AS department_id,
+			art.nick_name,
+			art.article_num,
+			art.fans_num,
+			art.company_id,
+			art.company_name,
+			art.mobile_init as  mobile,
+			r.create_time,
+			r.register_platform AS source_platform
+		FROM
+			cygx_yanxuan_special_follow AS r
+			INNER JOIN cygx_yanxuan_special_author AS art ON art.user_id = r.follow_user_id
+		WHERE 1 = 1 ` + condition
+
+	totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z `
+	err = o.Raw(totalSql).QueryRow(&total)
+	if err != nil {
+		return
+	}
+
+	sql += ` ORDER BY create_time DESC, department_id DESC   `
+	if startSize > 0 || pageSize > 0 {
+		sql += ` LIMIT ` + strconv.Itoa(startSize) + "," + strconv.Itoa(pageSize)
+	}
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
 // 收藏列表数量
-func GetCygxArticleCollectCount(uid int) (count int, err error) {
+func GetCygxArticleCollectCount(uid int, condition string) (count int, err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
-	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_article_collect as r INNER JOIN cygx_article AS art ON art.article_id = r.article_id  WHERE   user_id = ?  `
+	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_article_collect as r INNER JOIN cygx_article AS art ON art.article_id = r.article_id  WHERE   user_id = ?  ` + condition
 	err = o.Raw(sqlCount, uid).QueryRow(&count)
 	return
 }
@@ -903,21 +1002,23 @@ ORDER BY
 }
 
 type GetUserInteractionTableCountResp struct {
-	HistoryNum          int `description:"报告阅读"`
-	CountNum            int `description:"报告收藏"`
-	IndustryFllowNum    int `description:"产业关注"`
-	DepartmentFollowNum int `description:"作者关注"`
-	KeyWordNum          int `description:"搜索关键词"`
-	OnLineNum           int `description:"线上互动活动"`
-	OfficeNum           int `description:"线下互动活动"`
-	ActivityNum         int `description:"活动数量"`
-	ChartNum            int `description:"图表数量"`
-	TripNum             int `description:"图表数量"`
-	RoadshowVideoNum    int `description:"产业视频播放量"`
-	ActivityVideoNum    int `description:"活动视频播放量"`
-	ActivityVoiceNum    int `description:"活动音频播放量"`
-	TagNum              int `description:"首页标签点击量"`
-	YanxuanSpecialNum   int `description:"研选专栏阅读数量"`
+	HistoryNum               int `description:"报告阅读"`
+	CountNum                 int `description:"报告收藏"`
+	IndustryFllowNum         int `description:"产业关注"`
+	DepartmentFollowNum      int `description:"作者关注"`
+	KeyWordNum               int `description:"搜索关键词"`
+	OnLineNum                int `description:"线上互动活动"`
+	OfficeNum                int `description:"线下互动活动"`
+	ActivityNum              int `description:"活动数量"`
+	ChartNum                 int `description:"图表数量"`
+	TripNum                  int `description:"图表数量"`
+	RoadshowVideoNum         int `description:"产业视频播放量"`
+	ActivityVideoNum         int `description:"活动视频播放量"`
+	ActivityVoiceNum         int `description:"活动音频播放量"`
+	TagNum                   int `description:"首页标签点击量"`
+	YanxuanSpecialNum        int `description:"研选专栏阅读数量"`
+	YanxuanSpecialCollectNum int `description:"研选专栏收藏数量"`
+	YanxuanSpecialFollowNum  int `description:"研选专栏作者关注数量"`
 }
 
 // 用户互动总数统计
@@ -925,23 +1026,21 @@ func GetUserInteractionTableCount(uid int) (item *GetUserInteractionTableCountRe
 	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT
 			( SELECT COUNT( 1 ) FROM cygx_article_history_record_all AS h  INNER JOIN cygx_article  as art  ON  art.article_id = h.article_id  WHERE h.user_id = ?  AND h.is_del = 0    AND art.article_type_id = 0   ) AS history_num,
-			( SELECT COUNT( 1 ) FROM cygx_article_collect AS h WHERE h.user_id = ? AND  h.article_id > 0  ) AS count_num,
+			( SELECT COUNT( 1 ) FROM cygx_article_collect AS h  INNER JOIN cygx_article  as art  ON  art.article_id = h.article_id  WHERE h.user_id = ?  AND art.article_type_id = 0   ) AS count_num,
 			( SELECT COUNT( 1 ) FROM cygx_chart_collect AS h INNER JOIN cygx_chart_all AS a ON h.chart_id = a.chart_id WHERE h.user_id = ?  ) AS chart_num,
-			( SELECT COUNT( 1 ) FROM cygx_industry_fllow AS h WHERE h.user_id = ? AND h.type = 1  AND  h.source   IN (0,1,2)  ) AS industry_fllow_num,
-			( SELECT COUNT( 1 ) FROM cygx_article_department_follow AS h WHERE h.user_id = ?  AND h.type = 1  ) AS department_follow_num,
-			( SELECT COUNT( 1 ) FROM cygx_search_key_word AS h WHERE h.user_id = ?  ) AS key_word_num,
+			( SELECT COUNT( 1 ) FROM cygx_industry_fllow AS h INNER JOIN   cygx_industrial_management  as   a  ON a.industrial_management_id  = h.industrial_management_id   WHERE h.user_id = ? AND h.type = 1  AND  h.source   IN (0,1,2)  AND a.chart_permission_id  != 31   ) AS industry_fllow_num,
+			( SELECT COUNT( 1 ) FROM cygx_search_key_word AS h WHERE h.user_id = ?   AND  h.register_platform IN(1,2) ) AS key_word_num,
 			( SELECT 	COUNT( DISTINCT a.activity_id )  as count  FROM cygx_activity_signup_detail AS h INNER JOIN cygx_activity as a ON a.activity_id = h.activity_id  INNER JOIN cygx_activity_type as t ON t.activity_type_id = a.activity_type_id   WHERE h.user_id = ? 
-					  AND t.activity_type=1 AND h.do_fail_type = 0   ) AS on_line_num,
+					  AND t.activity_type=1 AND h.do_fail_type = 0  AND  a.chart_permission_id  != 31  ) AS on_line_num,
 			( SELECT  	COUNT( DISTINCT a.activity_id )  as count  FROM cygx_activity_signup_detail AS h INNER JOIN cygx_activity as a ON a.activity_id = h.activity_id  INNER JOIN cygx_activity_type as t ON t.activity_type_id = a.activity_type_id   WHERE h.user_id = ?
-				  AND t.activity_type = 0 AND h.do_fail_type = 0  ) AS office_num,
+				  AND t.activity_type = 0 AND h.do_fail_type = 0  AND a.chart_permission_id  != 31 ) AS office_num,
 			( SELECT COUNT( 1 ) FROM cygx_activity_special_meeting_detail AS h INNER JOIN cygx_activity_special AS a ON a.activity_id = h.activity_id WHERE h.user_id = ?  AND a.publish_status = 1 AND a.activity_time_end < NOW()) AS trip_num,
 			( SELECT COUNT( 1 ) FROM cygx_micro_roadshow_video_history AS h  INNER JOIN cygx_micro_roadshow_video as v ON v.video_id = h.video_id WHERE  h.user_id = ?  ) AS roadshow_video_num,
 			( SELECT COUNT( 1 ) FROM cygx_activity_video_history AS h  INNER JOIN cygx_activity_video as v ON v.video_id = h.video_id WHERE  h.user_id = ?  ) AS activity_video_num,
 			( SELECT COUNT( 1 ) FROM cygx_activity_voice_history AS h  INNER JOIN cygx_activity_voice as v ON v.activity_id = h.activity_id WHERE  h.user_id = ?  ) AS activity_voice_num,
-			( SELECT COUNT(1) FROM cygx_tag_history as h INNER JOIN cygx_tag AS b ON h.tag_id = b.tag_id WHERE h.user_id = ?  ) AS tag_num,
-			( SELECT COUNT(1) FROM cygx_yanxuan_special_record as h INNER JOIN cygx_yanxuan_special AS b ON h.yanxuan_special_id = b.id WHERE h.user_id = ?  ) AS yanxuan_special_num
+			( SELECT COUNT(1) FROM cygx_tag_history as h INNER JOIN cygx_tag AS b ON h.tag_id = b.tag_id WHERE h.user_id = ?  ) AS tag_num
 			FROM  dual `
-	err = o.Raw(sql, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid).QueryRow(&item)
+	err = o.Raw(sql, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid).QueryRow(&item)
 	return
 }
 
@@ -949,24 +1048,20 @@ func GetUserInteractionTableCount(uid int) (item *GetUserInteractionTableCountRe
 func GetUserInteractionTableCountByYanXuan(uid int) (item *GetUserInteractionTableCountResp, err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT
-			( SELECT COUNT( 1 ) FROM cygx_article_history_record_all AS h  INNER JOIN cygx_article  as art  ON  art.article_id = h.article_id  WHERE h.user_id = ?  AND h.is_del = 0  AND art.article_type_id  >0   ) AS history_num,
-			( SELECT COUNT( 1 ) FROM cygx_article_collect AS h INNER JOIN cygx_article  as art  ON  art.article_id = h.article_id  WHERE h.user_id = ?  AND h.is_del = 0  AND art.article_type_id = >0   h.article_id > 0  ) AS count_num,
-			( SELECT COUNT( 1 ) FROM cygx_chart_collect AS h INNER JOIN cygx_chart_all AS a ON h.chart_id = a.chart_id WHERE h.user_id = ?  ) AS chart_num,
-			( SELECT COUNT( 1 ) FROM cygx_industry_fllow AS h WHERE h.user_id = ? AND h.type = 1  AND  h.source   IN (0,1,2)  ) AS industry_fllow_num,
+			( SELECT COUNT( 1 ) FROM cygx_article_history_record_all AS h  INNER JOIN cygx_article  as art  ON  art.article_id = h.article_id  WHERE h.user_id = ?  AND h.is_del = 0    AND art.article_type_id > 0   ) AS history_num,
+			( SELECT COUNT( 1 ) FROM cygx_article_collect AS h  INNER JOIN cygx_article  as art  ON  art.article_id = h.article_id  WHERE h.user_id = ?  AND art.article_type_id > 0   ) AS count_num,
+			( SELECT COUNT( 1 ) FROM cygx_industry_fllow AS h INNER JOIN   cygx_industrial_management  as   a  ON a.industrial_management_id  = h.industrial_management_id   WHERE h.user_id = ? AND h.type = 1  AND  h.source   IN (0,1,2)  AND a.chart_permission_id  = 31   ) AS industry_fllow_num,
 			( SELECT COUNT( 1 ) FROM cygx_article_department_follow AS h WHERE h.user_id = ?  AND h.type = 1  ) AS department_follow_num,
-			( SELECT COUNT( 1 ) FROM cygx_search_key_word AS h WHERE h.user_id = ?  ) AS key_word_num,
+			( SELECT COUNT( 1 ) FROM cygx_search_key_word AS h WHERE h.user_id = ?   AND  h.register_platform IN(1,2) ) AS key_word_num,
 			( SELECT 	COUNT( DISTINCT a.activity_id )  as count  FROM cygx_activity_signup_detail AS h INNER JOIN cygx_activity as a ON a.activity_id = h.activity_id  INNER JOIN cygx_activity_type as t ON t.activity_type_id = a.activity_type_id   WHERE h.user_id = ? 
-					  AND t.activity_type=1 AND h.do_fail_type = 0   ) AS on_line_num,
+					  AND t.activity_type=1 AND h.do_fail_type = 0  AND  a.chart_permission_id  = 31    ) AS on_line_num,
 			( SELECT  	COUNT( DISTINCT a.activity_id )  as count  FROM cygx_activity_signup_detail AS h INNER JOIN cygx_activity as a ON a.activity_id = h.activity_id  INNER JOIN cygx_activity_type as t ON t.activity_type_id = a.activity_type_id   WHERE h.user_id = ?
-				  AND t.activity_type = 0 AND h.do_fail_type = 0  ) AS office_num,
-			( SELECT COUNT( 1 ) FROM cygx_activity_special_meeting_detail AS h INNER JOIN cygx_activity_special AS a ON a.activity_id = h.activity_id WHERE h.user_id = ?  AND a.publish_status = 1 AND a.activity_time_end < NOW()) AS trip_num,
-			( SELECT COUNT( 1 ) FROM cygx_micro_roadshow_video_history AS h  INNER JOIN cygx_micro_roadshow_video as v ON v.video_id = h.video_id WHERE  h.user_id = ?  ) AS roadshow_video_num,
-			( SELECT COUNT( 1 ) FROM cygx_activity_video_history AS h  INNER JOIN cygx_activity_video as v ON v.video_id = h.video_id WHERE  h.user_id = ?  ) AS activity_video_num,
-			( SELECT COUNT( 1 ) FROM cygx_activity_voice_history AS h  INNER JOIN cygx_activity_voice as v ON v.activity_id = h.activity_id WHERE  h.user_id = ?  ) AS activity_voice_num,
-			( SELECT COUNT(1) FROM cygx_tag_history as h INNER JOIN cygx_tag AS b ON h.tag_id = b.tag_id WHERE h.user_id = ?  ) AS tag_num,
+				  AND t.activity_type = 0 AND h.do_fail_type = 0  AND  a.chart_permission_id  = 31    ) AS office_num,
+			( SELECT COUNT(1) FROM cygx_yanxuan_special_collect as h INNER JOIN cygx_yanxuan_special AS b ON h.yanxuan_special_id = b.id WHERE h.user_id = ?  ) AS yanxuan_special_collect_num,
+			( SELECT COUNT(1) FROM cygx_yanxuan_special_follow as h WHERE h.user_id = ?  ) AS yanxuan_special_follow_num,
 			( SELECT COUNT(1) FROM cygx_yanxuan_special_record as h INNER JOIN cygx_yanxuan_special AS b ON h.yanxuan_special_id = b.id WHERE h.user_id = ?  ) AS yanxuan_special_num
 			FROM  dual `
-	err = o.Raw(sql, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid).QueryRow(&item)
+	err = o.Raw(sql, uid, uid, uid, uid, uid, uid, uid, uid, uid, uid).QueryRow(&item)
 	return
 }
 

+ 12 - 10
models/cygx/industry_fllow.go

@@ -38,29 +38,31 @@ func GetCygxIndustryFllowList(condition string, pars []interface{}, startSize, p
 }
 
 // 关注产业列表
-func GetCygxIndustryFllowByUser(uid, startSize, pageSize int) (items []*UserInteraction, err error) {
+func GetCygxIndustryFllowByUser(uid, startSize, pageSize int, condition string) (items []*UserInteraction, err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT
-			m.industry_name,
+			a.industry_name,
 			f.modify_time as create_time,
-			( SELECT GROUP_CONCAT( DISTINCT s.subject_name SEPARATOR '/' ) FROM cygx_industrial_subject AS s WHERE s.industrial_management_id = m.industrial_management_id ) AS subject_name_str 
+			( SELECT GROUP_CONCAT( DISTINCT s.subject_name SEPARATOR '/' ) FROM cygx_industrial_subject AS s WHERE s.industrial_management_id = f.industrial_management_id ) AS subject_name_str 
 		FROM
 			cygx_industry_fllow AS f
-			INNER JOIN cygx_industrial_management AS m ON m.industrial_management_id = f.industrial_management_id 
+			INNER JOIN cygx_industrial_management AS a ON a.industrial_management_id = f.industrial_management_id 
 		WHERE
-			user_id = ? 
-			AND type = 1 
-			AND f.source  IN (0,1,2)
-		ORDER BY
+			f.user_id = ? 
+			AND f.type = 1 
+			AND f.source  IN (0,1,2) ` + condition +
+		`ORDER BY
 			f.create_time DESC  LIMIT ?,? `
 	_, err = o.Raw(sql, uid, startSize, pageSize).QueryRows(&items)
 	return
 }
 
 // 关注产业数量
-func GetCygxIndustryFllowCount(uid int) (count int, err error) {
+func GetCygxIndustryFllowCount(uid int, condition string) (count int, err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
-	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_industry_fllow  WHERE   user_id = ?  AND type = 1 AND  source   IN (0,1,2)  `
+	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_industry_fllow  as  f
+                           INNER JOIN   cygx_industrial_management  as   a  ON a.industrial_management_id  = f.industrial_management_id 
+                           WHERE   f.user_id = ?  AND f.type = 1 AND  f.source   IN (0,1,2)  ` + condition
 	err = o.Raw(sqlCount, uid).QueryRow(&count)
 	return
 }