xingzai 4 жил өмнө
parent
commit
d7585ef1c0

+ 28 - 16
controllers/report.go

@@ -5,6 +5,7 @@ import (
 	"fmt"
 	"hongze/hongze_cygx/models"
 	"hongze/hongze_cygx/utils"
+	"strconv"
 	"strings"
 	"time"
 )
@@ -92,13 +93,14 @@ func (this *ReportController) IndustryList() {
 		return
 	}
 	listTop, err := models.GetIndustrialManagementTopAll(ChartPermissionId, uid)
-	for k, v := range listTop {
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+		return
+	}
+	fmt.Println(len(listTop))
+	for k, _ := range listTop {
 		listTop[k].IsTop = true
-		if v.Readnum == 0 {
-			listTop[k].IsRed = true
-		}
-		listTop[k].UpdateTime = utils.TimeRemoveHms(v.UpdateTime)
-		listTop[k].LayoutTime = utils.TimeRemoveHms(v.LayoutTime)
 	}
 	if orderColumn == "NewTime" {
 		orderSrt = "art.publish_date DESC"
@@ -107,19 +109,12 @@ func (this *ReportController) IndustryList() {
 	}
 
 	list, err := models.GetIndustrialManagementAll(ChartPermissionId, uid, orderSrt)
-	for k, v := range list {
-		if v.Readnum == 0 {
-			list[k].IsRed = true
-		}
-		list[k].UpdateTime = utils.TimeRemoveHms(v.UpdateTime)
-		list[k].LayoutTime = utils.TimeRemoveHms(v.LayoutTime)
-	}
-	list = append(listTop, list...)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
 		return
 	}
+	list = append(listTop, list...)
 	for k, v := range list {
 		var analystStr string
 		analystList, err := models.GetIndustrialAnalystAll(v.IndustrialManagementId)
@@ -142,6 +137,24 @@ func (this *ReportController) IndustryList() {
 			analystStr = strings.TrimRight(analystStr, "/")
 		}
 		list[k].Analyst = analystStr
+		list[k].LayoutTime = utils.TimeRemoveHms(v.LayoutTime)
+		newArtinfo, err := models.GetIndustrialNewArticleDetail(v.IndustrialManagementId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+			return
+		}
+		list[k].UpdateTime = utils.TimeRemoveHms(newArtinfo.PublishDate)
+		recordCount, err := models.GetUserToArticleCount(uid, newArtinfo.ArticleId)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取信息失败,Err:" + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(newArtinfo.ArticleId)
+			return
+		}
+		if recordCount == 0 {
+			list[k].IsRed = true
+		}
+
 	}
 	resp := new(models.IndustrialManagementList)
 	resp.List = list
@@ -174,7 +187,6 @@ func (this *ReportController) ArticleCategoryList() {
 		return
 	}
 	detail, err := models.GetIndustrialManagementDetail(industrialManagementId)
-	fmt.Println(detail)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "获取信息失败,Err:" + err.Error()
@@ -182,7 +194,7 @@ func (this *ReportController) ArticleCategoryList() {
 	}
 	resp := new(models.IndustrialToArticleCategoryListRep)
 	resp.List = list
-	resp.LayoutTime = detail.LayoutTime
+	resp.LayoutTime = utils.TimeRemoveHms(detail.LayoutTime)
 	resp.IndustryName = detail.IndustryName
 	br.Ret = 200
 	br.Success = true

+ 8 - 0
models/article_history_record.go

@@ -44,3 +44,11 @@ func AddCygxArticleHistoryRecord(item *CygxArticleHistoryRecord) (lastId int64,
 	}
 	return
 }
+
+//获取用户阅读记录
+func GetUserToArticleCount(uid, articleId int) (count int, err error) {
+	sqlCount := `SELECT COUNT(1) AS count FROM cygx_article_history_record WHERE user_id=? AND article_id=? `
+	o := orm.NewOrm()
+	err = o.Raw(sqlCount, uid, articleId).QueryRow(&count)
+	return
+}

+ 20 - 7
models/industrial_management.go

