瀏覽代碼

Merge branch 'cygx_12.8.1' of http://8.136.199.33:3000/hongze/hongze_cygx

xingzai 1 年之前
父節點
當前提交
a49bd48652

+ 1 - 1
controllers/collection.go

@@ -35,7 +35,7 @@ func (this *CollectionController) BannerList() {
 	var listA []*models.CollectionBannerResp
 	listB := new(models.CollectionBannerResp)
 	listA = []*models.CollectionBannerResp{
-		&models.CollectionBannerResp{Title: "", IndexImg: "https://hzstatic.hzinsights.com/cygx/banner/xcx/lyhf.png", Path: "/reportPages/internalDetials/internalDetials?id=43"},
+		&models.CollectionBannerResp{Title: "", IndexImg: "https://hzstatic.hzinsights.com/cygx/banner/xcx/lyhf.png", Path: "/reportPages/trainVideoPages/trainVideoPages"},
 	}
 	listB.Title = ""
 	listB.IndexImg = "https://hzstatic.hzinsights.com/cygx/banner/xcx/jxkb.png"

+ 133 - 0
controllers/micro_roadshow.go

@@ -865,3 +865,136 @@ func (this *MicroRoadShowController) CommentDetail() {
 	br.Msg = "操作成功"
 	return
 }
+
+// @Title 策略系列培训视频
+// @Description 策略系列培训视频接口
+// @Param   PageSize		query	int		true	"每页数据条数"
+// @Param   CurrentIndex	query	int		true	"当前页页码,从1开始"
+// @Success 200 {object} models.HomeListResp
+// @router /training/list [get]
+func (this *MicroRoadShowController) TrainingList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	user := this.User
+	if user == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,用户信息为空"
+		br.Ret = 408
+		return
+	}
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+
+	if pageSize <= 0 {
+		pageSize = utils.PageSize20
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+
+	var audioIds []string
+	var videoIds []string
+	var activityVideoIds []string
+	var askserieVideoIds []string                                                                                                  //问答系列视频
+	activityVideoIds = []string{"461", "462", "463", "464", "465", "466"}                                                          // 系列培训视频,固定的六个,这里先写死
+	activityVideoTitle := []string{"第一期_A股运行特征探讨", "第二期_行业比较研究", "第三期_市场风格观察与我们的研究方法", "第四期_市场估值指标追踪", "第五期_宏观经济研究", "第六期_市场回顾专题"} // 系列培训视频,固定的六个,这里先写死
+	audioIdstr := strings.Join(audioIds, ",")
+	ideoIdsStr := strings.Join(videoIds, ",")
+	activityVideoIdsStr := strings.Join(activityVideoIds, ",")
+	askserieVideoIdsStr := strings.Join(askserieVideoIds, ",")
+	// 微路演列表
+	list, total, e := services.GetMicroRoadShowMycollectV12(pageSize, currentIndex, audioIdstr, activityVideoIdsStr, ideoIdsStr, askserieVideoIdsStr, user)
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取微路演列表失败, Err: " + e.Error()
+		return
+	}
+
+	//存储反转数据
+	reversed := []*models.MicroRoadShowPageList{}
+	for i := range list {
+		n := list[len(list)-1-i]
+		reversed = append(reversed, n)
+	}
+	list = reversed
+
+	// 用户权限
+	authInfo, permissionArr, e := services.GetUserRaiPermissionInfo(user.UserId, user.CompanyId)
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取用户权限失败, Err: " + e.Error()
+		return
+	}
+
+	// 获取默认图配置
+	audioMap, videoMap, audioShareMap, videoShareMap, e := services.GetMicroRoadShowDefaultImgConfig()
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取微路演列表失败, Err: " + e.Error()
+		return
+	}
+	for i := range list {
+		// 权限
+		au := new(models.UserPermissionAuthInfo)
+		au.SellerName = authInfo.SellerName
+		au.SellerMobile = authInfo.SellerMobile
+		au.HasPermission = authInfo.HasPermission
+		au.OperationMode = authInfo.OperationMode
+		if au.HasPermission == 1 {
+			// 非宏观权限进一步判断是否有权限
+			if list[i].ChartPermissionId != utils.HONG_GUAN_ID && !utils.InArrayByStr(permissionArr, list[i].ChartPermissionName) {
+				au.HasPermission = 2
+			}
+		}
+		// 无权限的弹框提示
+		if au.HasPermission != 1 {
+			if au.OperationMode == services.UserPermissionOperationModeCall {
+				if list[i].Type == 1 {
+					au.PopupMsg = services.UserPermissionPopupMsgCallActivity
+				} else {
+					au.PopupMsg = services.UserPermissionPopupMsgCallMicroVideo
+				}
+			} else {
+				if list[i].Type == 1 {
+					au.PopupMsg = services.UserPermissionPopupMsgApplyActivity
+				} else {
+					au.PopupMsg = services.UserPermissionPopupMsgApplyMicroVideo
+				}
+			}
+		}
+		list[i].AuthInfo = au
+		list[i].PublishTime = utils.StrTimeToTime(list[i].PublishTime).Format(utils.FormatDate)
+		// 默认图
+		if list[i].BackgroundImg == "" {
+			if list[i].Type == 1 {
+				list[i].BackgroundImg = audioMap[list[i].ChartPermissionId]
+			} else {
+				list[i].BackgroundImg = videoMap[list[i].ChartPermissionId]
+			}
+		}
+		// 分享图
+		if list[i].ShareImg == "" {
+			if list[i].Type == 1 {
+				list[i].ShareImg = audioShareMap[list[i].ChartPermissionId]
+			} else {
+				list[i].ShareImg = videoShareMap[list[i].ChartPermissionId]
+			}
+		}
+		if i <= len(activityVideoTitle)-1 {
+			list[i].Title = activityVideoTitle[i]
+		}
+	}
+
+	resp := new(models.MicroRoadShowListResp)
+	page := paging.GetPaging(currentIndex, pageSize, total)
+	resp.List = list
+	resp.Paging = page
+	resp.Describe = "弘则策略首席 马冬凡 主讲"
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 10 - 12
controllers/morning_meeting.go

