xingzai 1 éve
szülő
commit
7affed5e77

+ 18 - 8
controllers/cygx/askserie_video.go

@@ -7,6 +7,7 @@ import (
 	"hongze/hz_crm_api/models"
 	"hongze/hz_crm_api/models/cygx"
 	cygxService "hongze/hz_crm_api/services/cygx"
+	"hongze/hz_crm_api/services/elastic"
 	"hongze/hz_crm_api/utils"
 	"strconv"
 	"strings"
@@ -82,7 +83,13 @@ func (this *AskserieVideoController) PreserveAndPublish() {
 
 	if askserieVideoId == 0 {
 		//新增
-		err = cygx.AddCygxAskserieVideo(item, industrialManagementIds)
+		newId, err := cygx.AddCygxAskserieVideo(item, industrialManagementIds)
+		if err != nil {
+			br.Msg = "保存失败"
+			br.ErrMsg = "保存失败,Err:" + err.Error()
+			return
+		}
+		askserieVideoId = int(newId)
 	} else {
 		//更新
 		_, err := cygx.GetCygxAskserieVideoDetail(askserieVideoId)
@@ -92,12 +99,15 @@ func (this *AskserieVideoController) PreserveAndPublish() {
 			return
 		}
 		err = cygx.UpdateCygxAskserieVideo(item, industrialManagementIds)
+		if err != nil {
+			br.Msg = "保存失败"
+			br.ErrMsg = "保存失败,Err:" + err.Error()
+			return
+		}
 	}
-	if err != nil {
-		br.Msg = "保存失败"
-		br.ErrMsg = "保存失败,Err:" + err.Error()
-		return
-	}
+
+	go cygxService.UpdateAskserieVideoResourceData(askserieVideoId) //写入首页最新  cygx_resource_data 表
+	go elastic.EsAddAskserieVideo(askserieVideoId)                  // 写入es 综合搜索
 	br.Ret = 200
 	br.Success = true
 	br.IsAddLog = true
@@ -361,8 +371,6 @@ func (this *AskserieVideoController) PublishReport() {
 		status = 1
 	} else {
 		status = 0
-		//go cygxService.UpdateResourceData(productInteriorId, "productinterior", "delete", time.Now().Format(utils.FormatDateTime))
-		//go cygxService.UpdateProductInteriorResourceData(productInteriorId) //写入首页最新  cygx_resource_data 表
 	}
 	err = cygx.EditCygxAskserieVideoStatus(status, askserieVideoId)
 	if err != nil {
@@ -370,6 +378,8 @@ func (this *AskserieVideoController) PublishReport() {
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
+	go cygxService.UpdateAskserieVideoResourceData(askserieVideoId) //写入首页最新  cygx_resource_data 表
+	go elastic.EsAddAskserieVideo(askserieVideoId)                  // 写入es 综合搜索
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "操作成功"

+ 2 - 2
models/cygx/askserie_video.go

@@ -74,7 +74,7 @@ func GetCygxAskserieVideoDetail(askserieVideoId int) (item *CygxAskserieVideoRes
 }
 
 // 添加
-func AddCygxAskserieVideo(item *CygxAskserieVideo, industrialManagementIds string) (err error) {
+func AddCygxAskserieVideo(item *CygxAskserieVideo, industrialManagementIds string) (newId int64, err error) {
 	o := orm.NewOrmUsingDB("hz_cygx")
 	to, err := o.Begin()
 	if err != nil {
@@ -87,7 +87,7 @@ func AddCygxAskserieVideo(item *CygxAskserieVideo, industrialManagementIds strin
 			_ = to.Commit()
 		}
 	}()
-	newId, err := to.Insert(item)
+	newId, err = to.Insert(item)
 	if err != nil {
 		return
 	}

+ 62 - 0
services/cygx/askserie_video.go

@@ -7,6 +7,7 @@ import (
 	"hongze/hz_crm_api/services/alarm_msg"
 	"hongze/hz_crm_api/utils"
 	"strings"
+	"time"
 )
 
 // 获取问答系列产业列表
@@ -67,3 +68,64 @@ func GetCygxAskserieVideoLabelMap(askserieVideoIds []int) (mapResp map[int]strin
 	}
 	return
 }
+
+//func init() {
+//	UpdateAskserieVideoResourceData(75)
+//}
+
+// 更新问答系列  写入首页最新  cygx_resource_data 表
+func UpdateAskserieVideoResourceData(sourceId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go alarm_msg.SendAlarmMsg(fmt.Sprint("更新问答系列ourceId: ", sourceId, err.Error()), 2)
+		}
+	}()
+	var source = utils.CYGX_OBJ_ASKSERIEVIDEO
+	var condition string
+	var pars []interface{}
+	condition = ` AND publish_status = 1  AND  askserie_video_id = ?  `
+	pars = append(pars, sourceId)
+	total, e := cygx.GetCygxAskserieVideoCount(condition, pars)
+
+	if e != nil {
+		err = errors.New("GetCygxAskserieVideoCount, 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.GetCygxResourceDataBySourceAndIdCount(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.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
+}

+ 43 - 1
services/elastic/es_comprehensive.go

@@ -8,6 +8,7 @@ import (
 	"github.com/olivere/elastic/v7"
 	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/services/alarm_msg"
+	cygxService "hongze/hz_crm_api/services/cygx"
 	"hongze/hz_crm_api/utils"
 	"html"
 	"strconv"
@@ -543,7 +544,7 @@ func EsAddYanxuanSpecial(sourceId int) {
 	defer func() {
 		if err != nil {
 			fmt.Println("err:", err)
-			go alarm_msg.SendAlarmMsg(fmt.Sprint("更新研选专栏失败sourceId: ", sourceId), 2)
+			go alarm_msg.SendAlarmMsg(fmt.Sprint("更新研选专栏失败sourceId: ", sourceId, err.Error()), 2)
 		}
 	}()
 	detail, e := cygx.GetYanxuanSpecialItemById(sourceId)
@@ -571,3 +572,44 @@ func EsAddYanxuanSpecial(sourceId int) {
 	}
 	return
 }
+
+func init() {
+	EsAddAskserieVideo(74)
+}
+
+// Es问答系列视频
+func EsAddAskserieVideo(sourceId int) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println("err:", err)
+			go alarm_msg.SendAlarmMsg(fmt.Sprint("Es更新问答系列视频AddAskserieVideo失败sourceId: ", sourceId, err.Error()), 2)
+		}
+	}()
+	detail, e := cygx.GetCygxAskserieVideoDetail(sourceId)
+	if e != nil {
+		err = errors.New("GetArticleInfoOtherByArticleId" + e.Error())
+		return
+	}
+	content := html.UnescapeString(detail.VideoName)
+	doc, e := goquery.NewDocumentFromReader(strings.NewReader(content))
+	if e != nil {
+		err = errors.New("goquery.NewDocumentFromReader" + e.Error())
+		return
+	}
+	bodyText := doc.Text()
+	item := new(ElasticComprehensiveDetail)
+	item.SourceId = detail.AskserieVideoId
+	item.Source = utils.CYGX_OBJ_ASKSERIEVIDEO
+	item.Title = detail.VideoName
+	item.PublishDate = detail.PublishDate
+	item.BodyText = bodyText
+	mapLabel := cygxService.GetCygxAskserieVideoLabelMap([]int{sourceId}) // 标签
+	item.IndustryName = mapLabel[sourceId]
+	if detail.PublishStatus == 1 {
+		EsAddOrEditComprehensiveData(item) //如果发布了就新增
+	} else {
+		EsDeleteComprehensiveData(item) // 没有发布就删除
+	}
+	return
+}

+ 1 - 0
utils/constants.go

@@ -423,6 +423,7 @@ const (
 	CYGX_OBJ_RESEARCHSUMMARY    string = "researchsummary"    // 对象类型:本周研究汇总
 	CYGX_OBJ_MINUTESSUMMARY     string = "minutessummary"     // 对象类型:本周研究汇总
 	CYGX_OBJ_YANXUANSPECIAL     string = "yanxuanspecial"     // 对象类型:研选专栏
+	CYGX_OBJ_ASKSERIEVIDEO      string = "askserievideo"      // 对象类型:问答系列视频
 )
 
 const (