Browse Source

详情页

xingzai 3 years ago
parent
commit
30e48202ac

+ 244 - 0
controllers/report.go

@@ -1221,3 +1221,247 @@ func (this *ReportController) ReportListByType() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// @Title 获取报告精选详情
+// @Description 获取报告精选详情接口
+// @Param   ArticleId   query   int  true       "报告ID"
+// @Success 200 {object} models.ReportSelectionLetailResp
+// @router /reportSelection/detail [get]
+func (this *ReportController) Detail() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	user := this.User
+	if user == nil {
+		br.Msg = "请重新登录"
+		br.Ret = 408
+		return
+	}
+	uid := user.UserId
+	articleId, _ := this.GetInt("ArticleId")
+	if articleId < 0 {
+		br.Msg = "参数错误"
+		br.ErrMsg = "参数错误"
+		return
+	}
+	resp := new(models.ReportSelectionLetailResp)
+	detail, err := models.GetCygxReportSelectionInfoById(articleId)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "报告不存在,Err:" + err.Error() + "articleId:" + strconv.Itoa(articleId)
+		return
+	}
+	detail.PublishDate = utils.StrTimeToTime(detail.PublishDate).Format("2006-01-02")
+	existMap := make(map[int]int)
+	var items []*models.ReportSelectionChartPermission
+	listLog, err := models.GetReportSelectionlogListAll(articleId)
+
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取子类信息失败,Err:" + err.Error()
+		return
+	}
+	//var itemLogs []*models.CygxReportSelectionLogDetail
+	for _, v := range listLog {
+		item := new(models.ReportSelectionChartPermission)
+		if existMap[v.ChartPermissionId] == 0 {
+			item.PermissionName = v.PermissionName + "领域深度调研和报告"
+			listSonLog, err := models.GetReportSelectionlogSonListAll(articleId, v.ChartPermissionId)
+			if err != nil && err.Error() != utils.ErrNoRow() {
+				br.Msg = "获取信息失败"
+				br.ErrMsg = "获取信息失败,Err:" + err.Error()
+				return
+			}
+			for k2, v2 := range listSonLog {
+				if v2.IndustrialManagementId != "" {
+					listIndustrial, err := models.GetIndustrialByIds(v2.IndustrialManagementId)
+					if err != nil && err.Error() != utils.ErrNoRow() {
+						br.Msg = "获取信息失败"
+						br.ErrMsg = "获取信息失败,Err:" + err.Error()
+						return
+					}
+					listSonLog[k2].List = listIndustrial
+				}
+			}
+			item.List = listSonLog
+			items = append(items, item)
+			//itemLogs = make([]*models.CygxReportSelectionLogDetail, 0)
+		}
+		existMap[v.ChartPermissionId] = v.ChartPermissionId
+	}
+	historyRecord := new(models.CygxReportHistoryRecord)
+	historyRecord.UserId = uid
+	historyRecord.ArticleId = articleId
+	historyRecord.CreateTime = time.Now()
+	historyRecord.Mobile = user.Mobile
+	historyRecord.Email = user.Email
+	historyRecord.CompanyId = user.CompanyId
+	historyRecord.CompanyName = user.CompanyName
+	historyRecord.ReportType = "bgjx"
+	go models.AddCygxReportHistoryRecord(historyRecord)
+	resp.List = items
+	resp.Detail = detail
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}
+
+// @Title 获取本周研究汇总详情
+// @Description 获取本周研究汇总详情接口
+// @Param   ArticleId   query   int  true       "报告ID"
+// @Success 200 {object} models.ResearchSummaryLetailResp
+// @router /researchSummary/detail [get]
+func (this *ReportController) ResearchDetail() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	user := this.User
+	if user == nil {
+		br.Msg = "请重新登录"
+		br.Ret = 408
+		return
+	}
+	uid := user.UserId
+	articleId, _ := this.GetInt("ArticleId")
+	if articleId < 0 {
+		br.Msg = "参数错误"
+		br.ErrMsg = "参数错误"
+		return
+	}
+	resp := new(models.ResearchSummaryLetailResp)
+	detail, err := models.GetCygxResearchSummaryInfoById(articleId)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "报告不存在,Err:" + err.Error() + "articleId:" + strconv.Itoa(articleId)
+		return
+	}
+	detail.PublishDate = utils.StrTimeToTime(detail.PublishDate).Format("2006-01-02")
+	listFirst, err := models.GetResearchSummarylogListFirst(articleId)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取子类信息失败,Err:" + err.Error()
+		return
+	}
+	for k, v := range listFirst {
+		listSecond, err := models.GetResearchSummarylogSonListSecond(articleId, v.Type)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取信息失败,Err:" + err.Error()
+			return
+		}
+		for k2, v2 := range listSecond {
+			listThird, err := models.GetResearchSummarylogSonListThird(articleId, v2.ChartPermissionId, v.Type)
+			if err != nil && err.Error() != utils.ErrNoRow() {
+				br.Msg = "获取信息失败"
+				br.ErrMsg = "获取信息失败,Err:" + err.Error()
+				return
+			}
+			fmt.Println(listThird)
+			if len(listThird) > 0 {
+				listSecond[k2].List = listThird
+			}
+		}
+		if len(listSecond) > 0 {
+			listFirst[k].List = listSecond
+		}
+		//`description:"类型'SDBG深度报告片篇,’CYDYJY:产业调研纪要’,’SJDP事件点评,’BZCHJH:本周晨会精华’"`
+		if v.Type == "SDBG" {
+			listFirst[k].ListName = "深度报告"
+		} else if v.Type == "BZCHJH" {
+			listFirst[k].ListName = "本周晨会精华"
+		} else if v.Type == "CYDYJY" {
+			listFirst[k].ListName = "产业调研纪要"
+		} else {
+			listFirst[k].ListName = "事件点评"
+		}
+
+	}
+	historyRecord := new(models.CygxReportHistoryRecord)
+	historyRecord.UserId = uid
+	historyRecord.ArticleId = articleId
+	historyRecord.CreateTime = time.Now()
+	historyRecord.Mobile = user.Mobile
+	historyRecord.Email = user.Email
+	historyRecord.CompanyId = user.CompanyId
+	historyRecord.CompanyName = user.CompanyName
+	historyRecord.ReportType = "bzyjhz"
+	go models.AddCygxReportHistoryRecord(historyRecord)
+	resp.List = listFirst
+	resp.Detail = detail
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}
+
+// @Title 上周纪要汇总内容详情
+// @Description 获取上周纪要汇总内容详情接口
+// @Param   ArticleId   query   int  true       "报告ID"
+// @Success 200 {object} models.MinutesSummaryLetailResp
+// @router /minutesSummary/detail [get]
+func (this *ReportController) MinutesDetail() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	user := this.User
+	if user == nil {
+		br.Msg = "请重新登录"
+		br.Ret = 408
+		return
+	}
+	uid := user.UserId
+	articleId, _ := this.GetInt("ArticleId")
+	if articleId < 0 {
+		br.Msg = "参数错误"
+		br.ErrMsg = "参数错误"
+		return
+	}
+	resp := new(models.MinutesSummaryLetailResp)
+	detail, err := models.GetCygxMinutesSummaryInfoById(articleId)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "报告不存在,Err:" + err.Error() + "articleId:" + strconv.Itoa(articleId)
+		return
+	}
+	detail.PublishDate = utils.StrTimeToTime(detail.PublishDate).Format("2006-01-02")
+	listLog, err := models.GetMinutesSummarylogListAll(articleId)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取子类信息失败,Err:" + err.Error()
+		return
+	}
+	for k, v := range listLog {
+		listSonLog, err := models.GetMinutesSummarylogSonListAll(articleId, v.ChartPermissionId)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取信息失败,Err:" + err.Error()
+			return
+		}
+		if len(listSonLog) > 0 {
+			listLog[k].List = listSonLog
+		}
+	}
+	historyRecord := new(models.CygxReportHistoryRecord)
+	historyRecord.UserId = uid
+	historyRecord.ArticleId = articleId
+	historyRecord.CreateTime = time.Now()
+	historyRecord.Mobile = user.Mobile
+	historyRecord.Email = user.Email
+	historyRecord.CompanyId = user.CompanyId
+	historyRecord.CompanyName = user.CompanyName
+	historyRecord.ReportType = "szjyhz"
+	go models.AddCygxReportHistoryRecord(historyRecord)
+	resp.List = listLog
+	resp.Detail = detail
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 4 - 0
models/activity.go