@@ -169,18 +169,16 @@ func (this *MorningMeetingController) GatherDetail() {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取失败,Err:" + err.Error()
 		}
-		detailResp.List = listMeet
-		//for _, v := range listMeet {
-		//	detailResp.List = append(detailResp.List, &models.CygxMorningMeetingGatherDetailListResp{
-		//		Id:                  v.Id,
-		//		IndustryId:          v.IndustryId,
-		//		IndustryName:        v.IndustryName,
-		//		ChartPermissionName: v.ChartPermissionName,
-		//		ChartPermissionId:   v.ChartPermissionId,
-		//		MeetingId:           int(v.MeetingId),
-		//		Content:             v.Content,
-		//	})
-		//}
+
+		var meetingreviewchaptIds []int
+		for _, v := range listMeet {
+			meetingreviewchaptIds = append(meetingreviewchaptIds, v.Id)
+		}
+		detailResp.List, err = services.GetCygxMorningMeetingReviewChapterListByIds(meetingreviewchaptIds)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "GetCygxMorningMeetingReviewChapterListByIds,Err:" + err.Error()
+		}
 	} else {
 		detailResp.List = make([]*models.CygxMorningMeetingGatherDetailListResp, 0)
 	}

+ 1 - 0
controllers/product_interior.go

@@ -131,6 +131,7 @@ func (this *ProductInteriorController) Detail() {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "获取用户权限信息失败,Err:" + err.Error()
 	}
+	resp.Disclaimers = utils.DISCLAIMERS // 免责声明
 	go services.AddCygxProductInteriorHistory(user, productInteriorId)
 	go services.ProductInteriorHistoryUserRmind(user, productInteriorId)
 	br.Ret = 200

+ 26 - 0
controllers/report.go

@@ -650,6 +650,28 @@ func (this *ReportController) List() {
 			br.ErrMsg = "获取帖子数据失败,Err:" + err.Error()
 			return
 		}
