소스 검색

Merge branch 'feature/eta1.1.7' into debug

xyxie 1 년 전
부모
커밋
51d28503c7
4개의 변경된 파일106개의 추가작업 그리고 13개의 파일을 삭제
  1. 13 7
      controllers/english_report/english_classify.go
  2. 14 6
      models/english_report.go
  3. 68 0
      services/english_report.go
  4. 11 0
      services/task.go

+ 13 - 7
controllers/english_report/english_classify.go

@@ -457,13 +457,13 @@ func (this *EnglishReportController) FistListClassify() {
 	}
 
 	startSize = utils.StartIndex(currentIndex, pageSize)
-	tmpList, err := models.GetEnglishFirstSecondClassifyList(startSize, pageSize)
+	rootList, err := models.GetEnglishFirstClassifyList(startSize, pageSize)
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
-	total, err := models.GetEnglishFirstSecondClassifyListCount()
+	total, err := models.GetEnglishFirstClassifyListCount()
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
@@ -483,10 +483,16 @@ func (this *EnglishReportController) FistListClassify() {
 		return
 	}
 	rootMap := make(map[int]struct{}, 0)
-	for _, v := range tmpList {
-		if v.RootId == 0 {
-			rootMap[v.Id] = struct{}{}
-		}
+	var rootIds []int
+	for _, v := range rootList {
+		rootMap[v.Id] = struct{}{}
+		rootIds = append(rootIds, v.Id)
+	}
+	tmpList, err := models.GetEnglishSecondClassifyList(rootIds)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,Err:" + err.Error()
+		return
 	}
 	secondListMap := make(map[int][]*models.EnglishClassifyList)
 	//处理二级分类
