Browse Source

需求池海外研究

xingzai 2 years ago
parent
commit
cb939f1d6f
2 changed files with 67 additions and 30 deletions
  1. 48 11
      controllers/report.go
  2. 19 19
      models/report_mapping.go

+ 48 - 11
controllers/report.go

@@ -52,16 +52,32 @@ func (this *ReportController) TradeList() {
 		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
 		return
 	}
+	var condition string
+	var pars []interface{}
 	for k, v := range list {
-		list[k].UpdateTime = utils.TimeRemoveHms(v.UpdateTime)
-		count, err := models.CheckThisCategoryNewArticleIsRead(uid, v.CategoryId)
-		if err != nil {
+		if v.PolymerizationId != "" {
+			condition = ` AND a.category_id IN(` + v.PolymerizationId + `)`
+		} else {
+			condition = ` AND a.category_id IN(` + strconv.Itoa(v.CategoryId) + `)`
+		}
+		listArticle, err := models.GetHomeList(condition, pars, 0, 1)
+		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取信息失败"
-			br.ErrMsg = "获取帖子总数失败,Err:" + err.Error()
+			br.Msg = "GetHomeList,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) //时间字符串格式转时间格式
+
+			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
+			}
 		}
 	}
 	resp := new(models.TradeReportMappingResp)
@@ -457,20 +473,41 @@ func (this *ReportController) List() {
 			imgUrlChartPermission = vslice[len(vslice)-1]
 			mapChartPermission[permissionName] = imgUrlChartPermission
 		}
+		var condition string
+		//var pars []interface{}
+		//
+		if detail.PolymerizationId != "" {
+			condition = ` AND category_id IN(` + detail.PolymerizationId + `)`
+		} else {
+			condition = ` AND category_id IN(` + strconv.Itoa(categoryId) + `)`
+		}
 
-		total, err = models.GetReportIndustrialCount(categoryId, industrialManagementId)
+		total, err = models.GetHomeCount(condition, pars)
 		if err != nil {
 			br.Msg = "获取信息失败"
-			br.ErrMsg = "获取帖子总数失败,Err:" + err.Error()
+			br.Msg = "获取帖子总数失败,Err:" + err.Error()
 			return
 		}
-		page = paging.GetPaging(currentIndex, pageSize, total)
-		list, err := models.GetReportIndustrialList(pars, categoryId, industrialManagementId, uid, startSize, pageSize)
+		list, err := models.GetHomeList(condition, pars, startSize, pageSize)
 		if err != nil {
 			br.Msg = "获取信息失败"
-			br.ErrMsg = "获取帖子数据失败,Err:" + err.Error()
+			br.Msg = "获取帖子数据失败,Err:" + err.Error()
 			return
 		}
+
+		//total, err = models.GetReportIndustrialCount(categoryId, industrialManagementId)
+		//if err != nil {
+		//	br.Msg = "获取信息失败"
+		//	br.ErrMsg = "获取帖子总数失败,Err:" + err.Error()
+		//	return
+		//}
+		page = paging.GetPaging(currentIndex, pageSize, total)
+		//list, err := models.GetReportIndustrialList(pars, categoryId, industrialManagementId, uid, startSize, pageSize)
+		//if err != nil {
+		//	br.Msg = "获取信息失败"
+		//	br.ErrMsg = "获取帖子数据失败,Err:" + err.Error()
+		//	return
+		//}
 		//对应分类的所图片
 		detailCategoryUrl, err := models.GetConfigByCode("category_map_img_url")
 		if err != nil {

+ 19 - 19
models/report_mapping.go

@@ -13,6 +13,7 @@ type ReportMapping struct {
 	ChartPermissionId   int    `description:"行业ID"`
 	IsRed               bool   `description:"是否标红"`
 	PermissionType      int    `description:"1主观,2客观"`
+	PolymerizationId    string `description:"分类聚合ID"`
 }
 
 type ReportMappingHome struct {
@@ -23,12 +24,14 @@ type ReportMappingHome struct {
 }
 
 type TradeReportMapping struct {
-	CategoryId      int    `description:"分类ID"`
-	SubCategoryName string `description:"主题名称"`
-	MatchTypeName   string `description:"匹配类型"`
-	IsRed           bool   `description:"是否标红"`
-	UpdateTime      string `description:"更新时间"`
-	Readnum         int    `description:"阅读数量"`
+	CategoryId       int    `description:"分类ID"`
+	CategoryIdSet    int    `description:"分类映射id"`
+	PolymerizationId string `description:"分类聚合ID"`
+	SubCategoryName  string `description:"主题名称"`
+	MatchTypeName    string `description:"匹配类型"`
+	IsRed            bool   `description:"是否标红"`
+	UpdateTime       string `description:"更新时间"`
+	Readnum          int    `description:"阅读数量"`
 }
 
 type ReportMappingResp struct {
@@ -74,22 +77,19 @@ ORDER BY
 func GetTradeAll(ChartPermissionId int) (items []*TradeReportMapping, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
-		MAX( art.publish_date ) AS update_time,
-		re.category_id,
-		re.sub_category_name,
-		re.match_type_name 
+			re.category_id,
+			re.category_id_set,
+			re.polymerization_id,
+			re.sub_category_name,
+			re.match_type_name 
 		FROM
-		cygx_report_mapping AS re
-		INNER JOIN cygx_article AS art ON re.category_id = art.category_id 
+			cygx_report_mapping AS re 
 		WHERE
-		re.chart_permission_id =? 
-		AND re.report_type = 1 
-		AND art.is_class = 1 
-		AND re.category_id NOT IN (67)
-		GROUP BY
-		art.category_id 
+			re.chart_permission_id = ? 
+			AND re.report_type = 1 
+			AND re.category_id NOT IN ( 67 ) 
 		ORDER BY
-		update_time DESC`
+			re.sort DESC `
 	_, err = o.Raw(sql, ChartPermissionId).QueryRows(&items)
 	return
 }