Browse Source

fix 接口新增

ziwen 2 years ago
parent
commit
1be094a2b4
4 changed files with 225 additions and 3 deletions
  1. 1 3
      controllers/chart_permission.go
  2. 1 0
      controllers/report.go
  3. 222 0
      controllers/report_billboard.go
  4. 1 0
      models/report.go

+ 1 - 3
controllers/chart_permission.go

@@ -122,9 +122,7 @@ func (this *ChartPermissionAuthController) ReportDetail() {
 			}
 		}
 	}
-	if userType == 1 {
-		condition += ` AND permission_name  != '研选'`
-	}
+	condition += ` AND permission_name  != '买方研选'`
 	list, err := models.GetChartPermissionReportAll(condition)
 	if err != nil {
 		br.Msg = "获取信息失败"

+ 1 - 0
controllers/report.go

@@ -1139,6 +1139,7 @@ func (this *ReportController) IsShow() {
 	var resp models.IsShow
 	resp.IsShowChart = true
 	resp.IsShowResearch = true
+	resp.IsShowList = true
 	mobile := user.Mobile
 	if mobile == "" {
 		br.Ret = 200

+ 222 - 0
controllers/report_billboard.go

@@ -1,8 +1,10 @@
 package controllers
 
 import (
+	"github.com/rdlucklib/rdluck_tools/paging"
 	"hongze/hongze_cygx/models"
 	"hongze/hongze_cygx/utils"
+	"strconv"
 )
 
 //报告榜单
@@ -65,3 +67,223 @@ func (this *ReportBillboardController) FllowList() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// @Title 阅读飙升榜
+// @Description 获取阅读飙升榜接口
+// @Param   ChartPermissionId   query   int  true       "分类ID"
+// @Success 200 {object} models.IndustrialManagementList
+// @router /industry/readList [get]
+func (this *ReportBillboardController) ReadList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	user := this.User
+	if user == nil {
+		br.Msg = "请重新登录"
+		br.Ret = 408
+		return
+	}
+	uid := user.UserId
+
+	ChartPermissionId, _ := this.GetInt("ChartPermissionId")
+	orderColumn := this.GetString("OrderColumn")
+
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+	var orderSrt string
+	var condition string
+	var startSize int
+	resp := new(models.IndustrialManagementList)
+	if pageSize <= 0 {
+		pageSize = utils.PageSize20
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+	startSize = paging.StartIndex(currentIndex, pageSize)
+	var sqlChartPermissionId string
+	if ChartPermissionId > 0 {
+		sqlChartPermissionId += ` AND man_g.industrial_management_id IN ( SELECT industrial_management_id FROM cygx_industrial_management WHERE chart_permission_id = ` + strconv.Itoa(ChartPermissionId) + ` ) `
+		condition += ` AND man.chart_permission_id IN (` + strconv.Itoa(ChartPermissionId) + `)`
+	}
+	var list []*models.IndustrialManagement
+	total, err := models.GetIndustrialManagementAllCount(condition)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取数量失败,Err:" + err.Error()
+		return
+	}
+	page := paging.GetPaging(currentIndex, pageSize, total)
+	if orderColumn == "" {
+		orderColumn = "NewTime"
+	}
+	if orderColumn == "NewTime" {
+		orderSrt = "update_time DESC"
+	} else {
+		orderSrt = "man.recommended_index DESC,update_time DESC"
+	}
+	if ChartPermissionId == 0 {
+		ChartPermissionId = 20
+	}
+	detailHot3, err := models.GetIndustrialManagementHot3(ChartPermissionId)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取信息失败,Err:" + err.Error()
+		return
+	}
+
+	list, err = models.GetIndustrialManagementAll(uid, condition, orderSrt, startSize, pageSize)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+		return
+	}
+	for k, v := range list {
+		industrialSubjectList, err := models.GetIndustrialSubjectAll(v.IndustrialManagementId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+			return
+		}
+		list[k].IndustrialSubjectList = industrialSubjectList
+		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 && user.CreatedTime.Before(utils.StrTimeToTime(newArtinfo.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(newArtinfo.PublishDate)) {
+			list[k].IsRed = true
+		}
+		if v.ArticleReadNum >= detailHot3.ArticleReadNum {
+			list[k].IsHot = true
+		}
+	}
+
+	resp.List = list
+	resp.Paging = page
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}
+
+// @Title 报告收藏榜
+// @Description 获取报告收藏榜接口
+// @Param   ChartPermissionId   query   int  true       "分类ID"
+// @Success 200 {object} models.IndustrialManagementList
+// @router /industry/collectList [get]
+func (this *ReportBillboardController) CollectList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	user := this.User
+	if user == nil {
+		br.Msg = "请重新登录"
+		br.Ret = 408
+		return
+	}
+	uid := user.UserId
+
+	ChartPermissionId, _ := this.GetInt("ChartPermissionId")
+	orderColumn := this.GetString("OrderColumn")
+
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+	var orderSrt string
+	var condition string
+	var startSize int
+	resp := new(models.IndustrialManagementList)
+	if pageSize <= 0 {
+		pageSize = utils.PageSize20
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+	startSize = paging.StartIndex(currentIndex, pageSize)
+	var sqlChartPermissionId string
+	if ChartPermissionId > 0 {
+		sqlChartPermissionId += ` AND man_g.industrial_management_id IN ( SELECT industrial_management_id FROM cygx_industrial_management WHERE chart_permission_id = ` + strconv.Itoa(ChartPermissionId) + ` ) `
+		condition += ` AND man.chart_permission_id IN (` + strconv.Itoa(ChartPermissionId) + `)`
+	}
+	var list []*models.IndustrialManagement
+	total, err := models.GetIndustrialManagementAllCount(condition)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取数量失败,Err:" + err.Error()
+		return
+	}
+	page := paging.GetPaging(currentIndex, pageSize, total)
+	if orderColumn == "" {
+		orderColumn = "NewTime"
+	}
+	if orderColumn == "NewTime" {
+		orderSrt = "update_time DESC"
+	} else {
+		orderSrt = "man.recommended_index DESC,update_time DESC"
+	}
+	if ChartPermissionId == 0 {
+		ChartPermissionId = 20
+	}
+	detailHot3, err := models.GetIndustrialManagementHot3(ChartPermissionId)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取信息失败,Err:" + err.Error()
+		return
+	}
+
+	list, err = models.GetIndustrialManagementAll(uid, condition, orderSrt, startSize, pageSize)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+		return
+	}
+	for k, v := range list {
+		industrialSubjectList, err := models.GetIndustrialSubjectAll(v.IndustrialManagementId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+			return
+		}
+		list[k].IndustrialSubjectList = industrialSubjectList
+		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 && user.CreatedTime.Before(utils.StrTimeToTime(newArtinfo.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(newArtinfo.PublishDate)) {
+			list[k].IsRed = true
+		}
+		if v.ArticleReadNum >= detailHot3.ArticleReadNum {
+			list[k].IsHot = true
+		}
+	}
+
+	resp.List = list
+	resp.Paging = page
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 1 - 0
models/report.go

@@ -221,6 +221,7 @@ type IsShow struct {
 	IsShow         bool `description:"是否展示"`
 	IsShowResearch bool `description:"研选是否展示限免"`
 	IsShowChart    bool `description:"图表是否展示限免"`
+	IsShowList    bool `description:"榜单是否展示"`
 }
 
 //获取用户是否有查看权限