@@ -40,25 +40,23 @@ ORDER BY ` + orderSrt
 func GetIndustrialManagementTopAll(ChartPermissionId, uid int) (items []*IndustrialManagement, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
-	man.*,
-	art.publish_date AS update_time,(
-	SELECT COUNT( 1 ) FROM cygx_article_history_record AS rec WHERE rec.user_id = ` + strconv.Itoa(uid) + ` AND rec.article_id = art.article_id ) AS readnum 
+	man.*
 FROM
 	cygx_industrial_management AS man
-	 INNER  JOIN cygx_industry_top as top ON man.industrial_management_id = top.industrial_management_id 
+     INNER  JOIN cygx_industry_top as top ON man.industrial_management_id = top.industrial_management_id 
 	INNER JOIN cygx_report_mapping AS re ON re.chart_permission_id = man.chart_permission_id
 	INNER JOIN cygx_industrial_article_group_management AS man_g ON man_g.industrial_management_id = man.industrial_management_id
 	INNER JOIN cygx_article AS art ON art.article_id = man_g.article_id 
 WHERE
-	man.chart_permission_id = ? 
+	man.chart_permission_id = ` + strconv.Itoa(ChartPermissionId) + `
 	AND top.user_id = ` + strconv.Itoa(uid) + `
 	AND re.report_type = 2 
 	AND art.is_report = 1
 GROUP BY
 	man.industry_name 
 ORDER BY
-	art.publish_date DESC`
-	_, err = o.Raw(sql, ChartPermissionId).QueryRows(&items)
+	top.create_time DESC`
+	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
@@ -92,3 +90,18 @@ func GetIndustrialManagementDetail(industrialManagementId int) (items *Industria
 	err = o.Raw(sql, industrialManagementId).QueryRow(&items)
 	return
 }
+
+func GetIndustrialNewArticleDetail(industrialManagementId int) (item *ArticleDetail, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+	* 
+FROM
+	cygx_article 
+WHERE
+	article_id IN ( SELECT article_id FROM cygx_industrial_article_group_management WHERE industrial_management_id = ? ) 
+ORDER BY
+	publish_date DESC 
+	LIMIT 0,1`
+	err = o.Raw(sql, industrialManagementId).QueryRow(&item)
+	return
+}

+ 1 - 2
models/report.go

@@ -8,6 +8,7 @@ type IndustrialManagement struct {
 	IndustrialManagementId int                  `orm:"column(industrial_management_id);pk" description:"产业id"`
 	IndustryName           string               `description:"产业名称"`
 	RecommendedIndex       int                  `description:"推荐指数"`
+	CategoryId             int                  `description:"文章分类ID"`
 	LayoutTime             string               `description:"布局时间"`
 	UpdateTime             string               `description:"更新时间"`
 	IsRed                  bool                 `description:"是否标记红点"`
@@ -15,8 +16,6 @@ type IndustrialManagement struct {
 	AnalystList            []*IndustrialAnalyst `description:"分析师列表"`
 	Analyst                string               `description:"分析师"`
 	IndustrialSubjectList  []*IndustrialSubject `description:"标的列表"`
-	Readnum                int                  `description:"阅读数量"`
-	Topnum                 int                  `description:"置顶数量"`
 }
 
 type IndustrialAnalyst struct {

+ 2 - 1
models/report_mapping.go

@@ -18,7 +18,8 @@ type ReportMappingHome struct {
 
 type TradeReportMapping struct {
 	CategoryId      int    `description:"分类ID"`
-	SubCategoryName string `description:"权限名称"`
+	SubCategoryName string `description:"主题名称"`
+	MatchTypeName   string `description:"匹配类型"`
 	IsRed           bool   `description:"是否标红"`
 	UpdateTime      string `description:"更新时间"`
 	Readnum         int    `description:"阅读数量"`

+ 1 - 1
utils/common.go

@@ -565,7 +565,7 @@ func TimeRemoveHms(strTime string) string {
 	var resultTime = StrTimeToTime(strTime)
 	year := resultTime.Year()
 	month := resultTime.Format("01")
-	day1 := time.Now().Day()
+	day1 := resultTime.Day()
 	Ymd = strconv.Itoa(year) + "." + month + "." + strconv.Itoa(day1)
 	return Ymd
 }