Browse Source

增加一期研报同步

kobe6258 7 months ago
parent
commit
f0cb97af80

+ 1 - 0
domian/report/eta_report_service.go

@@ -52,6 +52,7 @@ func GetETAReportIdsByPermissionIds(permissionIds []int) (ids []int, err error)
 	}
 	return eta.GetETAReportIdsByClassifyIds(classifyIds)
 }
+
 func GetETAReport(id int) (detail ETAReportDTO, err error) {
 	report, err := eta.GetETAReportById(id)
 	if err != nil {

+ 38 - 0
domian/report/ht_report_service.go

@@ -0,0 +1,38 @@
+package report
+
+import (
+	logger "eta/eta_mini_ht_api/common/component/log"
+	htDao "eta/eta_mini_ht_api/models/ht"
+	"eta/eta_mini_ht_api/models/report"
+)
+
+func GetHTReportIdsByPermissionIds(permissionIds []int) (ids []int, err error) {
+	//品种名字筛选
+	var query []htDao.HtQuery
+	permissionNames, err := GetPermissionNamesByPermissionIds(permissionIds)
+	if err != nil {
+		logger.Error("获取品种名称列表失败:%v", err)
+		return
+	}
+	//获取板块列表组成查询条件 通过板块和品种筛选海通的研报
+	for _, permissionName := range permissionNames {
+		query = append(query, htDao.HtQuery{
+			Plate:      GetPlateNameByPermissionName(permissionName),
+			Permission: permissionName,
+		})
+	}
+	//更具query查询ids TODO
+	ids, err = htDao.GetHTReportIdsByPermissionIds(query)
+	return
+}
+
+func GetPlateNameByPermissionName(permissionName string) (plate string) {
+	//板块名字筛选
+	plate, err := report.GetPlateByPermissionName(permissionName)
+	if err != nil {
+		logger.Error("获取板块id失败:%v", err)
+		return ""
+	}
+	//获取板块列表组成查询条件 通过板块和品种筛选海通的研报
+	return
+}

+ 4 - 0
domian/report/permission_service.go

@@ -8,6 +8,10 @@ import (
 func GetClassifyIdsByPermissionIds(permissionIds []int) (classifyIds []int, err error) {
 	return etaDao.GetClassifyIdsByPermissionIds(permissionIds)
 }
+
+func GetPermissionNamesByPermissionIds(permissionIds []int) (permissionNames []string, err error) {
+	return etaDao.GetPermissionNamesByPermissionIds(permissionIds)
+}
 func GetPermissionList() (dtoList []PermissionDTO, err error) {
 	list, err := etaDao.GetChartPermissionList()
 	if err != nil {

+ 5 - 1
domian/report/report_service.go

@@ -438,7 +438,11 @@ func GetListByCondition[T any](column string, ids []T) (dtoList []ReportDTO, err
 
 func GetTotalPageCountByPermissionIds(permissionIds []int) (total int64, latestId int64, ids []int) {
 	//TODO 一期品种筛选reportIds
-	htIds := []int{}
+	htIds, err := GetHTReportIdsByPermissionIds(permissionIds)
+	if err != nil {
+		logger.Error("品种筛选ht报告id失败:%v", err)
+		htIds = []int{}
+	}
 	etaIds, err := GetETAReportIdsByPermissionIds(permissionIds)
 	if err != nil {
 		logger.Error("品种筛选eta报告id失败:%v", err)

+ 1 - 0
models/eta/chart_permission_search_key_word_mapping.go

@@ -13,6 +13,7 @@ func GetClassifyIdsByPermissionIds(permissionIds []int) (classifyIds []int, err
 	err = db.Model(&ChartPermissionSearchKeyWordMapping{}).Select("DISTINCT classify_id").Where("chart_permission_id in ?", permissionIds).Scan(&classifyIds).Error
 	return
 }
+
 func (c *ChartPermissionSearchKeyWordMapping) TableName() string {
 	return "chart_permission_search_key_word_mapping"
 }

+ 6 - 2
models/eta/eta_permission.go

@@ -30,7 +30,11 @@ func GetChartPermissionList() (chartPermissionList []ChartPermission, err error)
 	}
 	return
 }
-
+func GetPermissionNamesByPermissionIds(ids []int) (chartPermissionNames []string, err error) {
+	sql := "select chart_permission_id, permission_name from chart_permission WHERE chart_permission_id in ?"
+	err = doSql(sql, &chartPermissionNames, ids)
+	return
+}
 func GetFirstPermissionsByClassifyID(classifyID int) (chartPermissionList []ChartPermission, err error) {
 	sql := "select chart_permission_id, permission_name,parent_id from chart_permission WHERE chart_permission_id in( select DISTINCT cp.parent_id from chart_permission_search_key_word_mapping cpskwp left JOIN chart_permission cp on cp.chart_permission_id =cpskwp.chart_permission_id where cpskwp.classify_id=? order by cp.parent_id)"
 	err = doSql(sql, &chartPermissionList, classifyID)
@@ -38,7 +42,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.parent_id)"
 	err = doSql(sql, &chartPermissionList, classifyID)
 	return
 }

+ 9 - 0
models/ht/ht_report.go

@@ -18,3 +18,12 @@ func GetHTReports(id int) (reports []HTReport, err error) {
 	err = db.Model(&HTReport{}).Raw(sql, id).Scan(&reports).Error
 	return
 }
+
+type HtQuery struct {
+	Plate      string
+	Permission string
+}
+
+func GetHTReportIdsByPermissionIds(query []HtQuery) (ids []int, err error) {
+	return
+}

+ 12 - 0
models/report/gl_report_author_mappings.go

@@ -14,3 +14,15 @@ func GetGLAuthorNames(plate, permission string) (names string, err error) {
 	err = db.Model(&GLReportAuthorMappings{}).Select("author_names").Where("plate = ? and permission = ?", plate, permission).Scan(&names).Error
 	return
 }
+
+func GetPlateByPermissionName(permissionName string) (plate string, err error) {
+	var plates []string
+	db := models.Main()
+	err = db.Model(&GLReportAuthorMappings{}).Select("distinct plate").Where("permission = ?", permissionName).Scan(&plates).Error
+	if err != nil {
+		plate = ""
+		return
+	}
+	plate = plates[0]
+	return
+}