浏览代码

no message

xingzai 1 年之前
父节点
当前提交
9e053d92c8

+ 9 - 4
controllers/cygx/activity.go

@@ -794,7 +794,8 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 				go func() {
 					//同时添加多个活动的时候,避免协程开的过多
 					cygxService.DoActivityOnenIdWxTemplateMsg(v)
-					cygxService.UpdateResourceData(v, "activity", "add", time.Now().Format(utils.FormatDateTime))
+					//cygxService.UpdateResourceData(v, "activity", "add", time.Now().Format(utils.FormatDateTime))
+					cygxService.UpdateActivityResourceData(v) //写入首页最新  cygx_resource_data 表
 					cygxService.YiDongSaveRoadshowDetail(v)
 					cygxService.YanXuanActivityPointsBillActivityPublishAndCancel(v, AdminUser.AdminId, 1) //活动发布以及取消发布处理研选扣
 					elastic.AddComprehensiveActivity(v)
@@ -806,7 +807,8 @@ func (this *ActivityCoAntroller) PreserveAndPublish() {
 	} else {
 		if req.DoType == 1 {
 			go cygxService.DoActivityOnenIdWxTemplateMsg(req.ActivityId)
-			go cygxService.UpdateResourceData(req.ActivityId, "activity", "add", time.Now().Format(utils.FormatDateTime))
+			//go cygxService.UpdateResourceData(req.ActivityId, "activity", "add", time.Now().Format(utils.FormatDateTime))
+			cygxService.UpdateActivityResourceData(req.ActivityId)                                             //写入首页最新  cygx_resource_data 表
 			go cygxService.YanXuanActivityPointsBillActivityPublishAndCancel(activityId, AdminUser.AdminId, 1) //活动发布以及取消发布处理研选扣点
 		}
 		//如果二次编辑的时候,取消了易董办会选项,那么就对易董发送取消发布到广场的通知
@@ -1243,7 +1245,9 @@ func (this *ActivityCoAntroller) PublishAndCancel() {
 		item.PublishStatus = 1
 		item.IsCancel = 0
 		go cygxService.DoActivityOnenIdWxTemplateMsg(activityId)
-		go cygxService.UpdateResourceData(activityId, "activity", "add", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(activityId, "activity", "add", time.Now().Format(utils.FormatDateTime))
+
+		cygxService.UpdateActivityResourceData(activityId) //写入首页最新  cygx_resource_data 表
 	} else {
 		item.PublishStatus = 0
 		item.IsCancel = 1
@@ -1251,7 +1255,8 @@ func (this *ActivityCoAntroller) PublishAndCancel() {
 	if activityInfo.PublishStatus == 1 {
 		go services.SendWxMsgWithCygxActivity(req.ActivityId)
 		//同步活动到最新数据表
-		go cygxService.UpdateResourceData(req.ActivityId, "activity", "delete", "")
+		//go cygxService.UpdateResourceData(req.ActivityId, "activity", "delete", "")
+		cygxService.UpdateActivityResourceData(activityId) //写入首页最新  cygx_resource_data 表
 	}
 	item.ActivityId = req.ActivityId
 	if item.PublishStatus == 1 {

+ 14 - 11
controllers/cygx/activity_special.go

@@ -275,7 +275,8 @@ func (this *ActivitySpecialCoAntroller) PreserveAndPublish() {
 	//模板消息推送
 	if req.DoType == 1 {
 		go services.SendWxMsgWithCygxActivitySpecial(activityId)
-		go cygxService.UpdateResourceData(activityId, "activityspecial", "add", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(activityId, "activityspecial", "add", time.Now().Format(utils.FormatDateTime))
+		go cygxService.UpdateActivitySpecialResourceData(activityId) //写入首页最新  cygx_resource_data 表
 	}
 	go elastic.AddComprehensiveActivitySpecial(activityId) // Es添加活动
 	br.Ret = 200
@@ -535,12 +536,13 @@ func (this *ActivitySpecialCoAntroller) PublishAndCancel() {
 	//模板消息推送
 	if item.PublishStatus == 1 {
 		go services.SendWxMsgWithCygxActivitySpecial(activityId)
-		go cygxService.UpdateResourceData(activityId, "activityspecial", "add", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(activityId, "activityspecial", "add", time.Now().Format(utils.FormatDateTime))
 	} else {
 		go cygxService.DetermineTripCancel(activityId)
-		go cygxService.UpdateResourceData(activityId, "activityspecial", "delete", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(activityId, "activityspecial", "delete", time.Now().Format(utils.FormatDateTime))
 	}
-	go elastic.AddComprehensiveActivitySpecial(activityId) // Es添加活动
+	go cygxService.UpdateActivitySpecialResourceData(activityId) //写入首页最新  cygx_resource_data 表
+	go elastic.AddComprehensiveActivitySpecial(activityId)       // Es添加活动
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"
@@ -1174,13 +1176,14 @@ func (this *ActivitySpecialCoAntroller) Offline() {
 		return
 	}
 	//模板消息推送
-	if item.PublishStatus == 1 {
-		go cygxService.UpdateResourceData(activityId, "activityspecial", "add", time.Now().Format(utils.FormatDateTime))
-		//go services.SendWxMsgWithCygxActivitySpecial(activityId)
-	} else {
-		go cygxService.UpdateResourceData(activityId, "activityspecial", "delete", time.Now().Format(utils.FormatDateTime))
-	}
-	go elastic.AddComprehensiveActivitySpecial(activityId) // Es添加活动
+	//if item.PublishStatus == 1 {
+	//	go cygxService.UpdateResourceData(activityId, "activityspecial", "add", time.Now().Format(utils.FormatDateTime))
+	//	//go services.SendWxMsgWithCygxActivitySpecial(activityId)
+	//} else {
+	//	go cygxService.UpdateResourceData(activityId, "activityspecial", "delete", time.Now().Format(utils.FormatDateTime))
+	//}
+	go cygxService.UpdateActivitySpecialResourceData(activityId) //写入首页最新  cygx_resource_data 表
+	go elastic.AddComprehensiveActivitySpecial(activityId)       // Es添加活动
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"

+ 3 - 2
controllers/cygx/minutes_summary.go

@@ -811,12 +811,12 @@ func (this *MinutesSummaryController) VisibleRange() {
 		if detail.IsSendWxMsg == 0 {
 			cygxService.DoThisWeekLastWeekWxTemplateMsg(detail.Title, detail.PublishDate, detail.Abstract, req.ArticleId, 3)
 		}
-		go cygxService.UpdateResourceData(articleId, "minutessummary", "add", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(articleId, "minutessummary", "add", time.Now().Format(utils.FormatDateTime))
 	} else {
 		item.AdminId = detail.AdminId
 		item.AdminName = detail.AdminName
 		item.VisibleRange = 0
-		go cygxService.UpdateResourceData(articleId, "minutessummary", "delete", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(articleId, "minutessummary", "delete", time.Now().Format(utils.FormatDateTime))
 	}
 	err = cygx.MinutesSummaryVisibleRange(item)
 	if err != nil {
@@ -824,6 +824,7 @@ func (this *MinutesSummaryController) VisibleRange() {
 		br.ErrMsg = "操作失败,Err:" + err.Error()
 		return
 	}
+	go cygxService.UpdateMinutesSummaryResourceData(articleId) //写入首页最新  cygx_resource_data 表
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"

+ 11 - 7
controllers/cygx/morning_meeting_review.go

@@ -240,8 +240,9 @@ func (this *MorningMeetingController) PreserveAndPublish() {
 				return
 			}
 			for _, itemchapter := range listchapter {
-				go cygxService.UpdateResourceData(itemchapter.Id, "meetingreviewchapt", "add", time.Now().Format(utils.FormatDateTime))
-				go elastic.AddComprehensiveMeetingreviewchapt(itemchapter.Id) //Es添加晨会精华
+				//go cygxService.UpdateResourceData(itemchapter.Id, "meetingreviewchapt", "add", time.Now().Format(utils.FormatDateTime))
+				go cygxService.UpdateMeetingreviewchaptResourceData(itemchapter.Id) //写入首页最新  cygx_resource_data 表
+				go elastic.AddComprehensiveMeetingreviewchapt(itemchapter.Id)       //Es添加晨会精华
 			}
 			br.Msg = "发布成功"
 			br.Data = meetingId
@@ -400,7 +401,8 @@ func (this *MorningMeetingController) PreserveAndPublish() {
 				go services.SendWxMsgWithCygxMorningMeeting(reqList.MeetingId, item.IndustryId, item.IndustryName)
 			}
 			for _, itemchapter := range listchapter {
-				go cygxService.UpdateResourceData(itemchapter.Id, "meetingreviewchapt", "add", time.Now().Format(utils.FormatDateTime))
+				//go cygxService.UpdateResourceData(itemchapter.Id, "meetingreviewchapt", "add", time.Now().Format(utils.FormatDateTime))
+				go cygxService.UpdateMeetingreviewchaptResourceData(itemchapter.Id) //写入首页最新  cygx_resource_data 表
 			}
 			br.Msg = "发布成功"
 		}
@@ -553,8 +555,9 @@ func (this *MorningMeetingController) PublishReport() {
 		}
 		for _, item := range list {
 			go services.SendWxMsgWithCygxMorningMeeting(vint, item.IndustryId, item.IndustryName)
-			go cygxService.UpdateResourceData(item.Id, "meetingreviewchapt", "add", time.Now().Format(utils.FormatDateTime))
-			go elastic.AddComprehensiveMeetingreviewchapt(item.Id) //Es添加晨会精华
+			//go cygxService.UpdateResourceData(item.Id, "meetingreviewchapt", "add", time.Now().Format(utils.FormatDateTime))
+			go cygxService.UpdateMeetingreviewchaptResourceData(item.Id) //写入首页最新  cygx_resource_data 表
+			go elastic.AddComprehensiveMeetingreviewchapt(item.Id)       //Es添加晨会精华
 		}
 	}
 
@@ -600,8 +603,9 @@ func (this *MorningMeetingController) PublishCancleReport() {
 		return
 	}
 	for _, item := range list {
-		go cygxService.UpdateResourceData(item.Id, "meetingreviewchapt", "delete", time.Now().Format(utils.FormatDateTime))
-		go elastic.DeleteComprehensiveMeetingreviewchapt(item.Id) //Es删除晨会精华
+		//go cygxService.UpdateResourceData(item.Id, "meetingreviewchapt", "delete", time.Now().Format(utils.FormatDateTime))
+		go cygxService.UpdateMeetingreviewchaptResourceData(item.Id) //写入首页最新  cygx_resource_data 表
+		go elastic.DeleteComprehensiveMeetingreviewchapt(item.Id)    //Es删除晨会精华
 	}
 	var condition string
 	var pars []interface{}

+ 5 - 3
controllers/cygx/product_interior.go

@@ -374,7 +374,8 @@ func (this *ProductInteriorController) PublishReport() {
 	} else {
 		status = 0
 		isCancel = 1
-		go cygxService.UpdateResourceData(productInteriorId, "productinterior", "delete", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(productInteriorId, "productinterior", "delete", time.Now().Format(utils.FormatDateTime))
+		go cygxService.UpdateProductInteriorResourceData(productInteriorId) //写入首页最新  cygx_resource_data 表
 	}
 	err = cygx.EditProductInteriorStatus(status, isCancel, productInteriorId)
 	if err != nil {
@@ -422,11 +423,11 @@ func (this *ProductInteriorController) VisibleRange() {
 	var visibleRange int
 	if detail.VisibleRange == 0 {
 		visibleRange = 1
-		go cygxService.UpdateResourceData(productInteriorId, "productinterior", "add", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(productInteriorId, "productinterior", "add", time.Now().Format(utils.FormatDateTime))
 		go cygxService.SendWxMsgWithCygxProductInterior(productInteriorId)
 	} else {
 		visibleRange = 0
-		go cygxService.UpdateResourceData(productInteriorId, "productinterior", "delete", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(productInteriorId, "productinterior", "delete", time.Now().Format(utils.FormatDateTime))
 	}
 
 	err = cygx.ProductInteriorVisibleRange(visibleRange, productInteriorId)
@@ -435,6 +436,7 @@ func (this *ProductInteriorController) VisibleRange() {
 		br.ErrMsg = "操作失败,Err:" + err.Error()
 		return
 	}
+	go cygxService.UpdateProductInteriorResourceData(productInteriorId) //写入首页最新  cygx_resource_data 表
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"

+ 4 - 2
controllers/cygx/report_article.go

@@ -751,6 +751,7 @@ func (this *IndustrialSubjectController) UpdateMatchTypeName() {
 	}
 	go cygxService.DoArticleOnenIdWxTemplateMsg(detailArt.ArticleId, 2)
 	go cygxService.AddCygxReportMappingCategoryGroupByArticleId(detailArt.ArticleId) // 手动修改报告归类
+	go cygxService.UpdateArticleResourceData(detailArt.ArticleId)                    //写入首页最新  cygx_resource_data 表
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "修改成功"
@@ -920,9 +921,10 @@ func (this *ReportArticleController) PreserveAndPublish() {
 	//cygx.UpdateSubjecIds(subjectIds+"—"+strconv.Itoa(industrialDetail.IndustrialManagementId)+"{|2|}", industrialDetail.IndustrialManagementId, articleId)
 	if item.PublishStatus == 1 {
 		services.EsAddOrEditData(item)
-		go cygxService.UpdateResourceData(item.ArticleId, "article", "add", time.Now().Format(utils.FormatDateTime))
-
+		//go cygxService.UpdateResourceData(item.ArticleId, "article", "add", time.Now().Format(utils.FormatDateTime))
+		go cygxService.UpdateArticleResourceData(item.ArticleId) //写入首页最新  cygx_resource_data 表
 	}
+
 	// 查研观向7.4-更新产业布局时间
 	if len(industryIds) > 0 {
 		go cygxService.UpdateIndustryLayoutTime(industryIds, false)

+ 3 - 2
controllers/cygx/research_summary.go

@@ -1214,12 +1214,12 @@ func (this *ResearchSummaryController) VisibleRange() {
 		if detail.IsSendWxMsg == 0 {
 			cygxService.DoThisWeekLastWeekWxTemplateMsg(detail.Title, detail.PublishDate, detail.Abstract, req.ArticleId, 2)
 		}
-		go cygxService.UpdateResourceData(articleId, "researchsummary", "add", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(articleId, "researchsummary", "add", time.Now().Format(utils.FormatDateTime))
 	} else {
 		item.AdminId = detail.AdminId
 		item.AdminName = detail.AdminName
 		item.VisibleRange = 0
-		go cygxService.UpdateResourceData(articleId, "researchsummary", "delete", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(articleId, "researchsummary", "delete", time.Now().Format(utils.FormatDateTime))
 	}
 	err = cygx.ResearchSummaryVisibleRange(item)
 	if err != nil {
@@ -1227,6 +1227,7 @@ func (this *ResearchSummaryController) VisibleRange() {
 		br.ErrMsg = "操作失败,Err:" + err.Error()
 		return
 	}
+	go cygxService.UpdateResearchSummaryResourceData(articleId) //写入首页最新  cygx_resource_data 表
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"

+ 24 - 20
controllers/cygx/summary_manage.go

@@ -297,25 +297,26 @@ func (this *SummaryManage) PreserveAndPublish() {
 		services.EsAddOrEditData(item)
 	}
 
-	//同步数据到最新表
-	if req.ArticleId == 0 {
-		if item.PublishStatus == 1 {
-			go cygxService.UpdateResourceData(item.ArticleId, "article", "add", time.Now().Format(utils.FormatDateTime))
-		}
-	} else {
-		if item.PublishStatus == 1 {
-			go cygxService.UpdateResourceData(item.ArticleId, "article", "update", time.Now().Format(utils.FormatDateTime))
-		}
-		if req.DoType == 1 {
-			go cygxService.UpdateResourceData(item.ArticleId, "article", "add", time.Now().Format(utils.FormatDateTime))
-		}
-	}
+	////同步数据到最新表
+	//if req.ArticleId == 0 {
+	//	if item.PublishStatus == 1 {
+	//		go cygxService.UpdateResourceData(item.ArticleId, "article", "add", time.Now().Format(utils.FormatDateTime))
+	//	}
+	//} else {
+	//	if item.PublishStatus == 1 {
+	//		go cygxService.UpdateResourceData(item.ArticleId, "article", "update", time.Now().Format(utils.FormatDateTime))
+	//	}
+	//	if req.DoType == 1 {
+	//		go cygxService.UpdateResourceData(item.ArticleId, "article", "add", time.Now().Format(utils.FormatDateTime))
+	//	}
+	//}
 
 	if len(industryIds) > 0 {
 		go cygxService.UpdateIndustryLayoutTime(industryIds, false)       // 查研观向7.4-更新产业布局时间
 		go elastic.AddComprehensiveIndustrialSource("Yx", item.ArticleId) // 查研观向10.6 更新搜索引擎的产业资源包
 	}
-	go elastic.AddComprehensiveArticle(item.ArticleId) // ES添加文章:报告、纪要
+	go elastic.AddComprehensiveArticle(item.ArticleId)       // ES添加文章:报告、纪要
+	go cygxService.UpdateArticleResourceData(item.ArticleId) //写入首页最新  cygx_resource_data 表
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"
@@ -375,13 +376,13 @@ func (this *SummaryManage) PublishAndCancel() {
 		item.AdminId = AdminUser.AdminId
 		item.AdminName = AdminUser.RealName
 		services.EsAddOrEditData(item)
-		go cygxService.UpdateResourceData(item.ArticleId, "article", "add", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(item.ArticleId, "article", "add", time.Now().Format(utils.FormatDateTime))
 	} else {
 		item.AdminId = articleInfo.AdminId
 		item.AdminName = articleInfo.AdminName
 		item.PublishStatus = 0
 		services.EsDeleteData(indexName, strconv.Itoa(articleInfo.ArticleId))
-		go cygxService.UpdateResourceData(item.ArticleId, "article", "delete", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(item.ArticleId, "article", "delete", time.Now().Format(utils.FormatDateTime))
 	}
 	err = cygx.PublishAndCancel(item)
 	if err != nil {
@@ -403,7 +404,8 @@ func (this *SummaryManage) PublishAndCancel() {
 			go elastic.AddComprehensiveIndustrialSource("Yx", item.ArticleId) // 查研观向10.6 更新搜索引擎的产业资源包
 		}
 	}
-	go elastic.AddComprehensiveArticle(articleId) // ES添加文章:报告、纪要
+	go elastic.AddComprehensiveArticle(articleId)            // ES添加文章:报告、纪要
+	go cygxService.UpdateArticleResourceData(item.ArticleId) //写入首页最新  cygx_resource_data 表
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"
@@ -533,7 +535,8 @@ func (this *SummaryManage) Delete() {
 		br.ErrMsg = "删除信息失败,Err:" + err.Error()
 		return
 	}
-	go cygxService.UpdateResourceData(articleInfo.ArticleId, "article", "delete", time.Now().Format(utils.FormatDateTime))
+	//go cygxService.UpdateResourceData(articleInfo.ArticleId, "article", "delete", time.Now().Format(utils.FormatDateTime))
+	go cygxService.UpdateArticleResourceData(articleInfo.ArticleId) //写入首页最新  cygx_resource_data 表
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "已删除"
@@ -1604,13 +1607,13 @@ func (this *SummaryManage) VisibleRange() {
 		item.AdminId = AdminUser.AdminId
 		item.AdminName = AdminUser.RealName
 		services.EsAddOrEditData(item)
-		go cygxService.UpdateResourceData(item.ArticleId, "article", "add", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(item.ArticleId, "article", "add", time.Now().Format(utils.FormatDateTime))
 	} else {
 		item.AdminId = articleInfo.AdminId
 		item.AdminName = articleInfo.AdminName
 		item.PublishStatus = 0
 		services.EsDeleteData(indexName, strconv.Itoa(articleInfo.ArticleId))
-		go cygxService.UpdateResourceData(item.ArticleId, "article", "delete", time.Now().Format(utils.FormatDateTime))
+		//go cygxService.UpdateResourceData(item.ArticleId, "article", "delete", time.Now().Format(utils.FormatDateTime))
 	}
 	err = cygx.ArticleVisibleRange(item)
 	if err != nil {
@@ -1631,6 +1634,7 @@ func (this *SummaryManage) VisibleRange() {
 			}
 		}
 	}
+	go cygxService.UpdateArticleResourceData(item.ArticleId) //写入首页最新  cygx_resource_data 表
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"

+ 1 - 0
models/cygx/article.go

@@ -0,0 +1 @@
+package cygx

+ 16 - 0
models/cygx/cygx_morning_meeting_review_chapter.go

@@ -158,3 +158,19 @@ func GetCygxMorningMeetingReviewChapterDetail(meetingGatherId int) (item *CygxMo
 	err = o.Raw(sql, meetingGatherId).QueryRow(&item)
 	return
 }
+
+// 获取数量
+func GetCygxMorningMeetingReviewChapterCount(cid int) (count int, err error) {
+	o := orm.NewOrm()
+	sqlCount := ` SELECT
+				COUNT( 1 ) AS count 
+			FROM
+				cygx_morning_meeting_review_chapter AS c
+				INNER JOIN cygx_morning_meeting_reviews AS a ON a.id = c.meeting_id 
+			WHERE
+				1 = 1 
+				AND c.id = ?
+				AND a.STATUS = 1`
+	err = o.Raw(sqlCount, cid).QueryRow(&count)
+	return
+}

+ 5 - 5
models/cygx/industrial_article_group_subject.go

@@ -13,7 +13,7 @@ type CygxIndustrialArticleGroupSubject struct {
 	CreateTime          time.Time `description:"创建时间"`
 }
 
-//新增
+// 新增
 func AddCygxIndustrialArticleGroupSubject(item *CygxIndustrialArticleGroupSubject) (newId int64, err error) {
 	o := orm.NewOrm()
 	_, err = o.Insert(item)
@@ -43,8 +43,8 @@ func GetArticleIdsBySubjectId(industrialSubjectId string) (articleId string, err
 	return
 }
 
-//列表
-func GetSubjectArticleGroupManagementList(activityId int) (items []*SubjectActivityGroupManagementRep, err error) {
+// 列表
+func GetSubjectArticleGroupManagementList(articleId int) (items []*SubjectActivityGroupManagementRep, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
 			s.subject_name,
@@ -54,7 +54,7 @@ func GetSubjectArticleGroupManagementList(activityId int) (items []*SubjectActiv
 			INNER JOIN cygx_industrial_subject AS s ON s.industrial_subject_id = ag.industrial_subject_id 
 			WHERE
 			ag.article_id = ?`
-	_, err = o.Raw(sql, activityId).QueryRows(&items)
+	_, err = o.Raw(sql, articleId).QueryRows(&items)
 	return
 }
 
@@ -65,7 +65,7 @@ type SubjectlArticleGroupResp struct {
 	SubjectName            string `description:"标的名称"`
 }
 
-//列表
+// 列表
 func GetSubjectArticleGroupListByarticleIds(articleIds string) (items []*SubjectlArticleGroupResp, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT

+ 3 - 0
models/cygx/report_article.go

@@ -468,6 +468,7 @@ type ArticleDetail struct {
 	Abstract             string `description:"摘要"`
 	CategoryName         string `description:"一级分类"`
 	SubCategoryName      string `description:"二级分类"`
+	MatchTypeName        string `description:"匹配类型"`
 	IsCollect            bool   `description:"是否收藏:true,已收藏,false:未收藏"`
 	IsInterviewApply     bool   `description:"是否申请访谈:true,已申请,false:未申请"`
 	BodyText             string `description:"内容"`
@@ -483,6 +484,8 @@ type ArticleDetail struct {
 	FileLink             string `description:"下载预览链接"`
 	ReportType           int    `description:"报告类型,2产业报告,1行业报告"`
 	TypeName             string `description:"策略平台类型字段名称"`
+	ArticleTypeId        int    `description:"文章类型ID"`
+	ArticleTypeName      string `description:"文章类型名称"`
 }
 
 func GetArticleDetailById(articleId int) (item *ArticleDetail, err error) {

+ 561 - 26
services/cygx/resource_data.go

@@ -27,11 +27,12 @@ import (
 //roadshow
 
 //func init() {
-//	UpdateActivityResourceData(2117)
+//	UpdateArticleResourceData(1000004)
 //}
 
 // 更新活动
-func UpdateActivityResourceData(sourceId int) (err error) {
+func UpdateActivityResourceData(sourceId int) {
+	var err error
 	//time.Sleep(3*time.Second) // 有时候同时添加多个活动,延迟三秒
 	defer func() {
 		if err != nil {
@@ -46,32 +47,32 @@ func UpdateActivityResourceData(sourceId int) (err error) {
 	pars = append(pars, sourceId)
 	total, e := cygx.GetActivityCount(condition, pars)
 	if e != nil {
-		err = errors.New("GetCygxReportSelection, Err: " + err.Error())
+		err = errors.New("GetCygxReportSelection, Err: " + e.Error())
 		return
 	}
 	//如果取消发布了就做删除处理
 	if total == 0 {
 		e = cygx.DeleteResourceData(sourceId, source)
 		if e != nil {
-			err = errors.New("DeleteResourceData, Err: " + err.Error())
+			err = errors.New("DeleteResourceData, Err: " + e.Error())
 			return
 		}
 		//删除 cygx_resource_data 表关联的产业ID,标的ID
 		e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
 		if e != nil {
-			err = errors.New("DeleteCygxResourceDataGroup, Err: " + err.Error())
+			err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
 			return
 		}
 	} else {
 		//判断是否存在,如果不存在就新增,存在就更新
 		totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
 		if e != nil {
-			err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + err.Error())
+			err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
 			return
 		}
 		detail, e := cygx.GetAddActivityInfoById(sourceId)
 		if e != nil {
-			err = errors.New("GetCygxReportSelectionInfoById, Err: " + err.Error())
+			err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
 			return
 		}
 		var resourceDataId int
@@ -86,19 +87,19 @@ func UpdateActivityResourceData(sourceId int) (err error) {
 		if totalData == 0 {
 			newId, e := cygx.AddCygxResourceData(item)
 			if e != nil {
-				err = errors.New("AddCygxResourceData, Err: " + err.Error())
+				err = errors.New("AddCygxResourceData, Err: " + e.Error())
 				return
 			}
 			resourceDataId = int(newId)
 		} else {
 			e = cygx.UpdateResourceDataByItem(item)
 			if e != nil {
-				err = errors.New("UpdateResourceData, Err: " + err.Error())
+				err = errors.New("UpdateResourceData, Err: " + e.Error())
 				return
 			}
 			sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
 			if e != nil {
-				err = errors.New("UpdateResourceData, Err: " + err.Error())
+				err = errors.New("UpdateResourceData, Err: " + e.Error())
 				return
 			}
 			resourceDataId = sourceDetail.Id
@@ -107,7 +108,7 @@ func UpdateActivityResourceData(sourceId int) (err error) {
 		//建立首页资源表,与产业的关系
 		industrialList, e := cygx.GetIndustrialActivityGroupManagementList(sourceId, 1)
 		if e != nil && e.Error() != utils.ErrNoRow() {
-			err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + err.Error() + "activityId:" + strconv.Itoa(sourceId))
+			err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(sourceId))
 			return
 		}
 		var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
@@ -124,7 +125,358 @@ func UpdateActivityResourceData(sourceId int) (err error) {
 		//建立首页资源表,与标的 的关系
 		subjectList, e := cygx.GetSubjectActivityGroupManagementList(sourceId, 1)
 		if e != nil && e.Error() != utils.ErrNoRow() {
-			err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + err.Error() + "activityId:" + strconv.Itoa(sourceId))
+			err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(sourceId))
+			return
+		}
+		var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
+		for _, v := range subjectList {
+			var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
+			subjectItem.SourceId = sourceId
+			subjectItem.Source = source
+			subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
+			subjectItem.ResourceDataId = resourceDataId
+			subjectItem.CreateTime = time.Now()
+			subjectItems = append(subjectItems, subjectItem)
+		}
+
+		//插入关联信息
+		e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
+		if e != nil {
+			err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
+			return
+		}
+	}
+	return
+}
+
+// 更新专项调研活动
+func UpdateActivitySpecialResourceData(sourceId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println("err:", err)
+			go alarm_msg.SendAlarmMsg("更新活动 失败,UpdateActivityResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
+		}
+	}()
+	var source = utils.CYGX_OBJ_ACTIVITYSPECIAL
+	var condition string
+	var pars []interface{}
+	condition = ` AND publish_status = 1  AND  activity_id = ?  `
+	pars = append(pars, sourceId)
+	total, e := cygx.GetActivityCount(condition, pars)
+	if e != nil {
+		err = errors.New("GetCygxReportSelection, Err: " + e.Error())
+		return
+	}
+	//如果取消发布了就做删除处理
+	if total == 0 {
+		e = cygx.DeleteResourceData(sourceId, source)
+		if e != nil {
+			err = errors.New("DeleteResourceData, Err: " + e.Error())
+			return
+		}
+		//删除 cygx_resource_data 表关联的产业ID,标的ID
+		e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
+		if e != nil {
+			err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
+			return
+		}
+	} else {
+		//判断是否存在,如果不存在就新增,存在就更新
+		totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
+		if e != nil {
+			err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
+			return
+		}
+		var resourceDataId int
+		publishDate := time.Now().Format(utils.FormatDateTime)
+		item := new(cygx.CygxResourceData)
+		item.SourceId = sourceId
+		item.Source = source
+		//分析师电话会(C类)
+		item.SearchTag = ""
+		item.PublishDate = publishDate
+		item.CreateTime = time.Now()
+		if totalData == 0 {
+			newId, e := cygx.AddCygxResourceData(item)
+			if e != nil {
+				err = errors.New("AddCygxResourceData, Err: " + e.Error())
+				return
+			}
+			resourceDataId = int(newId)
+		} else {
+			e = cygx.UpdateResourceDataByItem(item)
+			if e != nil {
+				err = errors.New("UpdateResourceData, Err: " + e.Error())
+				return
+			}
+			sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
+			if e != nil {
+				err = errors.New("UpdateResourceData, Err: " + e.Error())
+				return
+			}
+			resourceDataId = sourceDetail.Id
+		}
+
+		//建立首页资源表,与产业的关系
+		industrialList, e := cygx.GetIndustrialActivityGroupManagementList(sourceId, 2)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(sourceId))
+			return
+		}
+		var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
+		for _, v := range industrialList {
+			var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
+			industrialItem.SourceId = sourceId
+			industrialItem.Source = source
+			industrialItem.IndustrialManagementId = v.IndustrialManagementId
+			industrialItem.ResourceDataId = resourceDataId
+			industrialItem.CreateTime = time.Now()
+			industrialItems = append(industrialItems, industrialItem)
+		}
+
+		//建立首页资源表,与标的 的关系
+		subjectList, e := cygx.GetSubjectArticleGroupManagementList(sourceId)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("GetSubjectArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
+			return
+		}
+		var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
+		for _, v := range subjectList {
+			var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
+			subjectItem.SourceId = sourceId
+			subjectItem.Source = source
+			subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
+			subjectItem.ResourceDataId = resourceDataId
+			subjectItem.CreateTime = time.Now()
+			subjectItems = append(subjectItems, subjectItem)
+		}
+		//插入关联信息
+		e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
+		if e != nil {
+			err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
+			return
+		}
+	}
+	return
+}
+
+// 更新文章
+func UpdateArticleResourceData(sourceId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println("err:", err)
+			go alarm_msg.SendAlarmMsg("更新文章 失败,UpdateArticleResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
+		}
+	}()
+	var source = utils.CYGX_OBJ_ARTICLE
+	var condition string
+	var pars []interface{}
+	condition = ` AND publish_status = 1  AND  article_id = ?  `
+	pars = append(pars, sourceId)
+	total, e := cygx.GetCygxArticleCount(condition, pars)
+	if e != nil {
+		err = errors.New("GetCygxReportSelection, Err: " + err.Error())
+		return
+	}
+	//如果取消发布了就做删除处理
+	if total == 0 {
+		e = cygx.DeleteResourceData(sourceId, source)
+		if e != nil {
+			err = errors.New("DeleteResourceData, Err: " + e.Error())
+			return
+		}
+		//删除 cygx_resource_data 表关联的产业ID,标的ID
+		e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
+		if e != nil {
+			err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
+			return
+		}
+	} else {
+		//判断是否存在,如果不存在就新增,存在就更新
+		totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
+		if e != nil {
+			err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
+			return
+		}
+		detail, e := cygx.GetArticleDetailByArticleId(sourceId)
+		if e != nil {
+			err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
+			return
+		}
+		var resourceDataId int
+		publishDate := time.Now().Format(utils.FormatDateTime)
+		item := new(cygx.CygxResourceData)
+		if detail.ArticleTypeId > 0 {
+			item.SearchTag = detail.ArticleTypeName // 研选类型名称
+		} else {
+			item.SearchTag = detail.MatchTypeName
+		}
+		item.SourceId = sourceId
+		item.Source = source
+		item.PublishDate = publishDate
+		item.CreateTime = time.Now()
+		if totalData == 0 {
+			newId, e := cygx.AddCygxResourceData(item)
+			if e != nil {
+				err = errors.New("AddCygxResourceData, Err: " + e.Error())
+				return
+			}
+			resourceDataId = int(newId)
+		} else {
+			e = cygx.UpdateResourceDataByItem(item)
+			if e != nil {
+				err = errors.New("UpdateResourceData, Err: " + e.Error())
+				return
+			}
+			sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
+			if e != nil {
+				err = errors.New("UpdateResourceData, Err: " + e.Error())
+				return
+			}
+			resourceDataId = sourceDetail.Id
+		}
+
+		//建立首页资源表,与产业的关系
+		industrialList, e := cygx.GetIndustrialArticleGroupManagementList(sourceId)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("GetIndustrialArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
+			return
+		}
+		var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
+		for _, v := range industrialList {
+			var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
+			industrialItem.SourceId = sourceId
+			industrialItem.Source = source
+			industrialItem.IndustrialManagementId = v.IndustrialManagementId
+			industrialItem.ResourceDataId = resourceDataId
+			industrialItem.CreateTime = time.Now()
+			industrialItems = append(industrialItems, industrialItem)
+		}
+
+		//建立首页资源表,与标的 的关系
+		subjectList, e := cygx.GetSubjectArticleGroupManagementList(sourceId)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("GetSubjectArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
+			return
+		}
+		var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
+		for _, v := range subjectList {
+			var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
+			subjectItem.SourceId = sourceId
+			subjectItem.Source = source
+			subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
+			subjectItem.ResourceDataId = resourceDataId
+			subjectItem.CreateTime = time.Now()
+			subjectItems = append(subjectItems, subjectItem)
+		}
+
+		//插入关联信息
+		e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
+		if e != nil {
+			err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
+			return
+		}
+	}
+	return
+}
+
+// 更新产品内测
+func UpdateProductInteriorResourceData(sourceId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println("err:", err)
+			go alarm_msg.SendAlarmMsg("更新产品内测 失败,UpdateProductInteriorResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
+		}
+	}()
+	var source = utils.CYGX_OBJ_PRODUCTINTERIOR
+	var condition string
+	var pars []interface{}
+	condition = ` AND visible_range = 1  AND  product_interior_id = ?  `
+	pars = append(pars, sourceId)
+	total, e := cygx.GetCygxProductInteriorCount(condition, pars)
+	if e != nil {
+		err = errors.New("GetCygxReportSelection, Err: " + e.Error())
+		return
+	}
+
+	//如果取消发布了就做删除处理
+	if total == 0 {
+		e = cygx.DeleteResourceData(sourceId, source)
+		if e != nil {
+			err = errors.New("DeleteResourceData, Err: " + e.Error())
+			return
+		}
+		//删除 cygx_resource_data 表关联的产业ID,标的ID
+		e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
+		if e != nil {
+			err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
+			return
+		}
+	} else {
+		//判断是否存在,如果不存在就新增,存在就更新
+		totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
+		if e != nil {
+			err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
+			return
+		}
+		//detail, e := cygx.GetCygxProductInteriorDetail(sourceId)
+		//if e != nil {
+		//	err = errors.New("GetCygxReportSelectionInfoById, Err: " + err.Error())
+		//	return
+		//}
+		var resourceDataId int
+		publishDate := time.Now().Format(utils.FormatDateTime)
+		item := new(cygx.CygxResourceData)
+		item.SourceId = sourceId
+		item.Source = source
+		item.SearchTag = "产品内测"
+		item.PublishDate = publishDate
+		item.CreateTime = time.Now()
+		if totalData == 0 {
+			newId, e := cygx.AddCygxResourceData(item)
+			if e != nil {
+				err = errors.New("AddCygxResourceData, Err: " + e.Error())
+				return
+			}
+			resourceDataId = int(newId)
+		} else {
+			e = cygx.UpdateResourceDataByItem(item)
+			if e != nil {
+				err = errors.New("UpdateResourceData, Err: " + e.Error())
+				return
+			}
+			sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
+			if e != nil {
+				err = errors.New("UpdateResourceData, Err: " + e.Error())
+				return
+			}
+			resourceDataId = sourceDetail.Id
+		}
+
+		//建立首页资源表,与产业的关系
+		industrialList, e := cygx.GetProductInteriorIndustrialGroupManagementList(sourceId)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("GetIndustrialArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
+			return
+		}
+		var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
+		for _, v := range industrialList {
+			var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
+			industrialItem.SourceId = sourceId
+			industrialItem.Source = source
+			industrialItem.IndustrialManagementId = v.IndustrialManagementId
+			industrialItem.ResourceDataId = resourceDataId
+			industrialItem.CreateTime = time.Now()
+			industrialItems = append(industrialItems, industrialItem)
+		}
+
+		//建立首页资源表,与标的 的关系
+		subjectList, e := cygx.GetProductInteriorIndustrialGroupSubjecttList(sourceId)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("GetSubjectArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
 			return
 		}
 		var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
@@ -141,15 +493,76 @@ func UpdateActivityResourceData(sourceId int) (err error) {
 		//插入关联信息
 		e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
 		if e != nil {
-			err = errors.New("AddCygxResourceDataGroup, Err: " + err.Error())
+			err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
 			return
 		}
 	}
 	return
 }
 
+// 更新晨会精华
+func UpdateMeetingreviewchaptResourceData(sourceId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println("err:", err)
+			go alarm_msg.SendAlarmMsg("更新产品内测 失败,UpdateProductInteriorResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
+		}
+	}()
+	var source = utils.CYGX_OBJ_MEETINGREVIEWCHAPT
+	total, e := cygx.GetCygxMorningMeetingReviewChapterCount(sourceId)
+	if e != nil {
+		err = errors.New("GetCygxReportSelection, Err: " + e.Error())
+		return
+	}
+
+	//如果取消发布了就做删除处理
+	if total == 0 {
+		e = cygx.DeleteResourceData(sourceId, source)
+		if e != nil {
+			err = errors.New("DeleteResourceData, Err: " + e.Error())
+			return
+		}
+		//删除 cygx_resource_data 表关联的产业ID,标的ID
+		e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
+		if e != nil {
+			err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
+			return
+		}
+	} else {
+		//判断是否存在,如果不存在就新增,存在就更新
+		totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
+		if e != nil {
+			err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
+			return
+		}
+		publishDate := time.Now().Format(utils.FormatDateTime)
+		item := new(cygx.CygxResourceData)
+		item.SourceId = sourceId
+		item.Source = source
+		item.SearchTag = "晨会精华"
+		item.PublishDate = publishDate
+		item.CreateTime = time.Now()
+		if totalData == 0 {
+			_, e = cygx.AddCygxResourceData(item)
+			if e != nil {
+				err = errors.New("AddCygxResourceData, Err: " + e.Error())
+				return
+			}
+		} else {
+			e = cygx.UpdateResourceDataByItem(item)
+			if e != nil {
+				err = errors.New("UpdateResourceData, Err: " + e.Error())
+				return
+			}
+		}
+	}
+	return
+}
+
 // 更新报告精选(重点公司)
-func UpdateReportSelectionResourceData(sourceId int) (err error) {
+func UpdateReportSelectionResourceData(sourceId int) {
+	var err error
 	defer func() {
 		if err != nil {
 			fmt.Println("err:", err)
@@ -163,39 +576,161 @@ func UpdateReportSelectionResourceData(sourceId int) (err error) {
 	pars = append(pars, sourceId)
 	total, e := cygx.GetCygxReportSelection(condition, pars)
 	if e != nil {
-		err = errors.New("GetCygxReportSelection, Err: " + err.Error())
+		err = errors.New("GetCygxReportSelection, Err: " + e.Error())
 		return
 	}
 	//如果取消发布了就做删除处理
 	if total == 0 {
 		e = cygx.DeleteResourceData(sourceId, source)
 		if e != nil {
-			err = errors.New("DeleteResourceData, Err: " + err.Error())
+			err = errors.New("DeleteResourceData, Err: " + e.Error())
 			return
 		}
 	} else {
 		//判断是否存在,如果不存在就新增,存在就更新
 		totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
 		if e != nil {
-			err = errors.New("GetCygxReportSelection, Err: " + err.Error())
+			err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
 			return
 		}
 		detail, e := cygx.GetCygxReportSelectionInfoById(sourceId)
 		if e != nil {
-			err = errors.New("GetCygxReportSelectionInfoById, Err: " + err.Error())
+			err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
 			return
 		}
 		publishDate := detail.PublishDate
+		item := new(cygx.CygxResourceData)
+		item.SourceId = sourceId
+		item.Source = source
+		item.SearchTag = "重点公司"
+		item.PublishDate = publishDate
+		item.CreateTime = time.Now()
+		if totalData == 0 {
+			_, e := cygx.AddCygxResourceData(item)
+			if e != nil {
+				err = errors.New("AddCygxResourceData, Err: " + e.Error())
+				return
+			}
+		} else {
+			e = cygx.UpdateResourceDataByItem(item)
+			if e != nil {
+				err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
+				return
+			}
+		}
+	}
+	return
+}
+
+// 更新本周研究汇总
+func UpdateResearchSummaryResourceData(sourceId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println("err:", err)
+			go alarm_msg.SendAlarmMsg("更新本周研究汇总 失败,UpdateResearchSummaryResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
+		}
+	}()
+	var source = utils.CYGX_OBJ_RESEARCHSUMMARY
+	var condition string
+	var pars []interface{}
+	condition = ` AND visible_range = 1  AND article_id = ? `
+	pars = append(pars, sourceId)
+	total, e := cygx.GetCygxResearchSummary(condition, pars)
+	if e != nil {
+		err = errors.New("GetCygxResearchSummary, Err: " + e.Error())
+		return
+	}
+	//如果取消发布了就做删除处理
+	if total == 0 {
+		e = cygx.DeleteResourceData(sourceId, source)
+		if e != nil {
+			err = errors.New("DeleteResourceData, Err: " + e.Error())
+			return
+		}
+	} else {
+		//判断是否存在,如果不存在就新增,存在就更新
+		totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
+		if e != nil {
+			err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
+			return
+		}
+		publishDate := time.Now().Format(utils.FormatDateTime)
+		item := new(cygx.CygxResourceData)
+		item.SourceId = sourceId
+		item.Source = source
+		item.SearchTag = "本周研究汇总"
+		item.PublishDate = publishDate
+		item.CreateTime = time.Now()
+		if totalData == 0 {
+			_, e := cygx.AddCygxResourceData(item)
+			if e != nil {
+				err = errors.New("AddCygxResourceData, Err: " + e.Error())
+				return
+			}
+		} else {
+			e = cygx.UpdateResourceDataByItem(item)
+			if e != nil {
+				err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
+				return
+			}
+		}
+	}
+	return
+}
+
+// 更新上周纪要汇总
+func UpdateMinutesSummaryResourceData(sourceId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println("err:", err)
+			go alarm_msg.SendAlarmMsg("更新上周纪要汇总 失败,UpdateMinutesSummaryResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
+		}
+	}()
+	var source = utils.CYGX_OBJ_MINUTESSUMMARY
+	var condition string
+	var pars []interface{}
+	condition = ` AND visible_range = 1  AND article_id = ? `
+	pars = append(pars, sourceId)
+	total, e := cygx.GetCygxMinutesSummary(condition, pars)
+	if e != nil {
+		err = errors.New("GetCygxResearchSummary, Err: " + e.Error())
+		return
+	}
+	//如果取消发布了就做删除处理
+	if total == 0 {
+		e = cygx.DeleteResourceData(sourceId, source)
+		if e != nil {
+			err = errors.New("DeleteResourceData, Err: " + e.Error())
+			return
+		}
+	} else {
+		//判断是否存在,如果不存在就新增,存在就更新
+		totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
+		if e != nil {
+			err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
+			return
+		}
+		publishDate := time.Now().Format(utils.FormatDateTime)
+		item := new(cygx.CygxResourceData)
+		item.SourceId = sourceId
+		item.Source = source
+		item.SearchTag = "上周纪要汇总"
+		item.PublishDate = publishDate
+		item.CreateTime = time.Now()
 		if totalData == 0 {
-			item := new(cygx.CygxResourceData)
-			item.SourceId = sourceId
-			item.Source = source
-			item.SearchTag = "重点公司"
-			item.PublishDate = publishDate
-			item.CreateTime = time.Now()
-			_, err = cygx.AddCygxResourceData(item)
+			_, e := cygx.AddCygxResourceData(item)
+			if e != nil {
+				err = errors.New("AddCygxResourceData, Err: " + e.Error())
+				return
+			}
 		} else {
-			err = cygx.UpdateResourceData(sourceId, source, publishDate)
+			e = cygx.UpdateResourceDataByItem(item)
+			if e != nil {
+				err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
+				return
+			}
 		}
 	}
 	return

+ 3 - 0
utils/constants.go

@@ -412,6 +412,9 @@ const (
 	CYGX_OBJ_MEETINGREVIEWCHAPT string = "meetingreviewchapt" // 对象类型:晨会精华
 	CYGX_OBJ_ROADSHOW           string = "roadshow"           // 对象类型:路演
 	CYGX_OBJ_REPORTSELECTION    string = "reportselection"    // 对象类型:报告精选(重点公司)
+	CYGX_OBJ_PRODUCTINTERIOR    string = "productinterior"    // 对象类型:产品内测
+	CYGX_OBJ_RESEARCHSUMMARY    string = "researchsummary"    // 对象类型:本周研究汇总
+	CYGX_OBJ_MINUTESSUMMARY     string = "minutessummary"     // 对象类型:本周研究汇总
 )
 
 const (