Browse Source

Merge branch 'cygx/cygx_11.1.1' of http://8.136.199.33:3000/hongze/hz_crm_api

xingzai 1 year ago
parent
commit
303135d653

+ 9 - 4
controllers/cygx/activity.go

@@ -804,7 +804,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)
@@ -816,7 +817,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) //活动发布以及取消发布处理研选扣点
 		}
 		//如果二次编辑的时候,取消了易董办会选项,那么就对易董发送取消发布到广场的通知
@@ -1276,7 +1278,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
@@ -1284,7 +1288,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 = "操作成功"

+ 15 - 10
controllers/cygx/cygx_activity_type.go

@@ -16,6 +16,7 @@ type ActivityTypeCoAntroller struct {
 // @Title 活动类型列表
 // @Description活动类型列表接口
 // @Param   IsResearch   query   bool  true       "是否为研选"
+// @Param   IsGetAll   query   bool  true       "是否获取所有"
 // @Success 200 {object} cygx.ActivityTypeListResp
 // @router /activityType/list [get]
 func (this *ActivityTypeCoAntroller) List() {
@@ -32,13 +33,17 @@ func (this *ActivityTypeCoAntroller) List() {
 		return
 	}
 	isResearch, _ := this.GetBool("IsResearch", false)
+	isGetAll, _ := this.GetBool("IsGetAll", false)
 	var condition string
 	resp := new(cygx.ActivityTypeListResp)
-	if isResearch {
-		condition = " source_type IN (0,2) "
-	} else {
-		condition = " source_type IN (0,1) "
+	if !isGetAll {
+		if isResearch {
+			condition = " AND source_type IN (0,2) "
+		} else {
+			condition = " AND source_type IN (0,1) "
+		}
 	}
+
 	list, err := cygx.GetActivityTypeSearchList(condition)
 	if err != nil {
 		br.Msg = "获取失败"
@@ -122,13 +127,13 @@ func (this *ActivityTypeCoAntroller) ListSearch() {
 	resp := new(cygx.ActivityTypeListResp)
 	var condition string
 	if searchType == 1 {
-		condition += ` activity_type_id  IN (1,2)`
+		condition += ` AND  activity_type_id  IN (1,2)`
 	} else if searchType == 2 {
-		condition += ` activity_type_id  IN (5,6)`
+		condition += ` AND activity_type_id  IN (5,6)`
 	} else if searchType == 3 {
-		condition += ` activity_type_id  IN (3,4)`
+		condition += ` AND activity_type_id  IN (3,4)`
 	} else {
-		condition += ` activity_type_id  IN (7)`
+		condition += ` AND activity_type_id  IN (7)`
 	}
 	list, err := cygx.GetActivityTypeSearchList(condition)
 	if err != nil {
@@ -167,9 +172,9 @@ func (this *ActivityTypeCoAntroller) MeetType() {
 	resp := new(cygx.ActivityTypeListResp)
 	var condition string
 	if meetType == 1 {
-		condition += ` activity_type =1 `
+		condition += ` AND activity_type =1 `
 	} else {
-		condition += ` activity_type  = 0 `
+		condition += ` AND activity_type  = 0 `
 	}
 	if isResearch {
 		condition += " AND  source_type IN (0,2) "

+ 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 = "操作成功"

+ 13 - 7
controllers/cygx/morning_meeting_review.go

@@ -3,6 +3,7 @@ package cygx
 import (
 	"encoding/json"
 	"errors"
+	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"hongze/hz_crm_api/controllers"
 	"hongze/hz_crm_api/models"
@@ -240,8 +241,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 +402,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 = "发布成功"
 		}
@@ -552,9 +555,11 @@ func (this *MorningMeetingController) PublishReport() {
 			return
 		}
 		for _, item := range list {
+			fmt.Println(item.Id)
 			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 +605,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 = "操作成功"

+ 6 - 2
controllers/cygx/report_article.go

@@ -750,6 +750,8 @@ func (this *IndustrialSubjectController) UpdateMatchTypeName() {
 		return
 	}
 	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 = "修改成功"
@@ -919,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)
@@ -930,6 +933,7 @@ func (this *ReportArticleController) PreserveAndPublish() {
 		//查研观向8.2.1专项调研报告模板消息推送
 		cygxService.SendWxMsgWithCygxActivitySpecialArticle(item.ArticleId)
 	}
+	go cygxService.AddCygxReportMappingCategoryGroupByArticleId(item.ArticleId) // 手动修改报告归类
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"

+ 1 - 1
controllers/cygx/report_selection.go

@@ -200,7 +200,6 @@ func (this *ReportSelectionController) PreserveAndPublish() {
 	//	}
 	//	existMap[v.ChartPermissionId] = v.ChartPermissionId
 	//}
-	//go services.CreateVideoWhithContent(articleId, req.Title, content, "cygx_report_selection")
 
 	br.Ret = 200
 	br.Success = true
@@ -932,6 +931,7 @@ func (this *ReportSelectionController) VisibleRange() {
 		br.ErrMsg = "操作失败,Err:" + err.Error()
 		return
 	}
+	cygxService.UpdateReportSelectionResourceData(articleId) //首页最新页面数据逻辑处理 V11.1.1
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"

+ 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 - 1
models/cygx/activity_type.go

@@ -37,7 +37,7 @@ func GetActivityTypeDetailById(activityTypeId int) (item *ActivityType, err erro
 // 列表
 func GetActivityTypeSearchList(condition string) (items []*ActivityType, err error) {
 	o := orm.NewOrm()
-	sql := `SELECT * FROM cygx_activity_type WHERE  ` + condition + `  ORDER BY sort DESC`
+	sql := `SELECT * FROM cygx_activity_type WHERE 1= 1  ` + condition + `  ORDER BY sort DESC`
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }

+ 1 - 0
models/cygx/article.go

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

+ 28 - 0
models/cygx/cygx_morning_meeting_review_chapter.go

@@ -53,6 +53,18 @@ func GetCygxMorningMeetingReviewsListById(meetingId int) (items []*CygxMorningMe
 	return
 }
 
+// 列表
+func GetCygxMorningMeetingReviewChapterList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxMorningMeetingReviewChapter, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_morning_meeting_review_chapter WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+	sql += ` LIMIT ?,? `
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	return
+}
+
 type IndustrialSubjectItem struct {
 	IndustrialSubjectId int    `orm:"column(industrial_subject_id);pk" description:"标的id"`
 	SubjectName         string `description:"标的名称"`
@@ -158,3 +170,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
+}

+ 26 - 11
models/cygx/cygx_report_mapping.go

@@ -91,15 +91,30 @@ func GetMatchTypeNameByPermissionId(permissionId int) (item *ReportMappingRep, e
 
 func GetMatchTypeNameByKeyword(keyWord string) (items []*CygxReportMapping, err error) {
 	o := orm.NewOrm()
-	sql := ` SELECT
-	* 
-FROM
-( SELECT sub_category_name FROM cygx_report_mapping UNION 
-SELECT "晨会精华" AS sub_category_name UNION 
-SELECT "路演精华" AS sub_category_name UNION 
-SELECT article_type_name AS sub_category_name FROM cygx_article_type ) AS a
-WHERE
-	a.sub_category_name LIKE '%` + keyWord + `%' `
-	_,err = o.Raw(sql).QueryRows(&items)
+	sql := `SELECT
+			* 
+		FROM
+			(
+			SELECT
+				match_type_name AS sub_category_name 
+			FROM
+				cygx_report_mapping_cygx UNION
+			SELECT
+				"晨会精华" AS sub_category_name UNION
+			SELECT
+				"路演精华" AS sub_category_name UNION
+			SELECT
+				"重点公司" AS sub_category_name UNION
+			SELECT
+				"本周研究汇总" AS sub_category_name UNION
+			SELECT
+				"上周纪要汇总" AS sub_category_name UNION
+			SELECT
+				article_type_name AS sub_category_name 
+			FROM
+			cygx_article_type 
+			) AS a
+		WHERE a.sub_category_name LIKE '%` + keyWord + `%' `
+	_, err = o.Raw(sql).QueryRows(&items)
 	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

+ 1 - 1
models/cygx/industrial_management.go

@@ -874,7 +874,7 @@ func UpdateIndustrialManagementArticleNewPublishData(items map[int]string) (err
 	return
 }
 
-// GetTopOneMonthArtReadNumIndustry 获取近一个月报告阅读数量最多的产业信息 根据行业分组
+// GetTopOneMonthArtReadNumIndustry 获取列表
 func GetTopOneMonthArtReadNumIndustryAll(condition string, pars []interface{}) (items []*IndustrialManagement, err error) {
 	sql := `SELECT * FROM cygx_industrial_management WHERE 1 = 1 `
 	if condition != `` {

+ 11 - 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:"内容"`
@@ -482,6 +483,9 @@ type ArticleDetail struct {
 	CategoryId           int    `description:"分类ID"`
 	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) {
@@ -491,6 +495,13 @@ func GetArticleDetailById(articleId int) (item *ArticleDetail, err error) {
 	return
 }
 
+func GetArticleDetailByArticleId(articleId int) (item *ArticleDetail, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_article WHERE article_id = ? `
+	err = o.Raw(sql, articleId).QueryRow(&item)
+	return
+}
+
 // 修改报告匹配类型
 type UpdateReportMatchTypeNameRep struct {
 	MatchID  int `orm:"column(id);"description:"匹配ID"`

+ 65 - 0
models/cygx/report_mapping_category_group.go

@@ -0,0 +1,65 @@
+package cygx
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CygxReportMappingCategoryGroup struct {
+	Id                int       `orm:"column(id);pk" description:"id"`
+	ChartPermissionId int       `description:"行业ID"`
+	IdCygx            int       `description:"表cygx_report_mapping_cygx 主键ID"`
+	ArticleId         int       `description:"报告Id"`
+	CreateTime        time.Time `description:"创建时间"`
+	ModifyTime        time.Time `description:"更新时间"`
+	PermissionType    int       `description:"1主观,2客观 ,0不限制"`
+	IsByHand          int       `description:"是否手动修改过,1是,0否"`
+}
+
+type CygxReportMappingCategoryGroupResp struct {
+	Id                int       `orm:"column(id);pk" description:"id"`
+	ChartPermissionId int       `description:"行业ID"`
+	IdCygx            int       `description:"表cygx_report_mapping_cygx 主键ID"`
+	ArticleId         int       `description:"报告Id"`
+	CreateTime        time.Time `description:"创建时间"`
+	ModifyTime        time.Time `description:"更新时间"`
+	PermissionType    int       `description:"1主观,2客观 ,0不限制"`
+}
+
+// AddCygxReportMappingCategoryGroupMulti 批量添加
+func AddCygxReportMappingCategoryGroupMulti(items []*CygxReportMappingCategoryGroup, articleId int) (err error) {
+	o, err := orm.NewOrm().Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err == nil {
+			o.Commit()
+		} else {
+			o.Rollback()
+		}
+	}()
+	//删除原有数据
+	sql := ` DELETE FROM cygx_report_mapping_category_group WHERE article_id = ?   `
+	_, err = o.Raw(sql, articleId).Exec()
+	if err != nil {
+		return
+	}
+	//批量插入新的关联数据
+	if len(items) > 0 {
+		//批量添加流水信息
+		_, err = o.InsertMulti(len(items), items)
+	}
+	return
+}
+
+// 列表
+func GetCygxReportMappingCategoryGroupList(condition string, pars []interface{}) (items []*CygxReportMappingCategoryGroupResp, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_report_mapping_category_group as art WHERE 1= 1 `
+	if condition != "" {
+		sql += condition
+	}
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+}

+ 11 - 0
models/cygx/report_mapping_cygx.go

@@ -49,6 +49,17 @@ func GetCygxReportMappingCygxList(condition string, pars []interface{}, startSiz
 	return
 }
 
+// 列表
+func GetCygxReportMappingCygxByCon(condition string, pars []interface{}) (items []*CygxReportMappingCygx, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_report_mapping_cygx as art WHERE 1= 1 `
+	if condition != "" {
+		sql += condition
+	}
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+}
+
 // 获取数量
 func GetCygxReportMappingCygxCount(condition string, pars []interface{}) (count int, err error) {
 	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_report_mapping_cygx as art WHERE 1= 1  `

+ 47 - 3
models/cygx/resource_data.go

@@ -14,16 +14,25 @@ type CygxResourceData struct {
 	CreateTime  time.Time `description:"创建时间"`
 	PublishDate string    `description:"发布时间"`
 	Abstract    string    `description:"摘要"`
+	SearchTag   string    `description:"搜索标签"`
 }
 
-//添加
+// 根据资源类型获取列表
+func GetCygxResourceDataListBysource(source string) (items []*CygxResourceData, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_resource_data as art WHERE 1= 1  AND  source = ? `
+	_, err = o.Raw(sql, source).QueryRows(&items)
+	return
+}
+
+// 添加
 func AddCygxResourceData(item *CygxResourceData) (lastId int64, err error) {
 	o := orm.NewOrm()
 	lastId, err = o.Insert(item)
 	return
 }
 
-//删除数据
+// 删除数据
 func DeleteResourceData(sourceId int, source string) (err error) {
 	o := orm.NewOrm()
 	sql := ` DELETE FROM cygx_resource_data WHERE source_id = ? AND source =?  `
@@ -31,10 +40,45 @@ func DeleteResourceData(sourceId int, source string) (err error) {
 	return
 }
 
-//修改数据
+// 修改数据
 func UpdateResourceData(sourceId int, source, publishDate string) (err error) {
 	o := orm.NewOrm()
 	sql := `UPDATE cygx_resource_data SET publish_date=?  WHERE source_id=?  AND source =? `
 	_, err = o.Raw(sql, publishDate, sourceId, source).Exec()
 	return
 }
+
+// 修改
+func UpdateResourceDataByItem(item *CygxResourceData) (err error) {
+	o := orm.NewOrm()
+	updateParams := make(map[string]interface{})
+	//updateParams["PublishDate"] = item.PublishDate
+	updateParams["SearchTag"] = item.SearchTag
+	ptrStructOrTableName := "cygx_resource_data"
+	whereParam := map[string]interface{}{"source_id": item.SourceId, "source": item.Source}
+	qs := o.QueryTable(ptrStructOrTableName)
+	for expr, exprV := range whereParam {
+		qs = qs.Filter(expr, exprV)
+	}
+	_, err = qs.Update(updateParams)
+	if err != nil {
+		return
+	}
+	return
+}
+
+// 获取数量
+func GetCygxReportSelectionBySourceAndId(sourceId int, source string) (count int, err error) {
+	o := orm.NewOrm()
+	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_resource_data  WHERE  source_id = ? AND source =?  `
+	err = o.Raw(sqlCount, sourceId, source).QueryRow(&count)
+	return
+}
+
+// 通过ID跟资源获取详情
+func GetCygxResourceDataByIdAndSource(sourceId int, source string) (item *CygxResourceData, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_resource_data WHERE  source_id = ? AND source =?  `
+	err = o.Raw(sql, sourceId, source).QueryRow(&item)
+	return
+}

+ 102 - 0
models/cygx/resource_data_industrial_group_management.go

@@ -0,0 +1,102 @@
+package cygx
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+// 首页资源表与产业的关系
+type CygxResourceDataIndustrialGroupManagement struct {
+	Id                     int       `orm:"column(id);pk" description:"主键ID"`
+	ResourceDataId         int       `description:"cygx_resource_data 主键ID"`
+	SourceId               int       `description:"资源ID"`
+	Source                 string    `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"`
+	IndustrialManagementId int       `description:"cygx_industrial_management表的主键ID"`
+	CreateTime             time.Time `description:"创建时间"`
+}
+
+// 首页资源表与产业的关系
+type CygxResourceDataIndustrialGroupSubject struct {
+	Id                  int       `orm:"column(id);pk" description:"主键ID"`
+	ResourceDataId      int       `description:"cygx_resource_data 主键ID"`
+	SourceId            int       `description:"资源ID"`
+	Source              string    `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"`
+	IndustrialSubjectId int       `description:"cygx_industrial_subject表的主键ID"`
+	CreateTime          time.Time `description:"创建时间"`
+}
+
+// 添加
+func AddCygxResourceDataGroup(sourceId int, source string, industrialItems []*CygxResourceDataIndustrialGroupManagement, subjectItems []*CygxResourceDataIndustrialGroupSubject) (err error) {
+	o := orm.NewOrm()
+	to, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
+		}
+	}()
+	//删除关联产业
+	sql := `	DELETE FROM cygx_resource_data_industrial_group_management WHERE source_id = ? AND source =? `
+	_, err = to.Raw(sql, sourceId, source).Exec()
+	if err != nil {
+		return
+	}
+	//删除关联标的
+	sql = `	DELETE FROM cygx_resource_data_industrial_group_subject WHERE source_id = ? AND source =? `
+	_, err = to.Raw(sql, sourceId, source).Exec()
+	if err != nil {
+		return
+	}
+
+	//批量插入关联产业
+	if len(industrialItems) > 0 {
+		_, err = to.InsertMulti(len(industrialItems), industrialItems)
+		if err != nil {
+			return
+		}
+	}
+
+	//批量插入关联标的
+	if len(subjectItems) > 0 {
+		_, err = to.InsertMulti(len(subjectItems), subjectItems)
+		if err != nil {
+			return
+		}
+	}
+
+	return
+}
+
+// 删除
+func DeleteCygxResourceDataGroup(sourceId int, source string) (err error) {
+	o := orm.NewOrm()
+	to, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
+		}
+	}()
+	//删除关联产业
+	sql := `	DELETE FROM cygx_resource_data_industrial_group_management WHERE source_id = ? AND source =? `
+	_, err = to.Raw(sql, sourceId, source).Exec()
+	if err != nil {
+		return
+	}
+	//删除关联标的
+	sql = `	DELETE FROM cygx_resource_data_industrial_group_subject WHERE source_id = ? AND source =? `
+	_, err = to.Raw(sql, sourceId, source).Exec()
+	if err != nil {
+		return
+	}
+
+	return
+}

+ 3 - 0
models/db.go

@@ -438,6 +438,9 @@ func initCygx() {
 		new(cygx.CygxActivityPointsCompany),
 		new(cygx.CygxTag),
 		new(cygx.AliyunOcrLog),
+		new(cygx.CygxReportMappingCategoryGroup),
+		new(cygx.CygxResourceDataIndustrialGroupManagement),
+		new(cygx.CygxResourceDataIndustrialGroupSubject),
 	)
 }
 

+ 70 - 0
services/cygx/report_mapping_category_group.go

@@ -0,0 +1,70 @@
+package cygx
+
+import (
+	"errors"
+	"fmt"
+	"hongze/hz_crm_api/models/cygx"
+	"hongze/hz_crm_api/services/alarm_msg"
+	"hongze/hz_crm_api/utils"
+	"time"
+)
+
+// AddCygxReportMappingCategoryGroupByArticleId  根据文章ID建立分类分组,主客观权限分组
+func AddCygxReportMappingCategoryGroupByArticleId(articleId int) {
+	time.Sleep(5 * time.Second)
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go alarm_msg.SendAlarmMsg("根据文章ID建立分类分组,主客观权限分组,失败"+err.Error()+fmt.Sprint("articleId", articleId), 2)
+		}
+	}()
+	detail, e := cygx.GetArticleDetailByArticleId(articleId)
+	if e != nil {
+		err = errors.New("GetArticleDetailById, Err: " + e.Error())
+		return
+	}
+	categoryId := detail.CategoryId
+
+	var condition string
+	var pars []interface{}
+	condition += ` AND category_id_celue = ? `
+	pars = append(pars, categoryId)
+	list, e := cygx.GetCygxReportMappingGroupList(condition, pars, 0, 999)
+	if e != nil {
+		err = errors.New("GetCygxReportMappingGroupList, Err: " + e.Error())
+		return
+	}
+	pars = make([]interface{}, 0)
+	var idCygxs []int
+	for _, v := range list {
+		idCygxs = append(idCygxs, v.IdCygx)
+	}
+	condition = ` AND id  IN (` + utils.GetOrmInReplace(len(idCygxs)) + `)`
+	pars = append(pars, idCygxs)
+	cygxlist, e := cygx.GetCygxReportMappingCygxByCon(condition, pars)
+	if e != nil {
+		err = errors.New("GetCygxReportMappingCygxByCon, Err: " + e.Error())
+		return
+	}
+	var items []*cygx.CygxReportMappingCategoryGroup
+	for _, v := range cygxlist {
+		item := new(cygx.CygxReportMappingCategoryGroup)
+		item.IdCygx = v.Id
+		item.ChartPermissionId = v.ChartPermissionId
+		//如果类型是报告就是主观,类型是纪要就是客观
+		if detail.TypeName == "报告" {
+			item.PermissionType = 1
+		}
+		if detail.TypeName == "纪要" {
+			item.PermissionType = 2
+		}
+		item.ArticleId = articleId
+		item.IsByHand = 1
+		item.CreateTime = time.Now()
+		item.ModifyTime = time.Now()
+		items = append(items, item)
+	}
+	e = cygx.AddCygxReportMappingCategoryGroupMulti(items, articleId)
+	return
+}

+ 904 - 0
services/cygx/resource_data.go

@@ -0,0 +1,904 @@
+package cygx
+
+import (
+	"errors"
+	"fmt"
+	"hongze/hz_crm_api/models/cygx"
+	"hongze/hz_crm_api/services/alarm_msg"
+	"hongze/hz_crm_api/utils"
+	"strconv"
+	"time"
+)
+
+//首页最新页面数据逻辑处理
+
+//activity
+//activityspecial
+//activityvideo
+//activityvoice
+//article
+//meetingreviewchapt
+//minutessummary
+//newchart
+//productinterior
+//reportselection
+//researchsummary
+//roadshow
+
+//func init() {
+//	UpdateMeetingreviewchaptResourceData(141)
+//}
+
+// 更新活动
+func UpdateActivityResourceData(sourceId int) {
+	var err error
+	//time.Sleep(3*time.Second) // 有时候同时添加多个活动,延迟三秒
+	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_ACTIVITY
+	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
+		}
+		detail, e := cygx.GetAddActivityInfoById(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)
+		item.SourceId = sourceId
+		item.Source = source
+		//分析师电话会(C类)
+		item.SearchTag = detail.ActivityTypeName
+		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, 1)
+		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.GetSubjectActivityGroupManagementList(sourceId, 1)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			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("更新活动 失败,UpdateActivitySpecialResourceData 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
+		}
+		mapMatchTypeName := GetCygxReportMappingCygxListMap() //报告匹配类型
+		var resourceDataId int
+		publishDate := time.Now().Format(utils.FormatDateTime)
+		item := new(cygx.CygxResourceData)
+		item.SourceId = sourceId
+		item.Source = source
+		item.SearchTag = mapMatchTypeName[detail.MatchTypeId]
+		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
+		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 UpdateMeetingreviewchaptResourceData(sourceId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println("err:", err)
+			go alarm_msg.SendAlarmMsg("更新产品内测 失败,UpdateMeetingreviewchaptResourceData 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
+		}
+		detail, e := cygx.GetCygxMorningMeetingReviewChapterDetail(sourceId)
+		if e != nil {
+			err = errors.New("GetCygxMorningMeetingReviewChapterDetail" + e.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
+		}
+		var condition string
+		var pars []interface{}
+		condition = " AND industrial_management_id = ? "
+		pars = append(pars, detail.IndustryId)
+		//建立首页资源表,与产业的关系
+		industrialList, e := cygx.GetTopOneMonthArtReadNumIndustryAll(condition, pars)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("GetTopOneMonthArtReadNumIndustryAll, 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)
+		}
+		//return
+		var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
+		//晨会精华如果关联的标的就做查询
+		if detail.IndustrialSubjectIds != "" {
+			condition = ""
+			pars = make([]interface{}, 0)
+			condition = " AND industrial_subject_id  IN (" + detail.IndustrialSubjectIds + ") "
+			//建立首页资源表,与标的 的关系
+			subjectList, e := cygx.GetCygxIndustrialSubjectListCondition(condition, pars)
+			if e != nil && e.Error() != utils.ErrNoRow() {
+				err = errors.New("GetCygxIndustrialSubjectListCondition, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
+				return
+			}
+			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 UpdateReportSelectionResourceData(sourceId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println("err:", err)
+			go alarm_msg.SendAlarmMsg("更新报告精选(重点公司) 失败,UpdateReportSelectionResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
+		}
+	}()
+	var source = utils.CYGX_OBJ_REPORTSELECTION
+	var condition string
+	var pars []interface{}
+	condition = ` AND visible_range = 1  AND article_id = ? `
+	pars = append(pars, sourceId)
+	total, e := cygx.GetCygxReportSelection(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
+		}
+	} else {
+		//判断是否存在,如果不存在就新增,存在就更新
+		totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
+		if e != nil {
+			err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
+			return
+		}
+		detail, e := cygx.GetCygxReportSelectionInfoById(sourceId)
+		if e != nil {
+			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 {
+			_, 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 init1123232() {
+	//var condition string
+	//var pars []interface{}
+	//
+	//{
+	//	//活动
+	//	list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITY)
+	//	if err != nil {
+	//		fmt.Println(err)
+	//	}
+	//	for _, v := range list {
+	//		fmt.Println(v.Source)
+	//		//UpdateActivityResourceData(v.SourceId)
+	//	}
+	//}
+
+	//{
+	//	//专项调研活动
+	//	list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITYSPECIAL)
+	//	if err != nil {
+	//		fmt.Println(err)
+	//	}
+	//	for _, v := range list {
+	//		fmt.Println(v.Source)
+	//		UpdateActivitySpecialResourceData(v.SourceId)
+	//	}
+	//}
+
+	//{
+	//	//文章
+	//	list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ARTICLE)
+	//	if err != nil {
+	//		fmt.Println(err)
+	//	}
+	//	for _, v := range list {
+	//		fmt.Println(v.Source)
+	//		UpdateArticleResourceData(v.SourceId)
+	//	}
+	//}
+
+	//{
+	//	//产品内测
+	//	list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_PRODUCTINTERIOR)
+	//	if err != nil {
+	//		fmt.Println(err)
+	//	}
+	//	for _, v := range list {
+	//		fmt.Println(v.Source)
+	//		//UpdateProductInteriorResourceData(v.SourceId)
+	//	}
+	//}
+	//
+
+	//{
+	//	//晨会精华
+	//	list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_MEETINGREVIEWCHAPT)
+	//	if err != nil {
+	//		fmt.Println(err)
+	//	}
+	//	for _, v := range list {
+	//		fmt.Println(v.Source)
+	//		UpdateMeetingreviewchaptResourceData(v.SourceId)
+	//	}
+	//}
+
+	//
+	//{
+	//	//重点公司
+	//	list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_REPORTSELECTION)
+	//	if err != nil {
+	//		fmt.Println(err)
+	//	}
+	//	for _, v := range list {
+	//		fmt.Println(v.Source)
+	//		//UpdateReportSelectionResourceData(v.SourceId)
+	//	}
+	//}
+	//
+	//{
+	//	//更新本周研究汇总
+	//	list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_RESEARCHSUMMARY)
+	//	if err != nil {
+	//		fmt.Println(err)
+	//	}
+	//	for _, v := range list {
+	//		fmt.Println(v.Source)
+	//		//UpdateResearchSummaryResourceData(v.SourceId)
+	//	}
+	//}
+	//
+	{
+		//更新本周研究汇总
+		list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_MINUTESSUMMARY)
+		if err != nil {
+			fmt.Println(err)
+		}
+		for _, v := range list {
+			fmt.Println(v.Source)
+			//UpdateMinutesSummaryResourceData(v.SourceId)
+		}
+	}
+}

+ 4 - 0
utils/constants.go

@@ -412,6 +412,10 @@ const (
 	CYGX_OBJ_ACTIVITYSPECIAL    string = "activityspecial"    // 对象类型:专项调研活动
 	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 (