@@ -499,7 +505,7 @@ func (this *EnglishReportController) FistListClassify() {
 	//处理一级分类
 	var sortList models.RSClassifyList
 	var sortChildList models.RSChildClassifyList
-	for _, v := range tmpList {
+	for _, v := range rootList {
 		if child, ok := secondListMap[v.Id]; ok {
 			sortChildList = child
 			sort.Sort(sortChildList)

+ 14 - 6
models/english_report.go

@@ -576,22 +576,30 @@ func GetEnglishReportCounts(classifyId, parentId int) (count int, err error) {
 
 func GetEnglishClassifyCountsByName(name string, parentId int) (count int, err error) {
 	o := orm.NewOrmUsingDB("rddp")
-	sql := `SELECT COUNT(1) AS count FROM english_classify WHERE classify_name=? AND parent_id = ? AND classify_type = ? `
+	sql := `SELECT COUNT(1) AS count FROM english_classify WHERE classify_name=? AND parent_id = ? `
 	err = o.Raw(sql, name, parentId).QueryRow(&count)
 	return
 }
 
-// GetEnglishFirstSecondClassifyList 获取一级、二级分类列表
-func GetEnglishFirstSecondClassifyList(startSize, pageSize int) (items []*EnglishClassifyList, err error) {
+// GetEnglishFirstClassifyList 获取一级、二级分类列表
+func GetEnglishFirstClassifyList(startSize, pageSize int) (items []*EnglishClassifyList, err error) {
 	o := orm.NewOrmUsingDB("rddp")
-	sql := `SELECT * FROM english_classify WHERE root_id=0 or (root_id>0 and root_id=parent_id) ORDER BY sort ASC,create_time ASC LIMIT ?,? `
+	sql := `SELECT * FROM english_classify WHERE root_id=0  ORDER BY sort ASC,create_time ASC LIMIT ?,? `
 	_, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
 	return
 }
 
-func GetEnglishFirstSecondClassifyListCount() (count int, err error) {
+// GetEnglishSecondClassifyList 获取一级、二级分类列表
+func GetEnglishSecondClassifyList(rootIds []int) (items []*EnglishClassifyList, err error) {
 	o := orm.NewOrmUsingDB("rddp")
-	sqlCount := `SELECT COUNT(1) AS count FROM english_classify WHERE root_id=0 or (root_id>0 and root_id=parent_id)`
+	sql := `SELECT * FROM english_classify WHERE root_id IN (` + utils.GetOrmInReplace(len(rootIds)) + `) and root_id>0 and root_id=parent_id ORDER BY sort ASC,create_time ASC`
+	_, err = o.Raw(sql, rootIds).QueryRows(&items)
+	return
+}
+
+func GetEnglishFirstClassifyListCount() (count int, err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sqlCount := `SELECT COUNT(1) AS count FROM english_classify WHERE root_id=0`
 	err = o.Raw(sqlCount).QueryRow(&count)
 	return
 }

+ 68 - 0
services/english_report.go

@@ -290,6 +290,74 @@ func UpdateEnglishReportEs(reportId int, publishState int) (err error) {
 	return
 }
 
+// ModifyAllEsEnglishReportVideo 批量修改es里的英文研报信息和线上路演信息
+func ModifyAllEsEnglishReportVideo() (err error) {
+	reportList, err := models.GetEnglishReportByCondition("", []interface{}{})
+	if err != nil {
+		return
+	}
+	for _, reportInfo := range reportList {
+		// 新增报告ES
+		esReport := &models.ElasticEnglishReportDetail{
+			Id:                 strconv.Itoa(reportInfo.Id),
+			ReportId:           reportInfo.Id,
+			Title:              reportInfo.Title,
+			Abstract:           reportInfo.Abstract,
+			BodyContent:        utils.TrimHtml(html.UnescapeString(reportInfo.Content)),
+			PublishTime:        reportInfo.PublishTime.Format(utils.FormatDateTime),
+			CreateTime:         reportInfo.CreateTime,
+			ReportCode:         reportInfo.ReportCode,
+			PublishState:       reportInfo.State,
+			Author:             reportInfo.Author,
+			Frequency:          reportInfo.Frequency,
+			ClassifyIdFirst:    reportInfo.ClassifyIdFirst,
+			ClassifyNameFirst:  reportInfo.ClassifyNameFirst,
+			ClassifyIdSecond:   reportInfo.ClassifyIdSecond,
+			ClassifyNameSecond: reportInfo.ClassifyNameSecond,
+			StageStr:           strconv.Itoa(reportInfo.Stage),
+			Overview:           utils.TrimHtml(html.UnescapeString(reportInfo.Overview)),
+			ContentSub:         utils.TrimHtml(html.UnescapeString(reportInfo.ContentSub)),
+		}
+		docId := fmt.Sprintf("%d", reportInfo.Id)
+		if err = EsAddOrEditEnglishReport(utils.EsEnglishReportIndexName, docId, esReport); err != nil {
+			return
+		}
+	}
+
+	videoList, err := models.GetEnglishVideoByCondition("", []interface{}{})
+	if err != nil {
+		return
+	}
+	for _, videoInfo := range videoList {
+		// 新增报告ES
+		esReport := &models.ElasticEnglishReportDetail{
+			Id:                 "v" + strconv.Itoa(videoInfo.Id),
+			VideoId:            videoInfo.Id,
+			Title:              videoInfo.Title,
+			Abstract:           videoInfo.Abstract,
+			BodyContent:        "",
+			PublishTime:        videoInfo.PublishTime.Format(utils.FormatDateTime),
+			CreateTime:         videoInfo.CreateTime.Format(utils.FormatDateTime),
+			ReportCode:         videoInfo.VideoCode,
+			PublishState:       videoInfo.State,
+			Author:             videoInfo.Author,
+			Frequency:          "",
+			ClassifyIdFirst:    videoInfo.ClassifyIdFirst,
+			ClassifyNameFirst:  videoInfo.ClassifyNameFirst,
+			ClassifyIdSecond:   videoInfo.ClassifyIdSecond,
+			ClassifyNameSecond: videoInfo.ClassifyNameSecond,
+			StageStr:           "",
+			Overview:           utils.TrimHtml(html.UnescapeString(videoInfo.Overview)),
+			ContentSub:         "",
+		}
+		docId := fmt.Sprintf("v%d", videoInfo.Id)
+		if err = EsAddOrEditEnglishReport(utils.EsEnglishReportIndexName, docId, esReport); err != nil {
+			return
+		}
+	}
+	return
+}
+
 // UpdateEnglishVideoEs 更新英文线上路演Es
 func UpdateEnglishVideoEs(videoId int, publishState int) (err error) {
 	if videoId <= 0 {

+ 11 - 0
services/task.go

@@ -465,3 +465,14 @@ func FixEnCompanyPermission() {
 	}
 	fmt.Println("修复完成")
 }
+
+// ModifyEsEnglishReport 批量修改es里的英文研报信息和线上路演信息
+func ModifyEsEnglishReport() {
+	fmt.Println("开始")
+	err := ModifyAllEsEnglishReportVideo()
+	if err != nil {
+		err = fmt.Errorf("重置es中的英文研报信息失败:ModifyAllEnglishReportInEs err: %s", err.Error())
+		return
+	}
+	fmt.Println("结束")
+}