Browse Source

Merge branch 'master' of http://8.136.199.33:3000/hongze/hongze_cygx into cygx_8.2

xingzai 2 years ago
parent
commit
be0bf854fc

+ 13 - 1
controllers/activity.go

@@ -1044,6 +1044,16 @@ func (this *ActivityCoAntroller) Detail() {
 			activityInfo.AudioLink = true
 			activityInfo.VideoDetail = mapActivityVideo[activityId]
 		}
+		//8.5 小程序活动详情页 除专家电话外 其余属于新产业的活动 ,不显示 new 标签
+		if activityInfo.ActivityTypeName != "专家电话会" {
+			for _, rep := range activityInfo.Listndustrial {
+				rep.IndustryNewLabel = false
+			}
+		}
+		//8.5 买方研选的活动去掉限免标签
+		if strings.Contains(activityInfo.ChartPermissionName, "研选"){
+			activityInfo.IsShowSustainable = false
+		}
 		//处理按钮是否展示问题
 		resp.Detail = services.ActivityButtonShow(activityInfo)
 	}
@@ -2433,6 +2443,7 @@ func (this *ActivityCoAntroller) LabelMoreList() {
 // @Param   PlayBack   query   int  false       "是否仅展示回放 1:是、0:否 默认0"
 // @Param   KeyWord   query   string  false       "搜索关键词 多个用 , 隔开"
 // @Param   ActivityId   query   int  false       "活动列表传过来的活动ID"
+// @Param   Filter			query	int		false	"筛选条件 0:全部 1:视频 2:音频"
 // @Success 200 {object} models.GetCygxActivityListRep
 // @router /listNew [get]
 func (this *ActivityCoAntroller) ActivityListNew() {
@@ -2458,6 +2469,7 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 	activityTypeId := this.GetString("ActivityTypeId")
 	keyWord := this.GetString("KeyWord")
 	playBack, _ := this.GetInt("PlayBack")
+	filter, _ := this.GetInt("Filter")
 	activityId, _ := this.GetInt("ActivityId") // 仅用于判断【新】标签
 
 	if label == "undefined" {
@@ -2566,7 +2578,7 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 	}
 
 	condition += conditionOrder
-	list, errList := models.GetActivityListAll(condition, pars, uid, startSize, pageSize, playBack)
+	list, errList := models.GetActivityListNew(condition, pars, uid, startSize, pageSize, playBack, filter)
 	if errList != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + errList.Error()

+ 3 - 1
controllers/micro_roadshow.go

@@ -23,6 +23,7 @@ type MicroRoadShowController struct {
 // @Param   AudioId			query	int		false	"音频ID"
 // @Param   VideoId			query	int		false	"视频ID"
 // @Param   ActivityVideoId			query	int		false	"活动视频ID"
+// @Param   Filter			query	int		false	"筛选条件 0:全部 1:视频 2:音频"
 // @Success 200 {object} models.HomeListResp
 // @router /list [get]
 func (this *MicroRoadShowController) List() {
@@ -44,6 +45,7 @@ func (this *MicroRoadShowController) List() {
 	audioId, _ := this.GetInt("AudioId")
 	videoId, _ := this.GetInt("VideoId")
 	activityVideoId, _ := this.GetInt("ActivityVideoId")
+	filter, _ := this.GetInt("Filter", 0)
 
 	if pageSize <= 0 {
 		pageSize = utils.PageSize20
@@ -53,7 +55,7 @@ func (this *MicroRoadShowController) List() {
 	}
 
 	// 微路演列表
-	list, total, e := services.GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activityVideoId, keywords)
+	list, total, e := services.GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activityVideoId, filter, keywords)
 	if e != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取微路演列表失败, Err: " + e.Error()

+ 145 - 83
controllers/report.go

@@ -527,7 +527,7 @@ func (this *ReportController) ArticleCategoryList() {
 	//}
 
 	//时间线
-	if showTimeLine == 1{
+	if showTimeLine == 1 {
 		timeLineItem := models.IndustrialToArticleCategoryRep{
 			CategoryId:    99999,
 			MatchTypeName: "时间线",
@@ -602,92 +602,92 @@ func (this *ReportController) List() {
 	if categoryId != 99999 {
 		resp := new(models.TacticsListResp)
 		//获取该产业下所对应的行业图片
-	detail, errCategory := models.GetdetailByCategoryIdOne(categoryId)
-	if errCategory != nil {
-		br.Msg = "获取信息失败"
-		br.ErrMsg = "获取信息失败,Err:" + errCategory.Error() + "categoryID 不存在:" + strconv.Itoa(categoryId)
-		return
-	}
-	//对应行业的图片
-	detailChartPermissionUrl, err := models.GetConfigByCode("category_chart_permissionimg_url")
-	if err != nil {
-		br.Msg = "获取数据失败"
-		br.ErrMsg = "行业配置信息失败,Err:" + err.Error()
-		return
-	}
-	chartPermissionUrlList := strings.Split(detailChartPermissionUrl.ConfigValue, "{|}")
-	mapChartPermission := make(map[string]string)
-	var permissionName string
-	var imgUrlChartPermission string
-	for _, v := range chartPermissionUrlList {
-		vslice := strings.Split(v, "_")
-		permissionName = vslice[0]
-		imgUrlChartPermission = vslice[len(vslice)-1]
-		mapChartPermission[permissionName] = imgUrlChartPermission
-	}
-
-	total, err = models.GetReportIndustrialCount(categoryId, industrialManagementId)
-	if err != nil {
-		br.Msg = "获取信息失败"
-		br.ErrMsg = "获取帖子总数失败,Err:" + err.Error()
-		return
-	}
-	page = paging.GetPaging(currentIndex, pageSize, total)
-	list, err := models.GetReportIndustrialList(pars, categoryId, industrialManagementId, uid, startSize, pageSize)
-	if err != nil {
-		br.Msg = "获取信息失败"
-		br.ErrMsg = "获取帖子数据失败,Err:" + err.Error()
-		return
-	}
-	//对应分类的所图片
-	detailCategoryUrl, err := models.GetConfigByCode("category_map_img_url")
-	if err != nil {
-		br.Msg = "获取数据失败"
-		br.ErrMsg = "行业配置信息失败,Err:" + err.Error()
-		return
-	}
-	categoryUrlList := strings.Split(detailCategoryUrl.ConfigValue, "{|}")
-	mapCategoryUrl := make(map[string]string)
-	var categoryIdStr string
-	var imgUrlChart string
-	for _, v := range categoryUrlList {
-		vslice := strings.Split(v, "_")
-		categoryIdStr = vslice[0]
-		imgUrlChart = vslice[len(vslice)-1]
-		mapCategoryUrl[categoryIdStr] = imgUrlChart
-	}
-	lenList := len(list)
-	for i := 0; i < lenList; i++ {
-		item := list[i]
-		list[i].Body, _ = services.GetReportContentTextSub(item.Body)
-		//list[i].Abstract = html.UnescapeString(item.Abstract)
-		list[i].Abstract, _ = services.GetReportContentTextSub(item.Abstract)
-	}
+		detail, errCategory := models.GetdetailByCategoryIdOne(categoryId)
+		if errCategory != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取信息失败,Err:" + errCategory.Error() + "categoryID 不存在:" + strconv.Itoa(categoryId)
+			return
+		}
+		//对应行业的图片
+		detailChartPermissionUrl, err := models.GetConfigByCode("category_chart_permissionimg_url")
+		if err != nil {
+			br.Msg = "获取数据失败"
+			br.ErrMsg = "行业配置信息失败,Err:" + err.Error()
+			return
+		}
+		chartPermissionUrlList := strings.Split(detailChartPermissionUrl.ConfigValue, "{|}")
+		mapChartPermission := make(map[string]string)
+		var permissionName string
+		var imgUrlChartPermission string
+		for _, v := range chartPermissionUrlList {
+			vslice := strings.Split(v, "_")
+			permissionName = vslice[0]
+			imgUrlChartPermission = vslice[len(vslice)-1]
+			mapChartPermission[permissionName] = imgUrlChartPermission
+		}
 
-	for k, v := range list {
-		if v.Readnum == 0 && user.CreatedTime.Before(utils.StrTimeToTime(v.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(v.PublishDate)) {
-			list[k].IsRed = true
+		total, err = models.GetReportIndustrialCount(categoryId, industrialManagementId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取帖子总数失败,Err:" + err.Error()
+			return
+		}
+		page = paging.GetPaging(currentIndex, pageSize, total)
+		list, err := models.GetReportIndustrialList(pars, categoryId, industrialManagementId, uid, startSize, pageSize)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取帖子数据失败,Err:" + err.Error()
+			return
 		}
-		if v.VideoUrl != "" {
-			list[k].IsHaveVideo = true
+		//对应分类的所图片
+		detailCategoryUrl, err := models.GetConfigByCode("category_map_img_url")
+		if err != nil {
+			br.Msg = "获取数据失败"
+			br.ErrMsg = "行业配置信息失败,Err:" + err.Error()
+			return
+		}
+		categoryUrlList := strings.Split(detailCategoryUrl.ConfigValue, "{|}")
+		mapCategoryUrl := make(map[string]string)
+		var categoryIdStr string
+		var imgUrlChart string
+		for _, v := range categoryUrlList {
+			vslice := strings.Split(v, "_")
+			categoryIdStr = vslice[0]
+			imgUrlChart = vslice[len(vslice)-1]
+			mapCategoryUrl[categoryIdStr] = imgUrlChart
+		}
+		lenList := len(list)
+		for i := 0; i < lenList; i++ {
+			item := list[i]
+			list[i].Body, _ = services.GetReportContentTextSub(item.Body)
+			//list[i].Abstract = html.UnescapeString(item.Abstract)
+			list[i].Abstract, _ = services.GetReportContentTextSub(item.Abstract)
 		}
-		list[k].ImgUrlPc = mapCategoryUrl[v.CategoryId]
 
-		if mapCategoryUrl[v.CategoryId] == "" {
-			if detail.ChartPermissionId == utils.YI_YAO_ID {
-				list[k].ImgUrlPc = utils.YI_YAO_QI_TA
+		for k, v := range list {
+			if v.Readnum == 0 && user.CreatedTime.Before(utils.StrTimeToTime(v.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(v.PublishDate)) {
+				list[k].IsRed = true
+			}
+			if v.VideoUrl != "" {
+				list[k].IsHaveVideo = true
+			}
+			list[k].ImgUrlPc = mapCategoryUrl[v.CategoryId]
+
+			if mapCategoryUrl[v.CategoryId] == "" {
+				if detail.ChartPermissionId == utils.YI_YAO_ID {
+					list[k].ImgUrlPc = utils.YI_YAO_QI_TA
+				}
 			}
 		}
-	}
 
-	resp.CategoryImgUrlPc = mapChartPermission[detail.ChartPermissionName]
-	resp.ChartPermissionId = detail.ChartPermissionId
-	resp.List = list
-	resp.Paging = page
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "获取成功"
-	br.Data = resp
+		resp.CategoryImgUrlPc = mapChartPermission[detail.ChartPermissionName]
+		resp.ChartPermissionId = detail.ChartPermissionId
+		resp.List = list
+		resp.Paging = page
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		br.Data = resp
 	} else {
 		//获取该产业下所对应的行业图片
 		//因为时间线不属于数据表里的二级分类,所以图片Id用产业id查到的list中的任意一个categoryId取到的图片替代
@@ -698,14 +698,14 @@ func (this *ReportController) List() {
 			return
 		}
 		var timeLineCategoryId int
-		if len(categoryList) > 0{
+		if len(categoryList) > 0 {
 			timeLineCategoryId = categoryList[0].CategoryId
 		}
 
 		var detail *models.ReportMapping
 		var errCategory error
 
-		if timeLineCategoryId >0 {
+		if timeLineCategoryId > 0 {
 			detail, errCategory = models.GetdetailByCategoryIdOne(timeLineCategoryId)
 			if errCategory != nil {
 				br.Msg = "获取信息失败"
@@ -788,7 +788,6 @@ func (this *ReportController) List() {
 			}
 		}
 
-
 		resp := new(models.TimeLineReportListResp)
 		resp.CategoryImgUrlPc = mapChartPermission[detail.ChartPermissionName]
 
@@ -3037,3 +3036,66 @@ func (this *ReportController) SearchReportAndResource() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// @Title 产业报告公司列表
+// @Description 获取产业报告公司列表接口
+// @Param   ChartPermissionId   query   int  true       "行业id"
+// @Success 200 {object} models.IndustrialManagementList
+// @router /home/stockName [get]
+func (this *ReportController) StockNameList() {
+	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
+	chartPermissionId, _ := this.GetInt("ChartPermissionId")
+
+	list, err := models.GetSummaryArticle(chartPermissionId)
+	if err != nil {
+		br.Msg = "获取综述报告公司名称失败"
+		br.ErrMsg = "获取综述报告公司名称失败,Err:" + err.Error()
+		return
+	}
+	for _, item := range list {
+		sliceSubjects := strings.Split(item.Stock, "/")
+		if len(sliceSubjects) > 0 {
+			for i, vSubject := range sliceSubjects {
+				sliceKuohao := strings.Split(vSubject, "(")           //过滤括号
+				sliceXiahuaxian := strings.Split(sliceKuohao[0], "-") //过滤下划线
+				subject := sliceXiahuaxian[0]
+				if i > 0 {
+					newItem := models.SummaryArticleStock{
+						Id:        item.Id,
+						ArticleId: item.ArticleId,
+						Stock:     subject,
+					}
+					list = append(list, &newItem)
+				} else {
+					item.Stock = subject
+				}
+			}
+		}
+
+		//index := strings.Index(item.Stock, "(")
+		//item.Stock = item.Stock[:index]
+		//if strings.Contains(item.Stock, "-B"){
+		//	item.Stock = strings.Replace(item.Stock, "-B", "", -1)
+		//}
+		//if strings.Contains(item.Stock, "-W"){
+		//	item.Stock = strings.Replace(item.Stock, "-W", "", -1)
+		//}
+	}
+	resp := new(models.SummaryArticleStockResp)
+	resp.List = list
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 29 - 0
models/activity.go

@@ -1010,3 +1010,32 @@ func GetActivitySpecialSearcheList(condition string, pars []interface{}, conditi
 	_, err = o.Raw(sql, pars, parsSpecil, startSize, pageSize).QueryRows(&items)
 	return
 }
+
+//列表
+func GetActivityListNew(condition string, pars []interface{}, uid, startSize, pageSize, playBack, filter int) (items []*ActivityDetail, err error) {
+	var sqlJiontable string
+	if playBack == 1 {
+		//sqlJiontable = ` INNER JOIN cygx_activity_voice AS ac ON ac.activity_id = art.activity_id `
+	}
+	if filter == 1 {
+		sqlJiontable = ` INNER JOIN cygx_activity_video AS av ON av.activity_id = art.activity_id `
+	} else if filter == 2 {
+		sqlJiontable = ` INNER JOIN cygx_activity_voice AS ac ON ac.activity_id = art.activity_id `
+	}
+
+	o := orm.NewOrm()
+	sql := `SELECT art.* ,t.activity_type,t.img_url_text,c.image_url as  img_url,
+		( SELECT COUNT( 1 ) FROM cygx_activity_signup AS s WHERE s.activity_id = art.activity_id AND s.user_id = ?   AND s.is_cancel = 0  AND s.do_fail_type = 0) AS is_signup,
+		( SELECT COUNT( DISTINCT user_id ) FROM cygx_activity_signup AS s WHERE s.activity_id = art.activity_id   AND s.is_cancel = 0  AND s.do_fail_type = 0) AS signup_num,
+		( SELECT COUNT( 1 ) FROM cygx_activity_meeting_reminder AS m WHERE m.activity_id = art.activity_id AND m.user_id = ?  AND m.is_cancel = 0  ) AS is_cancel_meeting_reminder,
+		( SELECT COUNT( 1 ) FROM cygx_activity_appointment AS ap WHERE ap.activity_id = art.activity_id AND ap.user_id = ? ) AS is_appointment
+		FROM cygx_activity as art
+		INNER JOIN cygx_activity_type  as t ON t.activity_type_id = art.activity_type_id
+		INNER JOIN  chart_permission  AS c ON c.chart_permission_id = art.chart_permission_id ` + sqlJiontable + ` WHERE 1= 1 `
+	if condition != "" {
+		sql += condition
+	}
+	sql += ` LIMIT ?,?`
+	_, err = o.Raw(sql, pars, uid, uid, uid, startSize, pageSize).QueryRows(&items)
+	return
+}

+ 29 - 0
models/article.go

@@ -45,6 +45,7 @@ type CygxArticle struct {
 	FieldName        string `description:"产业标签"`
 	Annotation       string `description:"核心观点"`
 	TypeName         string `description:"策略平台报告类型"`
+	ModifyTimeByCl   string `description:"策略平台报告更新时间"`
 }
 
 type CygxArticleEs struct {
@@ -534,6 +535,7 @@ type ArticleResultApidate struct {
 	Stock         []string                 `json:"stock"`
 	Field         ArticleField             `json:"field"`
 	Corpus        Corpus                   `json:"corpus"`
+	Cover         string                   `json:"cover"`
 }
 
 type ArticleField struct {
@@ -650,3 +652,30 @@ func UpdateIsClassFail(articleId int) (err error) {
 	_, err = o.Raw(sql, articleId).Exec()
 	return
 }
+
+type SummaryArticleStock struct {
+	Id        int    `description:"新ID"`
+	ArticleId int    `description:"文章id"`
+	Stock     string `description:"个股标签"`
+}
+
+//综述报告
+func GetSummaryArticle(chartPermissionId int) (items []*SummaryArticleStock, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+	* 
+FROM
+	cygx_article AS c
+	INNER JOIN cygx_report_mapping AS m 
+WHERE
+	c.type_name = '综述报告' 
+	AND m.category_id = c.category_id_two 
+	AND m.chart_permission_id = ? ORDER BY last_updated_time DESC `
+
+	_, err = o.Raw(sql, chartPermissionId).QueryRows(&items)
+	return
+}
+
+type SummaryArticleStockResp struct {
+	List []*SummaryArticleStock
+}

+ 28 - 0
models/article_data.go

@@ -0,0 +1,28 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CygxArticleData struct {
+	Id         int       `orm:"column(id);pk"`
+	ArticleId  int       `description:"文章id"`
+	CreateTime time.Time `description:"创建时间"`
+	Cover      string    `description:"封面图片,公司logo"`
+}
+
+//新增文章
+func AddCygxArticleData(item *CygxArticleData) (lastId int64, err error) {
+	o := orm.NewOrm()
+	lastId, err = o.Insert(item)
+	return
+}
+
+//获取数量
+func GetCygxArticleDataCount(articcleId int) (count int, err error) {
+	o := orm.NewOrm()
+	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_article_data WHERE article_id=? `
+	err = o.Raw(sqlCount, articcleId).QueryRow(&count)
+	return
+}

+ 1 - 0
models/db.go

@@ -126,6 +126,7 @@ func init() {
 		new(MicroRoadshowVideo),
 		new(CygxActivityVideoHistory),
 		new(CygxActivitySpecialTrip),
+		new(CygxArticleData),
 	)
 	// 记录ORM查询日志
 	orm.Debug = true

+ 6 - 6
models/micro_roadshow.go

@@ -31,10 +31,10 @@ type MicroRoadShowPageList struct {
 }
 
 // GetMicroRoadShowVideoPageList 获取微路演视频列表-分页
-func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string, pars []interface{}, conditionAct string, parsAct []interface{}, conditionAudio string, parsAudio []interface{}, audioId, videoId, activityVideoId int) (total int, list []*MicroRoadShowPageList, err error) {
+func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string, pars []interface{}, conditionAct string, parsAct []interface{}, conditionAudio string, parsAudio []interface{}, audioId, videoId, activityVideoId, filter int) (total int, list []*MicroRoadShowPageList, err error) {
 	o := orm.NewOrm()
 	var sql string
-	if audioId+activityVideoId == 0 {
+	if audioId+activityVideoId == 0 && filter != 2{
 		sql += `SELECT
 			video_id AS id,
 			video_name AS title,
@@ -56,11 +56,11 @@ func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string,
 			sql += condition
 		}
 	}
-	if audioId+videoId+activityVideoId == 0 {
+	if audioId+videoId+activityVideoId == 0 && filter != 2 {
 		sql += `  UNION ALL `
 	}
 
-	if audioId+videoId == 0 {
+	if audioId+videoId == 0 && filter != 2{
 		sql += `
 		SELECT
 			video_id AS id,
@@ -82,11 +82,11 @@ func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string,
 			sql += conditionAct
 		}
 	}
-	if audioId+videoId+activityVideoId == 0 {
+	if audioId+videoId+activityVideoId == 0 && filter == 0 {
 		sql += `  UNION ALL `
 	}
 
-	if videoId+activityVideoId == 0 {
+	if videoId+activityVideoId == 0 && filter != 1 {
 		sql += `
 			SELECT
 			a.activity_voice_id AS id,

+ 1 - 0
models/tactics.go

@@ -82,6 +82,7 @@ type Tactics2 struct {
 	FieldName       string    `description:"产业标签"`
 	File            string    `description:"Pdf下载链接"`
 	TypeName        string    `description:"策略平台报告类型"`
+	UpdateDate      string    `description:"策略平台报告更新时间"`
 }
 
 func GetTacticsList2(endDate string) (list []*Tactics2, err error) {

+ 9 - 0
routers/commentsRouter.go

@@ -745,6 +745,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ReportController"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ReportController"],
+        beego.ControllerComments{
+            Method: "StockNameList",
+            Router: `/home/stockName`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ReportController"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ReportController"],
         beego.ControllerComments{
             Method: "TradeList",

+ 35 - 138
services/article.go

@@ -736,12 +736,18 @@ func HandleArticleListByApi(artcleId int) (err error) {
 		}
 	}
 	var list []*models.Tactics2
+	var listArticleData []*models.CygxArticleData
 	var listAuthor []*models.CygxArticleAuthor
 
 	//状态等于 2 跟 4 的进行同步
 	if exitMap[articleResult.SeriesId] > 0 && (articleResult.PublishStatus == 2 || articleResult.PublishStatus == 4) {
 		articleResult.PublishDate = time.Date(articleResult.PublishDate.Year(), articleResult.PublishDate.Month(), articleResult.PublishDate.Day(), articleResult.PublishDate.Hour(), articleResult.PublishDate.Minute(), articleResult.PublishDate.Second(), articleResult.PublishDate.Nanosecond(), time.Local)
 		item := new(models.Tactics2)
+		itemArticleData := new(models.CygxArticleData)
+		itemArticleData.ArticleId = articleResult.ArticleId
+		itemArticleData.Cover = articleResult.Cover
+		itemArticleData.CreateTime = time.Now()
+		listArticleData = append(listArticleData, itemArticleData)
 		itemAuthor := new(models.CygxArticleAuthor)
 		item.ArticleId = articleResult.ArticleId
 		item.Title = articleResult.Title
@@ -780,10 +786,12 @@ func HandleArticleListByApi(artcleId int) (err error) {
 		}
 		item.FieldName = articleResult.Field.Name
 		item.TypeName = articleResult.Type.Name
+		item.UpdateDate = articleResult.UpdateDate
 		list = append(list, item)
 		itemAuthor.ArticleId = articleResult.ArticleId
 		itemAuthor.Name = articleResult.Author.Name
 		itemAuthor.Mobile = articleResult.Author.PhoneNumber
+		fmt.Println(articleResult.Cover)
 		listAuthor = append(listAuthor, itemAuthor)
 	} else {
 		// 如果这篇文章没有发布,那么就不作处理。
@@ -794,7 +802,6 @@ func HandleArticleListByApi(artcleId int) (err error) {
 		}
 		go models.UpdateCygxArticleCeluePush(artcleId)
 		return err
-
 	}
 
 	//同步作者
@@ -949,6 +956,7 @@ func HandleArticleListByApi(artcleId int) (err error) {
 			updateParams["FieldName"] = v.FieldName
 			updateParams["Annotation"] = v.Annotation
 			updateParams["TypeName"] = v.TypeName
+			updateParams["ModifyTimeByCl"] = v.UpdateDate
 			whereParam := map[string]interface{}{"article_id": v.ArticleId}
 			err = models.UpdateByExpr(models.CygxArticle{}, whereParam, updateParams)
 			if err != nil {
@@ -989,6 +997,7 @@ func HandleArticleListByApi(artcleId int) (err error) {
 			item.FieldName = v.FieldName
 			item.Annotation = v.Annotation
 			item.TypeName = v.TypeName
+			item.ModifyTimeByCl = v.UpdateDate
 			newId, err := models.AddCygxArticles(item)
 			if err != nil {
 				fmt.Println("AddCygxArticle Err:", err.Error())
@@ -1075,143 +1084,6 @@ func HandleArticleListByApi(artcleId int) (err error) {
 			}
 		}
 
-		//类型ID 医药(医享会:28 、药调研:301)、消费【渠道新声:32】、科技【科技前言:79】、智造【匠心智造:84】或者是纪要做消息模板推送
-		fmt.Println(v.CategoryId)
-		//if v.IsSummary == 1 || (v.CategoryId == 28 || v.CategoryId == 301 || v.CategoryId == 32 || v.CategoryId == 79 || v.CategoryId == 84) {
-		//	sliceSubjects := strings.Split(v.Stock, "/")
-		//	fmt.Println(sliceSubjects)
-		//	if len(sliceSubjects) > 0 {
-		//		var subjectStr string
-		//		for _, vSubject := range sliceSubjects {
-		//			sliceKuohao := strings.Split(vSubject, "(")           //过滤括号
-		//			sliceXiahuaxian := strings.Split(sliceKuohao[0], "-") //过滤下划线
-		//			subject := sliceXiahuaxian[0]
-		//			subjectStr += "'" + subject + "',"
-		//		}
-		//		if subjectStr != "" {
-		//			subjectStr = strings.TrimRight(subjectStr, ",")
-		//			activityIdList, err := models.GetActivityIdListBySubjecName(subjectStr)
-		//			if err != nil {
-		//				fmt.Println("GetActivityIdListBySubjecName Err:", err.Error())
-		//				return err
-		//			}
-		//			if len(activityIdList) > 0 {
-		//				var activityIdStr string
-		//				for _, vAct := range activityIdList {
-		//					activityIdStr += strconv.Itoa(vAct.ActivityId) + ","
-		//				}
-		//				activityIdStr = strings.TrimRight(activityIdStr, ",")
-		//				if activityIdStr != "" {
-		//					appointmentList, err := models.GetAppointmentListByActivityId(activityIdStr, "1,2,5")
-		//					if err != nil {
-		//						fmt.Println("GetAppointmentListByActivityId Err:", err.Error())
-		//						return err
-		//					}
-		//					if len(appointmentList) > 0 {
-		//						for _, vApp := range appointmentList {
-		//
-		//							appointmentByMobileList, err := models.GetAppointmentListByActivityIdAndMobile(activityIdStr, vApp.Mobile)
-		//							if err != nil {
-		//								fmt.Println("GetAppointmentListByActivityId Err:", err.Error())
-		//								return err
-		//							}
-		//							var appointmentActivityName string
-		//							if len(appointmentByMobileList) > 0 {
-		//								for _, vAppM := range appointmentByMobileList {
-		//									appointmentActivityName += vAppM.ActivityName + ","
-		//								}
-		//							}
-		//							appointmentActivityName = strings.TrimRight(appointmentActivityName, ",")
-		//							if vApp.ActivityTypeId == 5 && v.CategoryId != 301 {
-		//								continue
-		//							}
-		//
-		//							if vApp.Mobile != "" {
-		//								openIdListByAppointment, err := models.GetUserRecordListByMobile(4, vApp.Mobile)
-		//								if err != nil {
-		//									fmt.Println(err)
-		//									return err
-		//								}
-		//								keyword1 := "您预约的调研,有关联的纪要发布/更新了"
-		//								keyword2 := appointmentActivityName
-		//								keyword3 := v.Title
-		//								keyword4 := v.PublishDate.Format(utils.FormatDateTime)
-		//								SendWxMsgWithArticleClassToAdmin(keyword1, keyword2, keyword3, keyword4, openIdListByAppointment, artcleId)
-		//							}
-		//						}
-		//					}
-		//				}
-		//			}
-		//		}
-		//	}
-		//}
-		//
-		////【公司调研】系列纪要发布/更新后
-		//if v.CategoryId == 45 || v.CategoryId == 74 || v.CategoryId == 86 || v.CategoryId == 88 {
-		//	fmt.Println("处理预约纪要")
-		//	sliceSubjects := strings.Split(v.Stock, "/")
-		//	if len(sliceSubjects) > 0 {
-		//		var subjectStr string
-		//		for _, vSubject := range sliceSubjects {
-		//			sliceKuohao := strings.Split(vSubject, "(")           //过滤括号
-		//			sliceXiahuaxian := strings.Split(sliceKuohao[0], "-") //过滤下划线
-		//			subject := sliceXiahuaxian[0]
-		//			subjectStr += "'" + subject + "',"
-		//		}
-		//		if subjectStr != "" {
-		//			subjectStr = strings.TrimRight(subjectStr, ",")
-		//			activityIdList, err := models.GetActivityIdListBySubjecName(subjectStr)
-		//			if err != nil {
-		//				fmt.Println("GetActivityIdListBySubjecName Err:", err.Error())
-		//				return err
-		//			}
-		//			if len(activityIdList) > 0 {
-		//				var activityIdStr string
-		//				for _, vAct := range activityIdList {
-		//					activityIdStr += strconv.Itoa(vAct.ActivityId) + ","
-		//				}
-		//				activityIdStr = strings.TrimRight(activityIdStr, ",")
-		//				if activityIdStr != "" {
-		//					appointmentList, err := models.GetAppointmentListByActivityId(activityIdStr, "3,4")
-		//					if err != nil {
-		//						fmt.Println("GetAppointmentListByActivityId Err:", err.Error())
-		//						return err
-		//					}
-		//					if len(appointmentList) > 0 {
-		//						for _, vApp := range appointmentList {
-		//							appointmentByMobileList, err := models.GetAppointmentListByActivityIdAndMobile(activityIdStr, vApp.Mobile)
-		//							if err != nil {
-		//								fmt.Println("GetAppointmentListByActivityId Err:", err.Error())
-		//								return err
-		//							}
-		//							var appointmentActivityName string
-		//							if len(appointmentByMobileList) > 0 {
-		//								for _, vAppM := range appointmentByMobileList {
-		//									appointmentActivityName += vAppM.ActivityName + ","
-		//								}
-		//							}
-		//							appointmentActivityName = strings.TrimRight(appointmentActivityName, ",")
-		//							if vApp.Mobile != "" {
-		//								openIdListByAppointment, err := models.GetUserRecordListByMobile(4, vApp.Mobile)
-		//								if err != nil {
-		//									fmt.Println(err)
-		//									return err
-		//								}
-		//								keyword1 := "您预约的调研,有关联的纪要发布/更新了"
-		//								keyword2 := appointmentActivityName
-		//								keyword3 := v.Title
-		//								keyword4 := v.PublishDate.Format(utils.FormatDateTime)
-		//								SendWxMsgWithArticleClassToAdmin(keyword1, keyword2, keyword3, keyword4, openIdListByAppointment, artcleId)
-		//
-		//							}
-		//						}
-		//					}
-		//				}
-		//			}
-		//		}
-		//	}
-		//}
-
 		//【公司调研】系列纪要发布/更新后 end
 
 		//查研观向6.9模板消息推送规则
@@ -1222,6 +1094,31 @@ func HandleArticleListByApi(artcleId int) (err error) {
 	}
 	go models.UpdateCygxArticleCeluePush(artcleId)
 
+	if len(listArticleData) > 0 {
+		for _, v := range listArticleData {
+			count, err := models.GetCygxArticleDataCount(v.ArticleId)
+			if err != nil {
+				fmt.Println("GetCygxArticleDataCount Err:", err.Error())
+				return err
+			}
+			if count == 0 {
+				_, err := models.AddCygxArticleData(v)
+				if err != nil {
+					fmt.Println("AddCygxArticleData Err:", err.Error())
+					return err
+				}
+			} else {
+				updateParams := make(map[string]interface{})
+				updateParams["Cover"] = v.Cover
+				whereParam := map[string]interface{}{"article_id": v.ArticleId}
+				err = models.UpdateByExpr(models.CygxArticleData{}, whereParam, updateParams)
+				if err != nil {
+					fmt.Println("UpdateByExpr CygxArticleData Err:" + err.Error())
+					return err
+				}
+			}
+		}
+	}
 	return err
 }
 

+ 9 - 5
services/micro_roadshow.go

@@ -3,6 +3,7 @@ package services
 import (
 	"encoding/json"
 	"errors"
+	"fmt"
 	"hongze/hongze_cygx/models"
 	"hongze/hongze_cygx/utils"
 )
@@ -162,7 +163,7 @@ func GetHomeNewestList(userId, companyId, startSize, pageSize int, condition str
 }
 
 // GetMicroRoadShowPageList 获取微路演列表添加活动视频 更新与8.1版本
-func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activityVideoId int, keywords string) (respList []*models.MicroRoadShowPageList, total int, err error) {
+func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activityVideoId, filter int, keywords string) (respList []*models.MicroRoadShowPageList, total int, err error) {
 	var e error
 	// 根据每页数据量获取音视频配比
 	startSize := utils.StartIndex(currentIndex, pageSize)
@@ -174,8 +175,10 @@ func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activi
 	//音频的查询
 	var audioCond string
 	var audioPars []interface{}
-	// 如果筛选条件为指定视频ID则不做音频查询
-	if videoId > 0 || activityVideoId > 0 {
+	// 如果筛选条件为指定视频ID或只看视频则不做音频查询
+	fmt.Println("filter:", filter)
+	if videoId > 0 || activityVideoId > 0 || filter == 1{
+		fmt.Println("11111")
 		audioCond = ""
 	} else {
 		// 活动已发布且已结束
@@ -198,7 +201,8 @@ func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activi
 	var videoCondAct string
 	var videoPars []interface{}
 	var videoParsAct []interface{}
-	if audioId > 0 {
+	if audioId > 0 || filter == 2{
+		fmt.Println("22222")
 		videoCond = ""
 	} else {
 		if keywords != "" {
@@ -230,7 +234,7 @@ func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activi
 		//}
 		videoCond += ` AND publish_status = 1`
 	}
-	total, videoList, e = models.GetMicroRoadShowVideoPageListV8(startSize, pageSize, videoCond, videoPars, videoCondAct, videoParsAct, audioCond, audioPars, audioId, videoId, activityVideoId)
+	total, videoList, e = models.GetMicroRoadShowVideoPageListV8(startSize, pageSize, videoCond, videoPars, videoCondAct, videoParsAct, audioCond, audioPars, audioId, videoId, activityVideoId, filter)
 	if e != nil {
 		err = errors.New("获取微路演音视频列表失败, Err: " + e.Error())
 		return