+
+		//处理晨会精华关联的标的,以及要跳转的文章ID
+		var meetingreviewchaptIds []int
+		mapchaptIdAndArticleId := make(map[int]int)                            // 晨会精华ID与跳转文章ID的映射关系
+		mapchaptIdListSubject := make(map[int][]*models.CygxIndustrialSubject) // 晨会精华ID与标的列表的映射关系
+		for _, v := range list {
+			if v.Resource == 3 {
+				meetingreviewchaptIds = append(meetingreviewchaptIds, v.Id)
+				v.Content = services.AnnotationHtml(v.Content)
+			}
+		}
+		if len(meetingreviewchaptIds) > 0 {
+			listMeet, err := services.GetCygxMorningMeetingReviewChapterListByIds(meetingreviewchaptIds)
+			if err != nil {
+				br.Msg = "获取失败"
+				br.ErrMsg = "GetCygxMorningMeetingReviewChapterListByIds,Err:" + err.Error()
+			}
+			for _, v := range listMeet {
+				mapchaptIdAndArticleId[v.Id] = v.LinkArticleId
+				mapchaptIdListSubject[v.Id] = v.ListSubject
+			}
+		}
 		//对应分类的所图片
 		detailCategoryUrl, err := models.GetConfigByCode("category_map_img_url")
 		if err != nil {
@@ -719,6 +741,10 @@ func (this *ReportController) List() {
 					}
 				}
 			}
+			if v.Resource == 3 {
+				v.LinkArticleId = mapchaptIdAndArticleId[v.Id]
+				v.ListSubject = mapchaptIdListSubject[v.Id]
+			}
 		}
 
 		resp := new(models.TimeLineReportListResp)

+ 1 - 0
controllers/research.go

