浏览代码

no message

xingzai 11 月之前
父节点
当前提交
bc36a6b861
共有 2 个文件被更改,包括 66 次插入19 次删除
  1. 40 18
      controllers/cygx/user.go
  2. 26 1
      models/cygx/cygx_user.go

+ 40 - 18
controllers/cygx/user.go

@@ -592,6 +592,7 @@ func (this *UserController) RemarkList() {
 // @Title 互动详情table栏
 // @Description 互动详情table栏接口
 // @Param  UserId   query   int  true       "用户id"
+// @Param  ClassType   query   int  true       "列表类型,1:权益,2:研选,默认1"
 // @Success 200 {object} cygx.UserRemarksListResp
 // @router /user/table/list [get]
 func (this *UserController) TableList() {
@@ -612,6 +613,7 @@ func (this *UserController) TableList() {
 		br.Msg = "用户不存在"
 		return
 	}
+	classType, _ := this.GetInt("ClassType", 1)
 	wxUser, err := models.GetWxUserByUserId(userId)
 	if err != nil {
 		br.ErrMsg = "获取信息失败,Err:" + err.Error()
@@ -624,27 +626,47 @@ func (this *UserController) TableList() {
 		br.ErrMsg = "获取数据失败,Err:" + err.Error()
 		return
 	}
-	//阅读记录总数
-	countDetail, err := cygx.GetUserInteractionTableCount(userId)
-	if err != nil {
-		br.Msg = "获取信息失败"
-		br.ErrMsg = "获取各个阅读总数失败,Err:" + err.Error()
-		return
+	resp := new(cygx.CygxUserTableListRep)
+	if classType == 1 {
+		countDetail, err := cygx.GetUserInteractionTableCount(userId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取各个阅读总数失败,Err:" + err.Error()
+			return
+		}
+
+		List := []*cygx.CygxUserTableRep{{PermissionName: "报告阅读列表", Source: 1, TotalNum: countDetail.HistoryNum + countDetail.YanxuanSpecialNum},
+			{PermissionName: "活动互动记录", Source: 2, TotalNum: countDetail.OnLineNum + countDetail.OfficeNum},
+			{PermissionName: "专项调研", Source: 8, TotalNum: countDetail.TripNum},
+			{PermissionName: "收藏的报告", Source: 3, TotalNum: countDetail.CountNum},
+			{PermissionName: "收藏的图表", Source: 4, TotalNum: countDetail.ChartNum},
+			{PermissionName: "关注的产业", Source: 5, TotalNum: countDetail.IndustryFllowNum},
+			{PermissionName: "搜索", Source: 7, TotalNum: countDetail.KeyWordNum},
+			{PermissionName: "音视频播放", Source: 9, TotalNum: countDetail.RoadshowVideoNum + countDetail.ActivityVideoNum + countDetail.ActivityVoiceNum},
+			{PermissionName: "首页标签点击", Source: 10, TotalNum: countDetail.TagNum}}
+		resp.List = List
+	} else {
+		countDetail, err := cygx.GetUserInteractionTableCountByYanXuan(userId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取各个阅读总数失败,Err:" + err.Error()
+			return
+		}
+
+		List := []*cygx.CygxUserTableRep{{PermissionName: "报告阅读列表", Source: 1, TotalNum: countDetail.HistoryNum + countDetail.YanxuanSpecialNum},
+			{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: 7, TotalNum: 0}}
+		resp.List = List
 	}
 
-	List := []*cygx.CygxUserTableRep{{PermissionName: "报告阅读列表", Source: 1, TotalNum: countDetail.HistoryNum + countDetail.YanxuanSpecialNum},
-		{PermissionName: "活动互动记录", Source: 2, TotalNum: countDetail.OnLineNum + countDetail.OfficeNum},
-		{PermissionName: "专项调研", Source: 8, TotalNum: countDetail.TripNum},
-		{PermissionName: "收藏的报告", Source: 3, TotalNum: countDetail.CountNum},
-		{PermissionName: "收藏的图表", Source: 4, TotalNum: countDetail.ChartNum},
-		{PermissionName: "关注的产业", Source: 5, TotalNum: countDetail.IndustryFllowNum},
-		{PermissionName: "关注的作者", Source: 6, TotalNum: countDetail.DepartmentFollowNum},
-		{PermissionName: "搜索", Source: 7, TotalNum: countDetail.KeyWordNum},
-		{PermissionName: "音视频播放", Source: 9, TotalNum: countDetail.RoadshowVideoNum + countDetail.ActivityVideoNum + countDetail.ActivityVoiceNum},
-		{PermissionName: "首页标签点击", Source: 10, TotalNum: countDetail.TagNum}}
+	//阅读记录总数
 
-	resp := new(cygx.CygxUserTableListRep)
-	resp.List = List
 	resp.UserName = wxUser.RealName
 	resp.Mobile = wxUser.Mobile
 	resp.ComapnyName = comanyDetail.CompanyName

+ 26 - 1
models/cygx/cygx_user.go

@@ -924,7 +924,7 @@ type GetUserInteractionTableCountResp struct {
 func GetUserInteractionTableCount(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 ) AS history_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 WHERE h.user_id = ? AND  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,
@@ -945,6 +945,31 @@ func GetUserInteractionTableCount(uid int) (item *GetUserInteractionTableCountRe
 	return
 }
 
+// 用户互动总数统计
+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_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( 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,
+			( 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,
+			( 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)
+	return
+}
+
 // 根据时间获取用户互动总数统计
 func GetUserInteractionTableCountBytime(uid int, startDate, endDate string) (item *GetUserInteractionTableCountResp, err error) {
 	o := orm.NewOrm()