Browse Source

增加一期研报同步

kobe6258 7 months ago
parent
commit
ebb22ce164

+ 4 - 0
domian/media/media_service.go

@@ -187,3 +187,7 @@ func matchRangeByCondition(key string, from int, to int, max int64, sorts []stri
 	req := new(es.ESQueryRequest)
 	return req.CreateESQueryRequest(htConfig.GetMediaIndex(), ESColumn, key, from, to, sorts, es.RangeByCondition).Range(0, max, ESRangeColumn).ByCondition(column, value)
 }
+
+func GetImageSrc(id int) (src string, err error) {
+	return mediaDao.GetImageSrc(id)
+}

+ 11 - 8
domian/report/report_service.go

@@ -14,6 +14,7 @@ import (
 	"eta/eta_mini_ht_api/models/eta"
 	etaDao "eta/eta_mini_ht_api/models/eta"
 	"eta/eta_mini_ht_api/models/ht"
+	mediaDao "eta/eta_mini_ht_api/models/media"
 	reportDao "eta/eta_mini_ht_api/models/report"
 	"github.com/google/uuid"
 	"math/rand"
@@ -269,30 +270,32 @@ func InitETAReportList(list []eta.ETAReport) (err error) {
 		authorNames := strings.Split(etaRp.Author, ",")
 		authorNamesWithOutEmpty := stringUtils.RemoveEmptyStrings(authorNames)
 		for _, authorName := range authorNamesWithOutEmpty {
+			var coverSrc int
 			var permissions []etaDao.ChartPermission
 			permissions, err = etaDao.GetSecondPermissionsByClassifyID(etaRp.ClassifyID)
-			permissionsId := permissions[0].ChartPermissionID
-			if err != nil {
+			if err != nil || len(permissions) == 0 {
+				logger.Error("获取研报二级品种信息失败:%v", err)
 				coverSrc = 0
 			} else {
+				permissionsId := permissions[0].ChartPermissionID
 				var ids []int
-				ids, err = models.GetImageIdByPermissionId(permissionsId)
+				ids, err = mediaDao.GetIdsByPermissionId(permissionsId)
 				if err != nil {
-					br.Msg = "上传视频失败"
-					br.ErrMsg = "获取封面图片失败"
-					return
+					logger.Error("获取图片资源失败:%v", err)
 				}
 				if ids == nil || len(ids) == 0 {
 					coverSrc = 0
 				} else {
-					rand.Seed(time.Now().UnixNano())
+					src := rand.NewSource(time.Now().UnixNano())
+					r := rand.New(src)
 					// 从切片中随机选择一个元素
-					randomIndex := rand.Intn(len(ids))
+					randomIndex := r.Intn(len(ids))
 					coverSrc = ids[randomIndex]
 				}
 			}
 			destRp := convertEtaReport(etaRp)
 			destRp.Author = authorName
+			destRp.CoverSrc = coverSrc
 			reports = append(reports, destRp)
 		}
 	}

+ 16 - 17
main.go

@@ -7,7 +7,6 @@ import (
 	"eta/eta_mini_ht_api/common/exception"
 	"eta/eta_mini_ht_api/domian/report"
 	"eta/eta_mini_ht_api/models/eta"
-	"eta/eta_mini_ht_api/models/ht"
 	_ "eta/eta_mini_ht_api/routers"
 	_ "eta/eta_mini_ht_api/task"
 	"github.com/beego/beego/v2/server/web"
@@ -56,22 +55,22 @@ func initReport() {
 			}
 		}
 	}()
-	go func() {
-		defer wg.Done()
-		id, err := report.GetHTLatestReportId()
-		var htReportList []ht.HTReport
-		htReportList, err = ht.GetHTReports(id)
-		if err != nil {
-			logger.Error("获取ETA研报列表失败:%v", err)
-		}
-		if len(htReportList) > 0 {
-			err = report.InitHTReportList(htReportList)
-			if err != nil {
-				logger.Error("同步ETA研报列表失败:%v", err)
-			}
-		}
-		logger.Info(contants.TaskFormat, "同步ETA研报库结束")
-	}()
+	//go func() {
+	//	defer wg.Done()
+	//	id, err := report.GetHTLatestReportId()
+	//	var htReportList []ht.HTReport
+	//	htReportList, err = ht.GetHTReports(id)
+	//	if err != nil {
+	//		logger.Error("获取ETA研报列表失败:%v", err)
+	//	}
+	//	if len(htReportList) > 0 {
+	//		err = report.InitHTReportList(htReportList)
+	//		if err != nil {
+	//			logger.Error("同步ETA研报列表失败:%v", err)
+	//		}
+	//	}
+	//	logger.Info(contants.TaskFormat, "同步ETA研报库结束")
+	//}()
 	wg.Wait()
 	logger.Info("初始化研报库完成")
 }