@@ -831,6 +831,7 @@ func (this *ResearchController) ArticleNewList() {
 			SpecialTags:     v.SpecialTags,
 			UserId:          v.UserId,
 			List:            v.List,
+			TopTime:         v.TopTime,
 		}
 		if v.ArticleTypeId == -1 {
 			item.ArticleTypeName = utils.CYGX_YANXUAN_SPECIAL

+ 1 - 0
controllers/tactics.go

@@ -372,6 +372,7 @@ func (this *TacticsController) TacticsTimeLineList() {
 	for _, v := range list {
 		v.PublishTime = utils.TimeRemoveHms2(v.PublishTime)
 		v.Resource = 1
+		v.Content = services.AnnotationHtml(v.Content)
 	}
 	if len(list) == 0 {
 		list = make([]*models.CygxTacticsTimeLineResp, 0)

+ 13 - 8
models/cygx_morning_meeting_gather.go

@@ -67,14 +67,19 @@ func GetCygxMorningMeetingGatherById(condition string, pars []interface{}) (item
 }
 
 type CygxMorningMeetingGatherDetailListResp struct {
-	Id                  int    `description:"ID"`
-	IndustryId          int    `description:"产业id"` // 产业id
-	IndustryName        string `description:"产业名称"` // 产业名称
-	ChartPermissionName string `description:"行业名称"` // 行业名称
-	ChartPermissionId   int    `description:"行业id"` // 行业id
-	MeetingId           int    `description:"主表id"` // 主表id
-	Content             string `description:"内容"`   // 内容
-	PublishTime         string `description:"发布日期"`
+	Id                   int                      `description:"ID"`
+	IndustryId           int                      `description:"产业id"` // 产业id
+	IndustryName         string                   `description:"产业名称"` // 产业名称
+	ChartPermissionName  string                   `description:"行业名称"` // 行业名称
+	ChartPermissionId    int                      `description:"行业id"` // 行业id
+	MeetingId            int                      `description:"主表id"` // 主表id
+	Content              string                   `description:"内容"`   // 内容
+	PublishTime          string                   `description:"发布日期"`
+	ReportLink           string                   `description:"报告链接"`
+	LinkArticleId        int                      `description:"报告ID链接"`
+	Title                string                   `description:"标题"`
+	IndustrialSubjectIds string                   `description:"标的id"`
+	ListSubject          []*CygxIndustrialSubject `description:"标的列表"`
 }
 
 type CygxMorningMeetingGatherDetailResp struct {

+ 5 - 6
models/industrial_subject.go

@@ -2,15 +2,14 @@ package models
 
 import (
 	"github.com/beego/beego/v2/client/orm"
-	"time"
 )
 
 type CygxIndustrialSubject struct {
-	IndustrialSubjectId    int       `orm:"column(industrial_subject_id);pk" description:"标的id"`
-	IndustrialManagementId int       `description:"产业id"`
-	SubjectName            string    `description:"标的名称"`
-	CreateTime             time.Time `description:"创建时间"`
-	Source                 int       `description:"来源,1正常添加,2:通过文章添加,3通过活动添加(默认为1)"`
+	IndustrialSubjectId    int    `orm:"column(industrial_subject_id);pk" description:"标的id"`
+	IndustrialManagementId int    `description:"产业id"`
+	SubjectName            string `description:"标的名称"`
+	CreateTime             string `description:"创建时间"`
+	Source                 int    `description:"来源,1正常添加,2:通过文章添加,3通过活动添加(默认为1)"`
 }
 
 // 获取标的列表

+ 3 - 2
models/micro_roadshow.go

@@ -9,8 +9,9 @@ import (
 
 // MicroRoadShowListResp 微路演列表响应体
 type MicroRoadShowListResp struct {
-	Paging *paging.PagingItem
-	List   []*MicroRoadShowPageList
+	Paging   *paging.PagingItem
+	List     []*MicroRoadShowPageList
+	Describe string `description:"说明"`
 }
 
 type CygxMicroRoadshowVideo struct {

+ 3 - 2
models/product_interior.go

@@ -91,8 +91,9 @@ func GetCygxProductInteriorList(condition string, pars []interface{}, startSize,
 
 type GetCygxProductInteriorDetailResp struct {
 	Detail        *CygxProductInteriorResp
-	HasPermission int  `description:"1:有该行业权限,正常展示,2:无该行业权限,不存在权益客户下,3:无该品类权限,已提交过申请,4:无该行业权限,未提交过申请,5:潜在客户,未提交过申请,6:潜在客户,已提交过申请"`
-	IsShow        bool `description:"是否展示"`
+	HasPermission int    `description:"1:有该行业权限,正常展示,2:无该行业权限,不存在权益客户下,3:无该品类权限,已提交过申请,4:无该行业权限,未提交过申请,5:潜在客户,未提交过申请,6:潜在客户,已提交过申请"`
+	IsShow        bool   `description:"是否展示"`
+	Disclaimers   string `description:"免责声明"`
 }
 
 // 通过ID获取详情

+ 25 - 21
models/report.go

@@ -510,6 +510,7 @@ type ArticleCollectionResp struct {
 	IndustryTags           string                      `description:"研选专栏行业标签"`
 	CompanyTags            string                      `description:"研选专栏公司标签"`
 	ArticleTypeName        string                      `description:"文章类型名称"`
+	TopTime                int                         `description:"置顶时间"`
 }
 
 type IndustrialManagementResp struct {
@@ -719,6 +720,7 @@ type ArticleResearchResp struct {
 	SpecialTags     string                      `description:"研选专栏标签"`
 	UserId          int                         `description:"作者id"`
 	List            []*IndustrialManagementResp `description:"产业列表"`
+	TopTime         int                         `description:"置顶时间"`
 }
 
 // 获取我的日程数量
@@ -817,7 +819,8 @@ func GetArticleResearchList(condition string, pars []interface{}, startSize, pag
 			0 AS special_type,
 			0 AS user_id,
 			'' AS company_tags, 
-			'' AS industry_tags
+			'' AS industry_tags,
+			a.top_time
 		FROM
 			cygx_article AS a
 			INNER JOIN cygx_article_department AS d ON d.department_id = a.department_id 
@@ -843,19 +846,18 @@ func GetArticleResearchList(condition string, pars []interface{}, startSize, pag
 		a.type AS special_type,
 		a.user_id AS user_id,
 		a.company_tags AS company_tags, 
-		a.industry_tags AS industry_tags 
+		a.industry_tags AS industry_tags,
+		0 as top_time
 	FROM
 	cygx_yanxuan_special AS a
 	JOIN cygx_yanxuan_special_author AS b ON a.user_id = b.user_id
 	WHERE
 	1 = 1  AND a.status = 3 `
-		sql += ` ORDER  BY publish_time DESC  LIMIT ?,? `
-		_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
-	} else {
-		sql += ` ORDER  BY publish_time DESC  LIMIT ?,? `
-		_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
 	}
 
+	sql += ` ORDER  BY top_time DESC, publish_time DESC  LIMIT ?,? `
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+
 	return
 }
 
@@ -1380,19 +1382,21 @@ WHERE
 }
 
 type TimeLineReportItem struct {
-	Id               int    `description:"文章或晨报点评id"`
-	Title            string `description:"标题"`
-	PublishTime      string `description:"发布时间"`
-	Content          string `description:"内容"`
-	VideoUrl         string `description:"视频链接"`
-	VoiceUrl         string `description:"音频链接"`
-	VoicePlaySeconds string `description:"音频时长"`
-	IsHaveVideo      bool   `description:"是否包含视频"`
-	ImgUrlPc         string `description:"pc图片"`
-	SubCategoryName  string `description:"二级分类"`
-	IsRed            bool   `description:"是否标红"`
-	Readnum          int    `description:"阅读数量"`
-	Resource         int    `description:"来源类型,1:文章、2:产品内测、3:晨报点评 4:活动回放视频 5:活动回放音频 "`
+	Id               int                      `description:"文章或晨报点评id"`
+	Title            string                   `description:"标题"`
+	PublishTime      string                   `description:"发布时间"`
+	Content          string                   `description:"内容"`
+	VideoUrl         string                   `description:"视频链接"`
+	VoiceUrl         string                   `description:"音频链接"`
+	VoicePlaySeconds string                   `description:"音频时长"`
+	IsHaveVideo      bool                     `description:"是否包含视频"`
+	ImgUrlPc         string                   `description:"pc图片"`
+	SubCategoryName  string                   `description:"二级分类"`
+	IsRed            bool                     `description:"是否标红"`
+	Readnum          int                      `description:"阅读数量"`
+	Resource         int                      `description:"来源类型,1:文章、2:产品内测、3:晨报点评 4:活动回放视频 5:活动回放音频 "`
+	LinkArticleId    int                      `description:"晨会精华报告ID链接"`
+	ListSubject      []*CygxIndustrialSubject `description:"标的列表"`
 }
 
 // 获取产业报告+晨会点评列表
@@ -1422,7 +1426,7 @@ FROM
 		AND man_g.industrial_management_id = ? GROUP BY id UNION ALL
 	SELECT
 		mmc.id,
-		'' AS title,
+		mmc.title,
 		mm.publish_time AS publish_time,
 		'' AS video_url,
 		'' AS voice_url,

+ 9 - 0
routers/commentsRouter.go

@@ -871,6 +871,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:MicroRoadShowController"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:MicroRoadShowController"],
+        beego.ControllerComments{
+            Method: "TrainingList",
+            Router: `/training/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:MicroRoadShowController"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:MicroRoadShowController"],
         beego.ControllerComments{
             Method: "VideoHistoryAdd",

+ 4 - 4
services/es_comprehensive.go

@@ -1082,11 +1082,11 @@ func GetResourceDataEsList(list []*SearchComprehensiveItem, user *models.WxUserI
 
 	//处理晨会精华
 	if len(meetingreviewchaptIds) > 0 {
-		pars = make([]interface{}, 0)
-		condition = ` AND c.id IN (` + utils.GetOrmInReplace(len(meetingreviewchaptIds)) + `)`
-		pars = append(pars, meetingreviewchaptIds)
+		//pars = make([]interface{}, 0)
+		//condition = ` AND c.id IN (` + utils.GetOrmInReplace(len(meetingreviewchaptIds)) + `)`
+		//pars = append(pars, meetingreviewchaptIds)
 
-		listrMeet, e := models.GetCygxMorningMeetingReviewChapterList(condition, pars)
+		listrMeet, e := GetCygxMorningMeetingReviewChapterListByIds(meetingreviewchaptIds)
 		if e != nil {
 			err = errors.New("GetResourceDataList, Err: " + e.Error())
 			return

+ 69 - 0
services/morning_meeting.go

@@ -112,3 +112,72 @@ func AddCygxMorningMeetingReviewChapterHistory(user *models.WxUserItem, articleI
 	}
 	return
 }
+
+// 通过晨会精华子ID,获取出参列表详情
+func GetCygxMorningMeetingReviewChapterListByIds(meetingreviewchaptIds []int) (items []*models.CygxMorningMeetingGatherDetailListResp, err error) {
+	lenArr := len(meetingreviewchaptIds)
+	if lenArr == 0 {
+		return
+	}
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg(fmt.Sprint("通过晨会精华子ID,获取出参列表详情失败 ,GetCygxMorningMeetingReviewChapterListByIds err"+err.Error(), "meetingreviewchaptIds:", meetingreviewchaptIds), 2)
+		}
+	}()
+	var condition string
+	var pars []interface{}
+
+	pars = make([]interface{}, 0)
+	condition = ` AND c.id IN (` + utils.GetOrmInReplace(lenArr) + `)`
+	pars = append(pars, meetingreviewchaptIds)
+
+	//查询晨会
+	listrMeet, e := models.GetCygxMorningMeetingReviewChapterList(condition, pars)
+	if e != nil {
+		err = errors.New("GetCygxMorningMeetingReviewChapterList, Err: " + e.Error())
+		return
+	}
+
+	//获取晨会相关的标的
+	var subjectIds []string
+	for _, v := range listrMeet {
+		if v.IndustrialSubjectIds != "" {
+			slice := strings.Split(v.IndustrialSubjectIds, ",")
+			for _, vS := range slice {
+				subjectIds = append(subjectIds, vS)
+			}
+		}
+	}
+
+	lensubjectIds := len(subjectIds)
+	if lensubjectIds > 0 {
+		//获取标的信息
+		pars = make([]interface{}, 0)
+		condition = ` AND industrial_subject_id  IN (` + utils.GetOrmInReplace(lensubjectIds) + `)`
+		pars = append(pars, subjectIds)
+		listsubject, e := models.GetCygxIndustrialSubjectListCondition(condition, pars)
+		if e != nil {
+			err = errors.New("GetCygxIndustrialSubjectListCondition, Err: " + e.Error())
+			return
+		}
+
+		var meetSubjectItems = make(map[string]*models.CygxIndustrialSubject)
+		for _, v := range listsubject {
+			meetSubjectItems[strconv.Itoa(v.IndustrialSubjectId)] = v
+		}
+
+		//建立标的与晨会的映射关系
+		for _, v := range listrMeet {
+			if v.IndustrialSubjectIds != "" {
+				slice := strings.Split(v.IndustrialSubjectIds, ",")
+				for _, vS := range slice {
+					if meetSubjectItems[vS] != nil {
+						v.ListSubject = append(v.ListSubject, meetSubjectItems[vS])
+					}
+				}
+			}
+		}
+	}
+	items = listrMeet
+	return
+}

+ 6 - 5
services/resource_data.go

@@ -102,15 +102,16 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 
 	//处理晨会精华
 	if len(meetingreviewchaptIds) > 0 {
-		pars = make([]interface{}, 0)
-		condition = ` AND c.id IN (` + utils.GetOrmInReplace(len(meetingreviewchaptIds)) + `)`
-		pars = append(pars, meetingreviewchaptIds)
+		//pars = make([]interface{}, 0)
+		//condition = ` AND c.id IN (` + utils.GetOrmInReplace(len(meetingreviewchaptIds)) + `)`
+		//pars = append(pars, meetingreviewchaptIds)
 
-		listrMeet, e := models.GetCygxMorningMeetingReviewChapterList(condition, pars)
+		listrMeet, e := GetCygxMorningMeetingReviewChapterListByIds(meetingreviewchaptIds)
 		if e != nil {
-			err = errors.New("GetResourceDataList, Err: " + e.Error())
+			err = errors.New("GetCygxMorningMeetingReviewChapterListByIds, Err: " + e.Error())
 			return
 		}
+
 		for _, v := range listrMeet {
 			v.Content = AnnotationHtml(v.Content)
 			v.PublishTime = utils.TimeRemoveHms2(v.PublishTime)

+ 5 - 0
utils/constants.go

@@ -260,6 +260,11 @@ const (
 	FULLSTARFFED_MSG      string = "FullStarffed"              // 报名的时候人数已满的状态
 )
 
+// 免责声明
+const (
+	DISCLAIMERS string = "<div style=\"padding:20px\"><p>本报告仅供弘则弥道(上海)投资咨询有限公司正式签约的机构客户使用,不会因接收人/接收机构收到本报告而将其视为客户。本报告根据国际和行业通行的准则,以合法渠道获得这些信息,尽可能保证可靠、准确和完整,但并不保证报告所述信息的准确性和完整性,也不保证本报告所包含的信息或建议在本报告发出后不会发生任何变更。本报告中所提供的信息仅供参考。报告中的内容不对投资者做出的最终操作建议做任何的担保,也没有任何形式的分享投资收益或者分担投资损失的书面或口头承诺。不作为客户在投资、法律、会计或税务等方面的最终操作建议,也不作为道义的、责任的和法律的依据或者凭证,无论是否已经明示或者暗示。在任何情况下,本公司不对客户/接收人/接收机构因使用报告中内容所引致的一切损失负责任,客户/接收人/接收机构需自行承担全部风险。</p></div>"
+)
+
 // GetWeeklyDatabase 获取 weekly_report 库名
 func GetWeeklyDatabase() (databaseName string) {
 	if RunMode == "release" {