@@ -92,6 +92,10 @@ type ActivityDetail struct {
 	CustomerTypeIds         string `description:"活动可见的客户类型,多个ID用 , 隔开"`
 	IsShowSustainable       bool   `description:"是否展示限免标签"`
 	Description             string `description:"研选内容说明"`
+	IsResearch              bool   `description:"是否属于研选"`
+	LinkParticipants        string `description:"链接参会"`
+	AppAttendance           string `description:"App参会"`
+	ConferencePassword      string `description:"会议密码"`
 }
 
 type CygxActivityResp struct {

+ 1 - 0
models/db.go

@@ -61,5 +61,6 @@ func init() {
 		new(CygxArticleDepartmentFollow),
 		new(CygxArticleAsk),
 		new(CygxPageHistoryRecord),
+		new(CygxReportHistoryRecord),
 	)
 }

+ 116 - 0
models/minutesSummary.go

@@ -0,0 +1,116 @@
+package models
+
+import (
+	"rdluck_tools/orm"
+	"time"
+)
+
+type CygxMinutesSummary struct {
+	ArticleId          int       `orm:"column(article_id);pk"description:"报告id"`
+	AddType            string    `description:"更新方式 1重新编辑  ,2 继承往期"`
+	Title              string    `description:"标题"`
+	Department         string    `description:"作者"`
+	PublishStatus      int       `description:"发布状态,1已发布,0未发布"`
+	PublishDate        time.Time `description:"发布时间"`
+	CreateTime         time.Time `description:"创建时间"`
+	LastUpdatedTime    time.Time `description:"最后一次更新时间"`
+	Periods            string    `description:"期数"`
+	HavePublish        int       `description:"是否发布过,1是,0否"`
+	InheritPeriods     string    `description:"继承期数"`
+	ProductDescription string    `description:"产品说明"`
+	UpdateDescription  string    `description:"更新说明"`
+	FocusOn            string    `description:"近期重点关注方向"`
+}
+
+type AddCygxMinutesSummary struct {
+	ArticleId          int    `description:"报告Id ,传0时新增,大于0时修改"`
+	AddType            string `description:"更新方式 1重新编辑  ,2 继承往期"`
+	InheritPeriods     string `description:"继承期数"`
+	Title              string `description:"标题"`
+	Department         string `description:"作者"`
+	PublishDate        string `description:"发布时间"`
+	ProductDescription string `description:"产品说明"`
+	UpdateDescription  string `description:"更新说明"`
+	FocusOn            string `description:"近期重点关注方向"`
+	DoType             int    `description:"操作方式,1发布,0保存"`
+}
+
+type DetailCygxMinutesSummaryRep struct {
+	ArticleId        int     `description:"报告Id"`
+	Title            string  `description:"标题"`
+	Department       string  `description:"作者"`
+	PublishDate      string  `description:"发布时间"`
+	VideoUrl         string  `description:"链接"`
+	VideoPlaySeconds float64 `description:"时长"`
+	Abstract         string  `description:"摘要"`
+}
+
+type MinutesSummaryLetailResp struct {
+	Detail *DetailCygxMinutesSummaryRep
+	List   []*MinutesSummaryChartPermission
+}
+
+type MinutesSummaryChartPermission struct {
+	PermissionName    string `description:"行业名称"`
+	ChartPermissionId int    `description:"行业ID"`
+	IcoLink           string `orm:"column(image_url)"description:"图标链接"`
+	List              []*CygxMinutesSummaryLogDetail
+}
+
+type CygxMinutesSummaryLogDetail struct {
+	Body       string `description:"内容"`
+	ReportLink string `description:"报告链接"`
+}
+type IndustriaMinutesSummary struct {
+	IndustrialManagementId int    `description:"产业Id"`
+	IndustryName           string `description:"产业名称"`
+}
+
+type MinutesSummaryId struct {
+	ArticleId int `description:"报告I"`
+}
+
+//通过纪要ID获取详情
+func GetCygxMinutesSummaryInfoById(articleId int) (item *DetailCygxMinutesSummaryRep, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_minutes_summary  WHERE article_id=?`
+	err = o.Raw(sql, articleId).QueryRow(&item)
+	return
+}
+
+type CygxMinutesSummaryLog struct {
+	ArticleSunId           int       `description:"子级报告id"`
+	ArticleId              int       `description:"父级报告Id"`
+	ChartPermissionId      int       `description:"行业ID"`
+	PermissionName         string    `description:"行业ID"`
+	CreateTime             time.Time `description:"创建时间"`
+	Body                   string    `description:"内容"`
+	IndustrialSubjectId    string    `description:"标的ID"`
+	IndustrialManagementId string    `description:"产业资源包Id  多个用 , 隔开"`
+	SubjectName            string    `description:"标的名称"`
+}
+
+//列表
+func GetMinutesSummarylogListAll(articleId int) (items []*MinutesSummaryChartPermission, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT c.permission_name ,c.image_url,l.*
+			FROM
+			cygx_minutes_summary_log AS l
+			INNER JOIN chart_permission AS c ON c.chart_permission_id = l.chart_permission_id 
+			WHERE l.article_id = ?
+			GROUP BY l.chart_permission_id
+			ORDER BY l.chart_permission_sort ASC   `
+	_, err = o.Raw(sql, articleId).QueryRows(&items)
+	return
+}
+
+//列表
+func GetMinutesSummarylogSonListAll(articleId, chartPermissionId int) (items []*CygxMinutesSummaryLogDetail, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT  l.* 
+			FROM
+			cygx_minutes_summary_log AS l
+			WHERE l.article_id = ? AND l.chart_permission_id =?`
+	_, err = o.Raw(sql, articleId, chartPermissionId).QueryRows(&items)
+	return
+}

+ 3 - 22
models/report_history_record.go

@@ -1,7 +1,6 @@
 package models
 
 import (
-	"hongze/hongze_cygx/utils"
 	"rdluck_tools/orm"
 	"time"
 )
@@ -16,31 +15,13 @@ type CygxReportHistoryRecord struct {
 	CompanyId   int       `description:"公司id"`
 	CompanyName string    `description:"公司名称"`
 	ModifyTime  time.Time `description:"修改时间"`
+	ReportType  string    `description:"报告类型,bgjx:报告精选、bzyjhz:本周研究汇总、szjyhz:上周纪要汇总"`
 }
 
 //添加历史信息
 func AddCygxReportHistoryRecord(item *CygxReportHistoryRecord) (lastId int64, err error) {
 	o := orm.NewOrm()
-	o.Begin()
-	defer func() {
-		if err == nil {
-			o.Commit()
-		} else {
-			o.Rollback()
-		}
-	}()
-	var count int
-	sql := `SELECT COUNT(1) AS count FROM cygx_article_history_record WHERE user_id=? AND article_id=? `
-	err = o.Raw(sql, item.UserId, item.ArticleId).QueryRow(&count)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		return
-	}
-	if count > 0 {
-		sql := `UPDATE cygx_article_history_record SET modify_time=NOW() WHERE user_id=? AND article_id=? `
-		_, err = o.Raw(sql, item.UserId, item.ArticleId).Exec()
-	} else {
-		item.ModifyTime = time.Now()
-		lastId, err = o.Insert(item)
-	}
+	item.ModifyTime = time.Now()
+	lastId, err = o.Insert(item)
 	return
 }

+ 79 - 18
models/report_selection.go

@@ -1,7 +1,6 @@
 package models
 
 import (
-	"fmt"
 	"rdluck_tools/orm"
 	"rdluck_tools/paging"
 	"time"
@@ -54,21 +53,39 @@ type AddCygxReportSelection struct {
 }
 
 type DetailCygxReportSelectionRep struct {
-	ArticleId          int    `description:"报告Id ,传0时新增,大于0时修改"`
-	AddType            string `description:"更新方式 1重新编辑  ,2 继承往期"`
-	Title              string `description:"标题"`
-	Department         string `description:"作者"`
-	PublishStatus      int    `description:"发布状态,1已发布,0未发布"`
-	PublishDate        string `description:"发布时间"`
-	CreateTime         string `description:"创建时间"`
-	LastUpdatedTime    string `description:"最后一次更新时间"`
-	Periods            string `description:"期数"`
-	HavePublish        int    `description:"是否发布过,1是,0否"`
-	InheritPeriods     string `description:"继承期数"`
-	InheritPeriodsName string `description:"继承期数名称"`
-	ProductDescription string `description:"产品说明"`
-	UpdateDescription  string `description:"更新说明"`
-	FocusOn            string `description:"近期重点关注方向"`
+	ArticleId          int     `description:"报告Id"`
+	Title              string  `description:"标题"`
+	Department         string  `description:"作者"`
+	PublishDate        string  `description:"发布时间"`
+	CreateTime         string  `description:"创建时间"`
+	LastUpdatedTime    string  `description:"最后一次更新时间"`
+	Periods            string  `description:"期数"`
+	VideoUrl           string  `description:"链接"`
+	VideoPlaySeconds   float64 `description:"时长"`
+	ProductDescription string  `description:"产品说明"`
+	UpdateDescription  string  `description:"更新说明"`
+	FocusOn            string  `description:"近期重点关注方向"`
+}
+
+type ReportSelectionLetailResp struct {
+	Detail *DetailCygxReportSelectionRep
+	List   []*ReportSelectionChartPermission
+}
+
+type ReportSelectionChartPermission struct {
+	PermissionName string `description:"权限名称"`
+	List           []*CygxReportSelectionLogDetail
+}
+
+type CygxReportSelectionLogDetail struct {
+	IndustrialManagementId string `description:"产业Id"`
+	SubjectName            string `description:"标的名称"`
+	Body                   string `description:"内容"`
+	List                   []*IndustriaReportSelection
+}
+type IndustriaReportSelection struct {
+	IndustrialManagementId int    `description:"产业Id"`
+	IndustryName           string `description:"产业名称"`
 }
 
 type ReportSelectionId struct {
@@ -87,7 +104,7 @@ func GetCygxReportSelectionPublic(condition, tbdb string, pars []interface{}) (c
 }
 
 //通过纪要ID获取活动详情
-func GetCygxReportSelectionInfoById(articleId int) (item *CygxReportSelectionRep, err error) {
+func GetCygxReportSelectionInfoById(articleId int) (item *DetailCygxReportSelectionRep, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM cygx_report_selection  WHERE article_id=?`
 	err = o.Raw(sql, articleId).QueryRow(&item)
@@ -102,7 +119,51 @@ func GetReportSelectionListPublic(condition, tbdb string, pars []interface{}, st
 		sql += condition
 	}
 	sql += ` ORDER BY  art.publish_date  DESC  LIMIT ?,?`
-	fmt.Println(sql)
 	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
 	return
 }
