Browse Source

报告同步的时候,新的产业没有填写布局时间的时候,自动同步文章发布时间

xingzai 2 years ago
parent
commit
5a75e75656
4 changed files with 23 additions and 7 deletions
  1. 10 3
      models/industrial_management.go
  2. 1 0
      models/report.go
  3. 2 1
      models/report_mapping.go
  4. 10 3
      services/article.go

+ 10 - 3
models/industrial_management.go

@@ -325,6 +325,14 @@ func UpdateIndustrialManagementArtReadNum(num, industrialManagementId int) (err
 	return
 }
 
+//更新产业布局时间
+func UpdateIndustrialManagementLayoutTime(layoutTime string, industrialManagementId int) (err error) {
+	o := orm.NewOrm()
+	sql := `UPDATE cygx_industrial_management SET layout_time = ? WHERE industrial_management_id = ?`
+	_, err = o.Raw(sql, layoutTime, industrialManagementId).Exec()
+	return
+}
+
 //获取产业下阅读数量第三的产业详情
 func GetIndustrialManagementHot3(chartPermissionId int) (item *IndustrialManagementRep, err error) {
 	o := orm.NewOrm()
@@ -405,7 +413,7 @@ func GetIndustrialManagementNewList(condition string) (items []*IndustrialManage
 //获取产业关联标的列表
 func GetIndustrialManagementForSubjecName(subjectName string, chartPermissionId int) (items []*IndustrialSubject, err error) {
 	o := orm.NewOrm()
-	sql := `SELECT s.subject_name,s.industrial_subject_id,m.industrial_management_id,m.industry_name
+	sql := `SELECT s.subject_name,s.industrial_subject_id,m.industrial_management_id,m.industry_name,layout_time
 			FROM cygx_industrial_subject as s 
 			INNER JOIN cygx_industrial_management as m ON m.industrial_management_id = s.industrial_management_id
 			WHERE subject_name IN (` + subjectName + `) AND m.chart_permission_id = ? `
@@ -614,10 +622,9 @@ func GetSourceIndustryByName(industryName string) (item *IndustrialManagement, e
 	return
 }
 
-
 // GetIndustryByName 通过名称获取产业
 func GetIndustryByName(industryName string) (item *IndustrialManagement, err error) {
 	sql := `SELECT * FROM cygx_industrial_management WHERE industry_name = ? LIMIT 1`
 	err = orm.NewOrm().Raw(sql, industryName).QueryRow(&item)
 	return
-}
+}

+ 1 - 0
models/report.go

@@ -44,6 +44,7 @@ type IndustrialSubject struct {
 	IndustrialManagementId int    `description:"产业id"`
 	SubjectName            string `description:"标的名称"`
 	IndustryName           string `description:"产业名称"`
+	LayoutTime             string `description:"产业布局时间"`
 }
 
 //获取产业报告数量

+ 2 - 1
models/report_mapping.go

@@ -6,6 +6,7 @@ import (
 
 type ReportMapping struct {
 	CategoryId          int    `description:"分类ID"`
+	CategoryIdSet       int    `description:"分类ID手动设置的分类"`
 	SubCategoryName     string `description:"主题"`
 	MatchTypeName       string `description:"分类名称"`
 	ChartPermissionName string `description:"行业名称"`
@@ -152,7 +153,7 @@ func CheckThisCategoryNewArticleIsRead(uid, categoryId int) (count int, err erro
 //获取策略下面的所有分类
 func GetMatchTypeNamenNotNull() (items []*ReportMapping, err error) {
 	o := orm.NewOrm()
-	sql := `SELECT category_id,match_type_name FROM cygx_report_mapping WHERE match_type_name <> ''`
+	sql := `SELECT category_id,category_id_set,match_type_name FROM cygx_report_mapping WHERE match_type_name <> ''`
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }

+ 10 - 3
services/article.go

@@ -672,7 +672,7 @@ func GetArticleListByApi(cont context.Context) (err error) {
 }
 
 //func init() {
-//	HandleArticleListByApi(7370)
+//	HandleArticleListByApi(7507)
 //}
 
 //处理同步过来的文章
@@ -822,6 +822,10 @@ func HandleArticleListByApi(artcleId int) (err error) {
 		fmt.Println("GetTacticsList Err:", errMatch.Error())
 		return err
 	}
+	mapCategoryIdSet := make(map[int]int)
+	for _, vMatch := range listGetMatchTypeName {
+		mapCategoryIdSet[vMatch.CategoryId] = vMatch.CategoryIdSet
+	}
 	fmt.Println("list len:", len(list))
 	noSummaryArticleIds := "3454,3456,3457,3459,2449,2450,2453,2454,2459,2530,2583,2663,2670,2699,2715,2732,2748,2759,2399,2356,2870,3173,2978,2826,3470" //非纪要库类型的文章ID
 	listNoSummaryArticleIds := strings.Split(noSummaryArticleIds, ",")
@@ -913,7 +917,7 @@ func HandleArticleListByApi(artcleId int) (err error) {
 				}
 			}
 			if isCustom == false {
-				updateParams["CategoryId"] = v.CategoryId
+				updateParams["CategoryId"] = mapCategoryIdSet[v.CategoryId]
 				updateParams["MatchTypeName"] = matchTypeName
 				updateParams["IsSummary"] = v.IsSummary
 				updateParams["IsReport"] = v.IsReport
@@ -954,7 +958,7 @@ func HandleArticleListByApi(artcleId int) (err error) {
 			item.Abstract = html.EscapeString(v.Abstract)
 			item.CategoryName = v.CategoryName
 			item.SubCategoryName = v.SubCategoryName
-			item.CategoryId = v.CategoryId
+			item.CategoryId = mapCategoryIdSet[v.CategoryId]
 			item.CategoryIdTwo = v.CategoryId
 			item.PublishStatus = 1
 			item.ExpertBackground = expertContentStr
@@ -1020,6 +1024,9 @@ func HandleArticleListByApi(artcleId int) (err error) {
 								mapIndustrialId[vIndustrial.IndustrialManagementId] = vIndustrial.IndustrialManagementId
 								industrialSubjectIdStr += strconv.Itoa(vIndustrial.IndustrialSubjectId) + ","
 								mapManagementForSubject[vIndustrial.IndustryName] += vIndustrial.SubjectName + "/"
+								if vIndustrial.LayoutTime == "0000-00-00 00:00:00" {
+									go models.UpdateIndustrialManagementLayoutTime(v.PublishDate.Format(utils.FormatDateTime), vIndustrial.IndustrialManagementId)
+								}
 							}
 
 							industrialManagementIdStr = strings.TrimRight(industrialManagementIdStr, ",")