+ 1 - 1
models/eta/eta_permission.go

@@ -47,7 +47,7 @@ func GetFirstPermissionsByClassifyID(classifyID int) (chartPermissionList []Char
 }
 
 func GetSecondPermissionsByClassifyID(classifyID int) (chartPermissionList []ChartPermission, err error) {
-	sql := "select chart_permission_id, permission_name from chart_permission WHERE chart_permission_id in( select DISTINCT cpskwp.chart_permission_id from chart_permission_search_key_word_mapping cpskwp  where cpskwp.classify_id=? order by cpskwp.parent_id)"
+	sql := "select chart_permission_id, permission_name from chart_permission WHERE chart_permission_id in( select DISTINCT cpskwp.chart_permission_id from chart_permission_search_key_word_mapping cpskwp  where cpskwp.classify_id=? order by cpskwp.chart_permission_id)"
 	err = doSql(sql, &chartPermissionList, classifyID)
 	return
 }

+ 2 - 2
models/eta/eta_report.go

@@ -59,8 +59,8 @@ type ReportPermission struct {
 func GetETAReports(id int) (reports []ETAReport, err error) {
 	err = models.ETA().Table("report").Select(colunms+strings.Join(classifyIds, ",")).Where("state =? or state=?", published, passed).Where("id > ?", id).Order("id asc").Limit(limit).Find(&reports).Error
 	if reports != nil {
-		for _, report := range reports {
-			setClassifyIdValue(&report)
+		for i := 0; i < len(reports); i++ {
+			setClassifyIdValue(&reports[i])
 		}
 	}
 	return

+ 13 - 0
models/media/images_sources.go

@@ -1,6 +1,7 @@
 package media
 
 import (
+	"eta/eta_mini_ht_api/models"
 	"time"
 )
 
@@ -17,3 +18,15 @@ type ImageSource struct {
 func (i *ImageSource) TableName() string {
 	return "image_sources"
 }
+
+func GetIdsByPermissionId(permissionId int) (ids []int, err error) {
+	db := models.Main()
+	err = db.Model(&ImageSource{}).Select("id").Where("permission_id = ?", permissionId).Scan(&ids).Error
+	return
+}
+
+func GetImageSrc(id int) (src string, err error) {
+	db := models.Main()
+	err = db.Model(&ImageSource{}).Select("src_url").Where("id = ?", id).Scan(&src).Error
+	return
+}

+ 13 - 2
service/report/report_service.go

@@ -6,6 +6,7 @@ import (
 	"eta/eta_mini_ht_api/common/exception"
 	"eta/eta_mini_ht_api/common/utils/date"
 	"eta/eta_mini_ht_api/common/utils/page"
+	mediaService "eta/eta_mini_ht_api/domian/media"
 	reportService "eta/eta_mini_ht_api/domian/report"
 	userService "eta/eta_mini_ht_api/domian/user"
 	"sync"
@@ -294,6 +295,11 @@ func assemblePermissionNode(list []reportService.PermissionDTO, node *Permission
 	}
 }
 func convertToHotRankedReport(dto reportService.ReportDTO) (report HotRankedReport) {
+	src, err := mediaService.GetImageSrc(dto.CoverSrc)
+	if err != nil {
+		logger.Error("获取封面图片失败:%v", err)
+		src = ""
+	}
 	report = HotRankedReport{
 		Id:                dto.ReportID,
 		OrgId:             dto.OrgId,
@@ -303,13 +309,18 @@ func convertToHotRankedReport(dto reportService.ReportDTO) (report HotRankedRepo
 		SecondPermissions: dto.SecondPermission,
 		Permissions:       dto.Permissions,
 		PermissionNames:   dto.PermissionNames,
-		CoverSrc:          dto.CoverSrc,
+		CoverSrc:          src,
 	}
 	return
 }
 func convertToPublishRankedReportList(dtoList []reportService.ReportDTO) (reports []PublishRankedReport) {
 	reports = []PublishRankedReport{}
 	for _, dto := range dtoList {
+		src, err := mediaService.GetImageSrc(dto.CoverSrc)
+		if err != nil {
+			logger.Error("获取封面图片失败:%v", err)
+			src = ""
+		}
 		report := PublishRankedReport{
 			Id:              dto.ReportID,
 			OrgId:           dto.OrgId,
@@ -317,7 +328,7 @@ func convertToPublishRankedReportList(dtoList []reportService.ReportDTO) (report
 			Abstract:        dto.Abstract,
 			Title:           dto.Title,
 			PermissionNames: dto.PermissionNames,
-			CoverSrc:        dto.CoverSrc,
+			CoverSrc:        src,
 		}
 		reports = append(reports, report)
 	}

+ 1 - 1
task/eta/author/eta_author_task.go

@@ -39,7 +39,7 @@ func (au *AuthorTask) Execute(taskDetail *base.TaskDetail) error {
 			return err
 		}
 	}
-	logger.Info(contants.TaskFormat, "同步ETA研报库结束")
+	logger.Info(contants.TaskFormat, "同步ETA作者结束")
 	return nil
 }
 

+ 1 - 2
task/message/notice_task.go

@@ -2,7 +2,6 @@ package message
 
 import (
 	logger "eta/eta_mini_ht_api/common/component/log"
-	"eta/eta_mini_ht_api/common/contants"
 	userService "eta/eta_mini_ht_api/domian/user"
 	"eta/eta_mini_ht_api/task/base"
 	"sync"
@@ -15,7 +14,7 @@ var (
 
 // Execute Task ETA取研报的数据
 func (au *NoticeTask) Execute(taskDetail *base.TaskDetail) (err error) {
-	logger.Info(contants.TaskFormat, "监听更新通知开始")
+	//logger.Info(contants.TaskFormat, "监听更新通知开始")
 	metaInfoList := userService.GetInitMetaInfos()
 	var wg sync.WaitGroup
 	wg.Add(len(metaInfoList))

+ 2 - 3
task/sms/code_expired_task.go

@@ -2,7 +2,6 @@ package sms
 
 import (
 	logger "eta/eta_mini_ht_api/common/component/log"
-	"eta/eta_mini_ht_api/common/contants"
 	"eta/eta_mini_ht_api/domian/sms"
 	"eta/eta_mini_ht_api/task/base"
 )
@@ -14,12 +13,12 @@ var (
 
 // Execute Task ETA取研报的数据
 func (st *SMSTask) Execute(taskDetail *base.TaskDetail) error {
-	logger.Info(contants.TaskFormat, "处理过期短信开始")
+	//logger.Info(contants.TaskFormat, "处理过期短信开始")
 	err := sms.VerifiedCodeTask()
 	if err != nil {
 		logger.Error("自动更新短信状态失败:%v", err)
 	}
-	logger.Info(contants.TaskFormat, "处理过期短信结束")
+	//logger.Info(contants.TaskFormat, "处理过期短信结束")
 	return err
 }
 

+ 0 - 1
task/task_starter.go

@@ -3,7 +3,6 @@ package task
 import (
 	"eta/eta_mini_ht_api/task/base"
 	_ "eta/eta_mini_ht_api/task/eta/author"
-	_ "eta/eta_mini_ht_api/task/eta/media"
 	_ "eta/eta_mini_ht_api/task/message"
 	_ "eta/eta_mini_ht_api/task/report"
 	_ "eta/eta_mini_ht_api/task/sms"