|
@@ -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
|
|
|
+}
|