Browse Source

no message

xingzai 1 year ago
parent
commit
4c77a407cf
5 changed files with 99 additions and 114 deletions
  1. 31 16
      controllers/report.go
  2. 9 98
      controllers/tactics.go
  3. 23 0
      models/article.go
  4. 35 0
      services/article.go
  5. 1 0
      utils/constants.go

+ 31 - 16
controllers/report.go

@@ -62,6 +62,11 @@ func (this *ReportController) TradeList() {
 		categoryMap[v.CategoryId] = v.CategoryId
 		list = append(list, v)
 	}
+	//加了一个需求,现有数据结构不支持,手动添加  2023-06-12
+	if ChartPermissionId == utils.KE_JI_ID {
+		list = append(list, &models.TradeReportMapping{MatchTypeName: "AI前沿", CategoryId: utils.ACTEGORY_ID_AI_QY})
+	}
+
 	//var condition string
 	//var pars []interface{}
 	for k, v := range list {
@@ -70,24 +75,34 @@ func (this *ReportController) TradeList() {
 		//} else {
 		//	condition = ` AND a.category_id IN(` + strconv.Itoa(v.CategoryId) + `)`
 		//}
-		listArticle, _, err := models.GetReportAndproductIndustrylList(v.CategoryId, 0, 1)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			br.Msg = "获取信息失败"
-			br.Msg = "GetHomeList,Err:" + err.Error()
-			return
+		pageSize := 1
+		var listArticle []*models.ReportArticle
+		if v.CategoryId == utils.ACTEGORY_ID_AI_QY {
+			//加了一个需求,现有数据结构不支持,手动添加  2023-06-12
+			listArticle, _, err = services.GetAiQianYanArtilceList(0, pageSize)
+			if err != nil && err.Error() != utils.ErrNoRow() {
+				br.Msg = "获取信息失败"
+				br.Msg = "GetHomeList,Err:" + err.Error()
+				return
+			}
+			//for _, vAi := range listArticleAi {
+			//	listArticle = append(listArticle, &models.ReportArticle{
+			//		CategoryId:  vAi.CategoryId,
+			//		PublishDate: vAi.PublishDate,
+			//	})
+			//}
+		} else {
+			listArticle, _, err = models.GetReportAndproductIndustrylList(v.CategoryId, 0, pageSize)
+			if err != nil && err.Error() != utils.ErrNoRow() {
+				br.Msg = "获取信息失败"
+				br.Msg = "GetHomeList,Err:" + err.Error()
+				return
+			}
 		}
-		if len(listArticle) > 0 {
-			list[k].UpdateTime = utils.StrTimeToTime(listArticle[0].PublishDate).Format(utils.FormatDate) //时间字符串格式转时间格式
+		//listArticle, _, err := models.GetReportAndproductIndustrylList(v.CategoryId, 0, 1)
 
-			//count, err := models.CheckThisCategoryNewArticleIsRead(uid, v.CategoryId)
-			//if err != nil {
-			//	br.Msg = "获取信息失败"
-			//	br.ErrMsg = "获取帖子总数失败,Err:" + err.Error()
-			//	return
-			//}
-			//if count == 0 && user.CreatedTime.Before(utils.StrTimeToTime(v.UpdateTime)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(v.UpdateTime)) {
-			//	list[k].IsRed = true
-			//}
+		if len(listArticle) > 0 {
+			list[k].UpdateTime = utils.StrTimeToTime(listArticle[0].PublishDate).Format(utils.FormatDate) //时间字符串格式转时间格式 }
 		}
 	}
 	resp := new(models.TradeReportMappingResp)

+ 9 - 98
controllers/tactics.go

@@ -61,82 +61,14 @@ func (this *TacticsController) List() {
 	//var pars []interface{}
 	//var total int
 	resp := new(models.TacticsListResp)
-	//page := paging.GetPaging(currentIndex, pageSize, total)
-
-	//获取该产业下所对应的行业图片
-	//detail, errCategory := models.GetdetailByCategoryIdOneByHangye(categoryId)
-	//if errCategory != nil {
-	//	br.Msg = "获取信息失败"
-	//	br.ErrMsg = "获取信息失败,Err:" + errCategory.Error() + "categoryID 不存在:" + strconv.Itoa(categoryId)
-	//	return
-	//}
-	//对应行业的图片
-	//detailChartPermissionUrl, err := models.GetConfigByCode("category_chart_permissionimg_url")
-	//if err != nil {
-	//	br.Msg = "获取数据失败"
-	//	br.ErrMsg = "行业配置信息失败,Err:" + err.Error()
-	//	return
-	//}
-	//chartPermissionUrlList := strings.Split(detailChartPermissionUrl.ConfigValue, "{|}")
-	//mapChartPermission := make(map[string]string)
-	//var permissionName string
-	//var imgUrlChartPermission string
-	//for _, v := range chartPermissionUrlList {
-	//	vslice := strings.Split(v, "_")
-	//	permissionName = vslice[0]
-	//	imgUrlChartPermission = vslice[len(vslice)-1]
-	//	mapChartPermission[permissionName] = imgUrlChartPermission
-	//}
-
-	//对应分类的所图片
-	//detailCategoryUrl, err := models.GetConfigByCode("category_map_img_url")
-	//if err != nil {
-	//	br.Msg = "获取数据失败"
-	//	br.ErrMsg = "行业配置信息失败,Err:" + err.Error()
-	//	return
-	//}
-	//categoryUrlList := strings.Split(detailCategoryUrl.ConfigValue, "{|}")
-	//mapCategoryUrl := make(map[string]string)
-	//var categoryIdStr string
-	//var imgUrlChart string
-	//for _, v := range categoryUrlList {
-	//	vslice := strings.Split(v, "_")
-	//	categoryIdStr = vslice[0]
-	//	imgUrlChart = vslice[len(vslice)-1]
-	//	mapCategoryUrl[categoryIdStr] = imgUrlChart
-	//}
-
-	//if categoryId < 0 {
-	//	listTactics, err := models.GetReportMappingStrategyAll()
-	//	if err != nil && err.Error() != utils.ErrNoRow() {
-	//		br.Msg = "获取信息失败"
-	//		br.ErrMsg = "获取分类权限信息失败,Err:" + err.Error()
-	//		return
-	//	}
-	//	for _, v := range listTactics {
-	//		listTacticsSrt = listTacticsSrt + strconv.Itoa(v.CategoryId) + `,`
-	//	}
-	//	listTacticsSrt = strings.TrimRight(listTacticsSrt, ",")
-	//	condition = ` AND category_id IN(` + listTacticsSrt + `)`
-	//} else {
-	//	if detail.CeLueFieldId != "" {
-	//		condition = ` AND ce_lue_field_id IN(` + detail.CeLueFieldId + `)`
-	//	} else if detail.PolymerizationId != "" {
-	//		condition = ` AND category_id IN(` + detail.PolymerizationId + `)`
-	//	} else {
-	//		condition = ` AND category_id IN(` + strconv.Itoa(categoryId) + `)`
-	//	}
-	//}
-	//total, err = models.GetHomeCount(condition, pars)
-	//if err != nil {
-	//	br.Msg = "获取信息失败"
-	//	br.Msg = "获取帖子总数失败,Err:" + err.Error()
-	//	return
-	//}
-
-	//list, err := models.GetReportTacticsList(condition, pars, uid, startSize, pageSize)
-
-	list, total, err := models.GetReportAndproductIndustrylList(categoryId, startSize, pageSize)
+	list := make([]*models.ReportArticle, 0)
+	var total int
+	var err error
+	if categoryId == utils.ACTEGORY_ID_AI_QY {
+		list, total, err = services.GetAiQianYanArtilceList(0, pageSize)
+	} else {
+		list, total, err = models.GetReportAndproductIndustrylList(categoryId, startSize, pageSize)
+	}
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.Msg = "获取帖子数据失败,Err:" + err.Error()
@@ -146,15 +78,12 @@ func (this *TacticsController) List() {
 	var productInteriorIs []int
 	page := paging.GetPaging(currentIndex, pageSize, total)
 	for _, v := range list {
-		//if v.Readnum == 0 && user.CreatedTime.Before(utils.StrTimeToTime(v.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(v.PublishDate)) {
-		//	list[k].IsRed = true
-		//}
+
 		if v.Resource == 1 {
 			articleIds = append(articleIds, v.ArticleId)
 		} else {
 			productInteriorIs = append(productInteriorIs, v.ArticleId)
 		}
-		//list[k].ImgUrlPc = mapCategoryUrl[v.CategoryId]
 	}
 	ArticleHistoryMap := services.GetArticleHistoryByUser(articleIds, user)
 	ProductInteriorHistoryMap := services.GetCygxProductInteriorHistoryListMap(articleIds, user)
@@ -184,24 +113,6 @@ func (this *TacticsController) List() {
 			v.PublishDate = utils.TimeRemoveHms2(v.PublishDate)
 		}
 	}
-	//lenList := len(list)
-	//for i := 0; i < lenList; i++ {
-	//	item := list[i]
-	//	list[i].Body, _ = services.GetReportContentTextSub(item.Body)
-	//	list[i].Abstract = html.UnescapeString(item.Abstract)
-	//	//list[i].Abstract, _ = services.GetReportContentTextSub(item.Abstract)
-	//	list[i].Annotation = strings.Replace(item.Annotation, "<br>", "", -1)
-	//	//行业比较研究、资金流向,显示报告的摘要
-	//	if resp.MatchTypeName == "行业比较研究" || resp.MatchTypeName == "资金流向" {
-	//		list[i].Annotation = list[i].Abstract
-	//	}
-	//	//if item.ArticleId == 6881 {
-	//	//	fmt.Println(list[i].Annotation)
-	//	//}
-	//	list[i].Abstract, _ = services.GetReportContentTextSub(item.Abstract)
-	//}
-	//
-	//resp.CategoryImgUrlPc = mapChartPermission[detail.ChartPermissionName]
 	resp.List = list
 	resp.Paging = page
 	br.Ret = 200

+ 23 - 0
models/article.go

@@ -728,3 +728,26 @@ func GetArticleStock() (items []*SummaryArticleStock, err error) {
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
+
+// 列表
+func GetCygxCygxArticleList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxArticle, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM cygx_article as art WHERE 1= 1 `
+	if condition != "" {
+		sql += condition
+	}
+	sql += ` LIMIT ?,?  `
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	return
+}
+
+// 获取数量
+func GetCygxArticleCount(condition string, pars []interface{}) (count int, err error) {
+	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_article as art WHERE 1= 1  `
+	if condition != "" {
+		sqlCount += condition
+	}
+	o := orm.NewOrm()
+	err = o.Raw(sqlCount, pars).QueryRow(&count)
+	return
+}

+ 35 - 0
services/article.go

@@ -2043,3 +2043,38 @@ func GetArticleStockMap() (mapResp map[string]int, err error) {
 	}
 	return
 }
+
+// GetAiQianYanArtilceList 获取AI前沿几篇文章
+func GetAiQianYanArtilceList(startSize, pageSize int) (items []*models.ReportArticle, total int, err error) {
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg("获取AI前沿几篇文章失败"+err.Error(), 2)
+		}
+	}()
+	var condition string
+	var pars []interface{}
+	condition += ` AND title LIKE '%AI前沿%' AND publish_status = 1  ORDER BY publish_date DESC   `
+	articleList, e := models.GetCygxCygxArticleList(condition, pars, startSize, pageSize)
+	if e != nil {
+		err = errors.New("GetCygxCygxArticleList, Err: " + e.Error())
+		return
+	}
+	total, e = models.GetCygxArticleCount(condition, pars)
+	if e != nil {
+		err = errors.New("GetCygxArticleCount, Err: " + e.Error())
+		return
+	}
+
+	for _, v := range articleList {
+		item := new(models.ReportArticle)
+		item.ArticleId = v.ArticleId
+		item.Title = v.Title
+		item.Abstract = v.Abstract
+		item.Annotation = v.Annotation
+		item.PublishDate = v.PublishDate
+		item.CategoryId = strconv.Itoa(v.CategoryId)
+		item.Body = v.Body
+		items = append(items, item)
+	}
+	return
+}

+ 1 - 0
utils/constants.go

@@ -108,6 +108,7 @@ const (
 	CYGX_TACTICS_TIME_LINE_STATUS    string = "cygx_tactics_time_line_status" // 策略时间线是否对外开放
 	TIME_LINE_ID                     int    = 99999                           // 策略时间线的值
 	TIME_LINE_NAME                   string = "时间线"                           // 策略时间线的名称
+	ACTEGORY_ID_AI_QY                int    = 61                              // AI前沿自定义ID
 )
 
 const (