+
+type CygxReportSelectionLog struct {
+	ArticleSunId           int       `description:"子级报告id"`
+	ArticleId              int       `description:"父级报告Id"`
+	ChartPermissionId      int       `description:"行业ID"`
+	PermissionName         string    `description:"行业ID"`
+	CreateTime             time.Time `description:"创建时间"`
+	Body                   string    `description:"内容"`
+	IndustrialSubjectId    string    `description:"标的ID"`
+	IndustrialManagementId string    `description:"产业资源包Id  多个用 , 隔开"`
+	SubjectName            string    `description:"标的名称"`
+}
+
+//列表
+func GetReportSelectionlogListAll(articleId int) (items []*CygxReportSelectionLog, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT c.permission_name ,s.subject_name , l.* 
+			FROM
+			cygx_report_selection_log AS l
+			INNER JOIN chart_permission AS c ON c.chart_permission_id = l.chart_permission_id 
+			INNER JOIN cygx_industrial_subject AS s ON s.industrial_subject_id = l.industrial_subject_id 
+			WHERE l.article_id = ? `
+	_, err = o.Raw(sql, articleId).QueryRows(&items)
+	return
+}
+
+//列表
+func GetReportSelectionlogSonListAll(articleId, chartPermissionId int) (items []*CygxReportSelectionLogDetail, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT c.permission_name ,s.subject_name , l.* 
+			FROM
+			cygx_report_selection_log AS l
+			INNER JOIN chart_permission AS c ON c.chart_permission_id = l.chart_permission_id 
+			INNER JOIN cygx_industrial_subject AS s ON s.industrial_subject_id = l.industrial_subject_id 
+			WHERE l.article_id = ? AND l.chart_permission_id =?`
+	_, err = o.Raw(sql, articleId, chartPermissionId).QueryRows(&items)
+	return
+}
+
+func GetIndustrialByIds(industrialManagementIds string) (items []*IndustriaReportSelection, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_industrial_management  WHERE industrial_management_id IN (` + industrialManagementIds + `)`
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}

+ 135 - 0
models/researchSummary.go

@@ -0,0 +1,135 @@
+package models
+
+import (
+	"rdluck_tools/orm"
+	"time"
+)
+
+type CygxResearchSummary struct {
+	ArticleId          int       `orm:"column(article_id);pk"description:"报告id"`
+	AddType            string    `description:"更新方式 1重新编辑  ,2 继承往期"`
+	Title              string    `description:"标题"`
+	Department         string    `description:"作者"`
+	PublishStatus      int       `description:"发布状态,1已发布,0未发布"`
+	PublishDate        time.Time `description:"发布时间"`
+	CreateTime         time.Time `description:"创建时间"`
+	LastUpdatedTime    time.Time `description:"最后一次更新时间"`
+	Periods            string    `description:"期数"`
+	HavePublish        int       `description:"是否发布过,1是,0否"`
+	InheritPeriods     string    `description:"继承期数"`
+	ProductDescription string    `description:"产品说明"`
+	UpdateDescription  string    `description:"更新说明"`
+	FocusOn            string    `description:"近期重点关注方向"`
+}
+
+type AddCygxResearchSummary struct {
+	ArticleId          int    `description:"报告Id ,传0时新增,大于0时修改"`
+	AddType            string `description:"更新方式 1重新编辑  ,2 继承往期"`
+	InheritPeriods     string `description:"继承期数"`
+	Title              string `description:"标题"`
+	Department         string `description:"作者"`
+	PublishDate        string `description:"发布时间"`
+	ProductDescription string `description:"产品说明"`
+	UpdateDescription  string `description:"更新说明"`
+	FocusOn            string `description:"近期重点关注方向"`
+	DoType             int    `description:"操作方式,1发布,0保存"`
+}
+
+type DetailCygxResearchSummaryRep struct {
+	ArticleId        int     `description:"报告Id"`
+	Title            string  `description:"标题"`
+	Department       string  `description:"作者"`
+	PublishDate      string  `description:"发布时间"`
+	VideoUrl         string  `description:"链接"`
+	VideoPlaySeconds float64 `description:"时长"`
+	Abstract         string  `description:"摘要"`
+}
+
+type ResearchSummaryLetailResp struct {
+	Detail *DetailCygxResearchSummaryRep
+	List   []*ResearchSummaryChartPermission
+}
+
+type ResearchSummaryChartPermission struct {
+	ListName string `description:"列表名称"`
+	Type     string `description:"类型'SDBG深度报告片篇,’CYDYJY:产业调研纪要’,’SJDP事件点评,’BZCHJH:本周晨会精华’"`
+	List     []*CygxResearchSummaryLogSecond
+}
+
+type CygxResearchSummaryLogSecond struct {
+	PermissionName    string `description:"行业名称"`
+	ChartPermissionId int    `description:"行业ID"`
+	IcoLink           string `orm:"column(image_url)"description:"图标链接"`
+	List              []*CygxResearchSummaryLogThird
+}
+
+type CygxResearchSummaryLogThird struct {
+	Body       string `description:"内容"`
+	ReportLink string `description:"报告链接"`
+}
+type IndustriaResearchSummary struct {
+	IndustrialManagementId int    `description:"产业Id"`
+	IndustryName           string `description:"产业名称"`
+}
+
+type ResearchSummaryId struct {
+	ArticleId int `description:"报告I"`
+}
+
+//通过纪要ID获取详情
+func GetCygxResearchSummaryInfoById(articleId int) (item *DetailCygxResearchSummaryRep, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_research_summary  WHERE article_id=?`
+	err = o.Raw(sql, articleId).QueryRow(&item)
+	return
+}
+
+type CygxResearchSummaryLog struct {
+	ArticleSunId           int       `description:"子级报告id"`
+	ArticleId              int       `description:"父级报告Id"`
+	ChartPermissionId      int       `description:"行业ID"`
+	PermissionName         string    `description:"行业ID"`
+	CreateTime             time.Time `description:"创建时间"`
+	Body                   string    `description:"内容"`
+	IndustrialSubjectId    string    `description:"标的ID"`
+	IndustrialManagementId string    `description:"产业资源包Id  多个用 , 隔开"`
+	SubjectName            string    `description:"标的名称"`
+	Type                   string    `description:"类型'SDBG深度报告片篇,’CYDYJY:产业调研纪要’,’SJDP事件点评,’BZCHJH:本周晨会精华’"`
+}
+
+//列表
+func GetResearchSummarylogListFirst(articleId int) (items []*ResearchSummaryChartPermission, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT l.* 
+			FROM cygx_research_summary_log AS l 
+			WHERE l.article_id = ? 
+			GROUP BY l.type 
+			ORDER BY l.sort ASC`
+	_, err = o.Raw(sql, articleId).QueryRows(&items)
+	return
+}
+
+//列表
+func GetResearchSummarylogSonListSecond(articleId int, artType string) (items []*CygxResearchSummaryLogSecond, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT c.permission_name ,c.chart_permission_id ,c.image_url, l.* 
+			FROM
+			cygx_research_summary_log AS l
+			LEFT JOIN chart_permission AS c ON c.chart_permission_id = l.chart_permission_id 
+			WHERE l.article_id = ? AND l.type =?
+			GROUP BY l.chart_permission_id
+			ORDER  BY l.chart_permission_sort ASC`
+	_, err = o.Raw(sql, articleId, artType).QueryRows(&items)
+	return
+}
+
+//列表
+func GetResearchSummarylogSonListThird(articleId, chartPermissionId int, artType string) (items []*CygxResearchSummaryLogThird, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT  l.* 
+			FROM cygx_research_summary_log AS l
+			WHERE l.article_id = ? AND l.type =? AND  l.chart_permission_id = ? 
+			ORDER  BY l.chart_permission_sort ASC `
+	_, err = o.Raw(sql, articleId, artType, chartPermissionId).QueryRows(&items)
+	return
+}

+ 41 - 41
services/task.go

@@ -15,47 +15,47 @@ import (
 func Task() {
 	fmt.Println("start")
 	//同步数据
-	if utils.RunMode == "release" {
-		syncTacticsListAddreport := task.NewTask("syncTacticsListAddreport", "0 */5 * * * *", SyncTacticsListAddreport) //同步文章
-		task.AddTask("syncTacticsListAddreport", syncTacticsListAddreport)
-		//同步纪要库中的Es
-		getSummarytoEs := task.NewTask("getSummarytoEs", "0 */30 * * * *", GetSummarytoEs) //同步纪要库内容到Es
-		task.AddTask("getSummarytoEs", getSummarytoEs)
-	}
-	//修改任务状态
-	updateActivitySattus := task.NewTask("syncTacticsListAddreport", "0 */1 8-22 * * *", UpdateActivitySattus)
-	task.AddTask("updateActivitySattus", updateActivitySattus)
-	//更新深 和新的标签
-	updateIndustrialManagementLabel := task.NewTask("updateIndustrialManagementLabel", "0 */30 * * * *", UpdateIndustrialManagementLabel)
-	task.AddTask("updateIndustrialManagementLabel", updateIndustrialManagementLabel)
-	//更新报告的搜索栏内容
-	//UpdateIndustrialManagementSubjectNnames()
-	//会议提醒模板消息推送
-	sendActivityBeginMsg := task.NewTask("sendActivityBeginMsg", "0 */10 8-22 * * *", SendActivityBeginMsg) //会议前60分钟的提醒
-	task.AddTask("sendActivityBeginMsg", sendActivityBeginMsg)
-	sendActivityBeginMsgMeeting := task.NewTask("sendActivityBeginMsgMeeting", "0 */5 8-22 * * *", SendActivityBeginMsgMeeting) //会议前15分钟的提醒
-	task.AddTask("sendActivityBeginMsgMeeting", sendActivityBeginMsgMeeting)
-	//预约外呼名单,会前1小时自动发送邮件给专家组
-	sendEmailFileToExpert := task.NewTask("sendEmailFileToExpert", "0 */5 8-22 * * *", SendEmailFileToExpert) //预约外呼名单,会前1小时自动发送邮件给专家组
-	task.AddTask("sendEmailFileToExpert", sendEmailFileToExpert)
-
-	sendEmailFileForAskMsgResearch := task.NewTask("sendEmailFileForAskMsgResearch", "0 */5 8-22 * * *", SendEmailFileForAskMsgResearch) //研选系列专家电话会,会前1小时将问题列表发送给邮箱
-	task.AddTask("sendEmailFileForAskMsgResearch", sendEmailFileForAskMsgResearch)
-
-	sendEmailFileForAskMsg := task.NewTask("sendEmailFileForAskMsg", "0 */5 8-22 * * *", SendEmailFileForAskMsg) //非研选系列专家电话会,根据主持人姓名,会前15分钟将问题列表发送给至该主持人对应邮箱
-	task.AddTask("sendEmailFileForAskMsg", sendEmailFileForAskMsg)
-
-	////白名单发送
-	//sendEmailUserWhiteList := task.NewTask("sendEmailUserWhiteList", "0 27 17 * * *", SendEmailUserWhiteList) //白名单发送
-	//task.AddTask("sendEmailUserWhiteList", sendEmailUserWhiteList)
-
-	//白名单发送2
-	sendEmailUserWhiteListChange := task.NewTask("sendEmailUserWhiteListChange", "0 00 17 * * *", SendEmailUserWhiteListChange) //新增 和冻结的客户白名单
-	task.AddTask("sendEmailUserWhiteListChange", sendEmailUserWhiteListChange)
-
-	//更改对应产业的文章阅读数量
-	chageIndustrialArticleNum := task.NewTask("chageIndustrialArticleNum", "0 01 00 * * *", ChageIndustrialArticleNum) //更改对应产业的文章阅读数量
-	task.AddTask("chageIndustrialArticleNum", chageIndustrialArticleNum)
+	//if utils.RunMode == "release" {
+	//	syncTacticsListAddreport := task.NewTask("syncTacticsListAddreport", "0 */5 * * * *", SyncTacticsListAddreport) //同步文章
+	//	task.AddTask("syncTacticsListAddreport", syncTacticsListAddreport)
+	//	//同步纪要库中的Es
+	//	getSummarytoEs := task.NewTask("getSummarytoEs", "0 */30 * * * *", GetSummarytoEs) //同步纪要库内容到Es
+	//	task.AddTask("getSummarytoEs", getSummarytoEs)
+	//}
+	////修改任务状态
+	//updateActivitySattus := task.NewTask("syncTacticsListAddreport", "0 */1 8-22 * * *", UpdateActivitySattus)
+	//task.AddTask("updateActivitySattus", updateActivitySattus)
+	////更新深 和新的标签
+	//updateIndustrialManagementLabel := task.NewTask("updateIndustrialManagementLabel", "0 */30 * * * *", UpdateIndustrialManagementLabel)
+	//task.AddTask("updateIndustrialManagementLabel", updateIndustrialManagementLabel)
+	////更新报告的搜索栏内容
+	////UpdateIndustrialManagementSubjectNnames()
+	////会议提醒模板消息推送
+	//sendActivityBeginMsg := task.NewTask("sendActivityBeginMsg", "0 */10 8-22 * * *", SendActivityBeginMsg) //会议前60分钟的提醒
+	//task.AddTask("sendActivityBeginMsg", sendActivityBeginMsg)
+	//sendActivityBeginMsgMeeting := task.NewTask("sendActivityBeginMsgMeeting", "0 */5 8-22 * * *", SendActivityBeginMsgMeeting) //会议前15分钟的提醒
+	//task.AddTask("sendActivityBeginMsgMeeting", sendActivityBeginMsgMeeting)
+	////预约外呼名单,会前1小时自动发送邮件给专家组
+	//sendEmailFileToExpert := task.NewTask("sendEmailFileToExpert", "0 */5 8-22 * * *", SendEmailFileToExpert) //预约外呼名单,会前1小时自动发送邮件给专家组
+	//task.AddTask("sendEmailFileToExpert", sendEmailFileToExpert)
+	//
+	//sendEmailFileForAskMsgResearch := task.NewTask("sendEmailFileForAskMsgResearch", "0 */5 8-22 * * *", SendEmailFileForAskMsgResearch) //研选系列专家电话会,会前1小时将问题列表发送给邮箱
+	//task.AddTask("sendEmailFileForAskMsgResearch", sendEmailFileForAskMsgResearch)
+	//
+	//sendEmailFileForAskMsg := task.NewTask("sendEmailFileForAskMsg", "0 */5 8-22 * * *", SendEmailFileForAskMsg) //非研选系列专家电话会,根据主持人姓名,会前15分钟将问题列表发送给至该主持人对应邮箱
+	//task.AddTask("sendEmailFileForAskMsg", sendEmailFileForAskMsg)
+	//
+	//////白名单发送
+	////sendEmailUserWhiteList := task.NewTask("sendEmailUserWhiteList", "0 27 17 * * *", SendEmailUserWhiteList) //白名单发送
+	////task.AddTask("sendEmailUserWhiteList", sendEmailUserWhiteList)
+	//
+	////白名单发送2
+	//sendEmailUserWhiteListChange := task.NewTask("sendEmailUserWhiteListChange", "0 00 17 * * *", SendEmailUserWhiteListChange) //新增 和冻结的客户白名单
+	//task.AddTask("sendEmailUserWhiteListChange", sendEmailUserWhiteListChange)
+	//
+	////更改对应产业的文章阅读数量
+	//chageIndustrialArticleNum := task.NewTask("chageIndustrialArticleNum", "0 01 00 * * *", ChageIndustrialArticleNum) //更改对应产业的文章阅读数量
+	//task.AddTask("chageIndustrialArticleNum", chageIndustrialArticleNum)
 
 	//editOutboundMobile := task.NewTask("editOutboundMobile", "0 */1 8-22 * * *", EditOutboundMobile) //同步外呼号码与手机号
 	//task.AddTask("sendEmailFileToExpert", editOutboundMobile)