|
@@ -1,9 +1,12 @@
|
|
|
package controllers
|
|
|
|
|
|
import (
|
|
|
+ "fmt"
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"hongze/hongze_clpt/models"
|
|
|
+ "hongze/hongze_clpt/services"
|
|
|
"hongze/hongze_clpt/utils"
|
|
|
- "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
+ "html"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
)
|
|
@@ -16,9 +19,12 @@ type BaseHomeController struct {
|
|
|
BaseCommonController
|
|
|
}
|
|
|
|
|
|
+type MobileHomeController struct {
|
|
|
+ BaseAuthMobileController
|
|
|
+}
|
|
|
|
|
|
-// @Title 首页列表接口v6版本
|
|
|
-// @Description 首页列表接口v6版本
|
|
|
+// @Title 首页列表接口
|
|
|
+// @Description 首页列表接口
|
|
|
// @Param PageSize query int true "每页数据条数"
|
|
|
// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
// @Param ChartPermissionId query int true "品类id,最新传0"
|
|
@@ -26,7 +32,7 @@ type BaseHomeController struct {
|
|
|
// @Param ListType query int true "列表类型,1最新,2 纪要 ,3图表 默认1"
|
|
|
// @Success 200 {object} models.HomeArtAndChartListResp
|
|
|
// @router /list [get]
|
|
|
-func (this *HomeController) List() {
|
|
|
+func (this *MobileHomeController) List() {
|
|
|
br := new(models.BaseResponse).Init()
|
|
|
defer func() {
|
|
|
this.Data["json"] = br
|
|
@@ -39,6 +45,7 @@ func (this *HomeController) List() {
|
|
|
br.Ret = 408
|
|
|
return
|
|
|
}
|
|
|
+ fmt.Println(user)
|
|
|
pageSize, _ := this.GetInt("PageSize")
|
|
|
currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
chartPermissionId, _ := this.GetInt("ChartPermissionId")
|
|
@@ -130,116 +137,117 @@ func (this *HomeController) List() {
|
|
|
resp.ChartList = chartList
|
|
|
|
|
|
if listType != 3 {
|
|
|
- //userType, _, err := services.GetUserType(user.CompanyId)
|
|
|
- //if err != nil {
|
|
|
- // br.Msg = "获取信息失败"
|
|
|
- // br.ErrMsg = "获取用户信息失败,Err:" + err.Error()
|
|
|
- // return
|
|
|
- //}
|
|
|
- //condition = ` AND is_summary = 1 `
|
|
|
- //if chartPermissionId > 0 {
|
|
|
- // categoryId, err := models.GetCategoryId(chartPermissionId)
|
|
|
- // if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- // br.Msg = "获取信息失败"
|
|
|
- // br.ErrMsg = "获取分类权限信息失败,Err:" + err.Error()
|
|
|
- // return
|
|
|
- // }
|
|
|
- // categoryinfo, err := models.GetChartPermissionById(chartPermissionId)
|
|
|
- // if err != nil {
|
|
|
- // br.Msg = "获取信息失败"
|
|
|
- // br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
- // return
|
|
|
- // }
|
|
|
- // if userType == 1 && strings.Contains(categoryinfo.PermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
- // resp.HaveResearch = false
|
|
|
- // resp.Paging = page
|
|
|
- // br.Ret = 200
|
|
|
- // br.Success = true
|
|
|
- // br.Msg = "获取成功"
|
|
|
- // br.Data = resp
|
|
|
- // return
|
|
|
- // }
|
|
|
- // page = paging.GetPaging(currentIndex, pageSize, total)
|
|
|
- // if categoryId != "" {
|
|
|
- // condition += ` AND category_id IN(` + categoryId + `)`
|
|
|
- // //condition += ` OR ( category_name LIKE '%` + utils.CHART_PERMISSION_NAME_YANXUAN + `%' AND publish_status = 1 AND is_summary = 1 )`
|
|
|
- // } else {
|
|
|
- // condition += ` AND category_name LIKE '%` + utils.CHART_PERMISSION_NAME_YANXUAN + `%'`
|
|
|
- // }
|
|
|
- //}
|
|
|
- ////永续客户无法查看研选分类的内容
|
|
|
- //if userType == 1 {
|
|
|
- // condition += ` AND category_name NOT LIKE '%` + utils.CHART_PERMISSION_NAME_YANXUAN + `%'`
|
|
|
- //}
|
|
|
- //total, err = models.GetHomeCount(condition, pars)
|
|
|
- //if err != nil {
|
|
|
- // br.Msg = "获取信息失败"
|
|
|
- // br.Msg = "获取帖子总数失败,Err:" + err.Error()
|
|
|
- // return
|
|
|
- //}
|
|
|
- //
|
|
|
- //list, err := models.GetHomeList(condition, pars, startSize, pageSize)
|
|
|
- //if err != nil {
|
|
|
- // br.Msg = "获取信息失败"
|
|
|
- // br.Msg = "获取帖子数据失败,Err:" + err.Error()
|
|
|
- // return
|
|
|
- //}
|
|
|
- ////研选的五张图片
|
|
|
- //detailResearch, err := models.GetConfigByCode("category_research_img_url")
|
|
|
- //if err != nil {
|
|
|
- // br.Msg = "获取数据失败"
|
|
|
- // br.ErrMsg = "获取数据研选分类图片失败,Err:" + err.Error()
|
|
|
- // return
|
|
|
- //}
|
|
|
- //researchList := strings.Split(detailResearch.ConfigValue, "{|}")
|
|
|
- ////对应分类的所图片
|
|
|
- //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 categoryId string
|
|
|
- //var imgUrlChart string
|
|
|
- //for _, v := range categoryUrlList {
|
|
|
- // vslice := strings.Split(v, "_")
|
|
|
- // categoryId = vslice[0]
|
|
|
- // imgUrlChart = vslice[len(vslice)-1]
|
|
|
- // mapCategoryUrl[categoryId] = imgUrlChart
|
|
|
- //}
|
|
|
- //
|
|
|
- //for k, v := range list {
|
|
|
- // item := list[k]
|
|
|
- // //如果文章一开始的内容是图片,优先展示第一张图片
|
|
|
- // imgurl, _ := services.FixArticleImgUrl(html.UnescapeString(list[k].Body))
|
|
|
- // newBody, _ := services.GetReportContentTextSubByarticle(item.Body, item.Abstract, item.ArticleId)
|
|
|
- // list[k].Body = newBody
|
|
|
- // if imgurl != "" {
|
|
|
- // list[k].BodyHtml = imgurl
|
|
|
- // }
|
|
|
- // list[k].PublishDate = utils.StrTimeToTime(item.PublishDate).Format(utils.FormatDateTimeNoSecond) //时间字符串格式转时间格式
|
|
|
- // if strings.Contains(item.CategoryName, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
- // list[k].IsResearch = true
|
|
|
- // }
|
|
|
- // if item.Pv > 999 {
|
|
|
- // list[k].Pv = 999
|
|
|
- // }
|
|
|
- // //如果是研选系列的任意取五张图片的中的一张
|
|
|
- // if v.CategoryId == "0" {
|
|
|
- // knum := v.ArticleId % 5
|
|
|
- // list[k].ImgUrlPc = researchList[knum]
|
|
|
- // } else {
|
|
|
- // list[k].ImgUrlPc = mapCategoryUrl[v.CategoryId]
|
|
|
- // }
|
|
|
- // if list[k].ArticleId < utils.SummaryArticleId {
|
|
|
- // list[k].HttpUrl = utils.StrategyPlatform + strconv.Itoa(v.ArticleId)
|
|
|
- // list[k].IsNeedJump = true
|
|
|
- // }
|
|
|
- // list[k].Source = 1
|
|
|
- //}
|
|
|
- //resp.List = list
|
|
|
+ userType, _, err := services.GetUserType(user.CompanyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取用户信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ condition = ` AND is_summary = 1 `
|
|
|
+ if chartPermissionId > 0 {
|
|
|
+ categoryId, err := models.GetCategoryId(chartPermissionId)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取分类权限信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ categoryinfo, err := models.GetChartPermissionById(chartPermissionId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if userType == 1 && strings.Contains(categoryinfo.PermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
+ resp.Paging = page
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+ return
|
|
|
+ }
|
|
|
+ page = paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+ if categoryId != "" {
|
|
|
+ condition += ` AND category_id IN(` + categoryId + `)`
|
|
|
+ //condition += ` OR ( category_name LIKE '%` + utils.CHART_PERMISSION_NAME_YANXUAN + `%' AND publish_status = 1 AND is_summary = 1 )`
|
|
|
+ } else {
|
|
|
+ condition += ` AND category_name LIKE '%` + utils.CHART_PERMISSION_NAME_YANXUAN + `%'`
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //永续客户无法查看研选分类的内容
|
|
|
+ if userType == 1 {
|
|
|
+ condition += ` AND category_name NOT LIKE '%` + utils.CHART_PERMISSION_NAME_YANXUAN + `%'`
|
|
|
+ }
|
|
|
+ total, err = models.GetHomeCount(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.Msg = "获取帖子总数失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ list, err := models.GetHomeList(condition, pars, startSize, pageSize)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.Msg = "获取帖子数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //研选的五张图片
|
|
|
+ detailResearch, err := models.GetConfigByCode("category_research_img_url")
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据失败"
|
|
|
+ br.ErrMsg = "获取数据研选分类图片失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ researchList := strings.Split(detailResearch.ConfigValue, "{|}")
|
|
|
+ //对应分类的所图片
|
|
|
+ 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 categoryId string
|
|
|
+ var imgUrlChart string
|
|
|
+ for _, v := range categoryUrlList {
|
|
|
+ vslice := strings.Split(v, "_")
|
|
|
+ categoryId = vslice[0]
|
|
|
+ imgUrlChart = vslice[len(vslice)-1]
|
|
|
+ mapCategoryUrl[categoryId] = imgUrlChart
|
|
|
+ }
|
|
|
+
|
|
|
+ for k, v := range list {
|
|
|
+ item := list[k]
|
|
|
+ //如果文章一开始的内容是图片,优先展示第一张图片
|
|
|
+ imgurl, _ := services.FixArticleImgUrl(html.UnescapeString(list[k].Body))
|
|
|
+ fmt.Println(item.Annotation)
|
|
|
+ newBody, _ := services.GetReportContentTextSubByarticle(item.Body, item.Annotation, item.ArticleId)
|
|
|
+ list[k].Annotation = newBody
|
|
|
+ list[k].Body = ""
|
|
|
+ if imgurl != "" {
|
|
|
+ list[k].BodyHtml = imgurl
|
|
|
+ }
|
|
|
+ list[k].PublishDate = utils.StrTimeToTime(item.PublishDate).Format(utils.FormatDateTimeNoSecond) //时间字符串格式转时间格式
|
|
|
+ if strings.Contains(item.CategoryName, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
+ list[k].IsResearch = true
|
|
|
+ }
|
|
|
+ if item.Pv > 999 {
|
|
|
+ list[k].Pv = 999
|
|
|
+ }
|
|
|
+ //如果是研选系列的任意取五张图片的中的一张
|
|
|
+ if v.CategoryId == "0" {
|
|
|
+ knum := v.ArticleId % 5
|
|
|
+ list[k].ImgUrlPc = researchList[knum]
|
|
|
+ } else {
|
|
|
+ list[k].ImgUrlPc = mapCategoryUrl[v.CategoryId]
|
|
|
+ }
|
|
|
+ if list[k].ArticleId < utils.SummaryArticleId {
|
|
|
+ list[k].HttpUrl = utils.StrategyPlatform + strconv.Itoa(v.ArticleId)
|
|
|
+ list[k].IsNeedJump = true
|
|
|
+ }
|
|
|
+ list[k].Source = 1
|
|
|
+ }
|
|
|
+ resp.List = list
|
|
|
}
|
|
|
if chartTotal > total {
|
|
|
total = chartTotal
|