123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- package controllers
- import (
- "hongze/hongze_cygx/models"
- "strconv"
- )
- //研选
- type ResearchController struct {
- BaseAuthController
- }
- // @Title 近期更新主题列表
- // @Description 近期更新主题列表接口
- // @Param ChartPermissionId query int true "分类ID"
- // @Success 200 {object} models.IndustrialManagementNewList
- // @router /theme/newList [get]
- func (this *ResearchController) NewList() {
- 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
- }
- chartPermissionId, _ := this.GetInt("ChartPermissionId")
- if chartPermissionId < 1 {
- br.Msg = "请输入分类ID"
- return
- }
- categoryinfo, err := models.GetChartPermissionById(chartPermissionId)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
- return
- }
- list, err := models.GetIndustrialManagementNewList(categoryinfo.PermissionName)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
- return
- }
- detailHot3, err := models.GetIndustrialManagementHot3(chartPermissionId)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
- return
- }
- for k, v := range list {
- if v.ArticleReadNum >= detailHot3.ArticleReadNum {
- list[k].IsHot = true
- }
- }
- resp := new(models.IndustrialManagementNewList)
- resp.List = list
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = resp
- }
- // @Title 用户收藏列表
- // @Description 用户收藏列表接口
- // @Param ChartPermissionId query int true "分类ID"
- // @Success 200 {object} models.ArticleCollectionLIstResp
- // @router /collectionList [get]
- func (this *ResearchController) CollectionList() {
- 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
- }
- chartPermissionId, _ := this.GetInt("ChartPermissionId")
- if chartPermissionId < 1 {
- br.Msg = "请输入分类ID"
- return
- }
- categoryinfo, err := models.GetChartPermissionById(chartPermissionId)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
- return
- }
- list, err := models.GetArticleCollectionList(categoryinfo.PermissionName)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
- return
- }
- resp := new(models.ArticleCollectionLIstResp)
- resp.List = list
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = resp
- }
- // @Title 主题热度/近期更新,列表
- // @Description 主题热度列表接口
- // @Param ChartPermissionId query int true "分类ID"
- // @Param ThemeType query int true "主题类型,1主题热度、2近期更新 默认1"
- // @Success 200 {object} models.IndustrialManagementHotListResp
- // @router /hotList [get]
- func (this *ResearchController) HotList() {
- 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
- }
- chartPermissionId, _ := this.GetInt("ChartPermissionId")
- themeType, _ := this.GetInt("ThemeType")
- if chartPermissionId < 1 {
- br.Msg = "请输入分类ID"
- return
- }
- var condition string
- if themeType != 2 {
- themeType = 1
- condition = `ORDER BY sum_num DESC LIMIT 15`
- } else {
- condition = `ORDER BY publish_date DESC LIMIT 30`
- }
- categoryinfo, err := models.GetChartPermissionById(chartPermissionId)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
- return
- }
- list, err := models.GetThemeHeatList(categoryinfo.PermissionName, user.UserId, condition)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
- return
- }
- newMap := make(map[int]string)
- listNew, err := models.GetIndustrialManagementNewList(categoryinfo.PermissionName)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取产业最新信息失败,Err:" + err.Error()
- return
- }
- for _, v := range listNew {
- newMap[v.IndustrialManagementId] = v.IndustryName
- }
- listSubjcet, err := models.GetThemeHeatSubjectList(categoryinfo.PermissionName)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取标的信息失败,Err:" + err.Error()
- return
- }
- detailHot3, err := models.GetIndustrialManagementHot3(chartPermissionId)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
- return
- }
- for k, v := range list {
- if newMap[v.IndustrialManagementId] != "" {
- list[k].IsNew = true
- }
- if v.FllowNum > 0 {
- list[k].IsFollw = true
- }
- for _, v2 := range listSubjcet {
- if v2.IndustrialManagementId == v.IndustrialManagementId {
- list[k].IndustrialSubjectList = append(list[k].IndustrialSubjectList, v2)
- }
- }
- if v.ArticleReadNum >= detailHot3.ArticleReadNum {
- list[k].IsHot = true
- }
- }
- resp := new(models.IndustrialManagementHotListResp)
- resp.List = list
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = resp
- }
- // @Title KOL榜列表
- // @Description KOL榜列表接口
- // @Param ChartPermissionId query int true "分类ID"
- // @Success 200 {object} models.IndustrialManagementHotListResp
- // @router /kolList [get]
- func (this *ResearchController) KolList() {
- 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
- }
- chartPermissionId, _ := this.GetInt("ChartPermissionId")
- if chartPermissionId < 1 {
- br.Msg = "请输入分类ID"
- return
- }
- categoryinfo, err := models.GetChartPermissionById(chartPermissionId)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
- return
- }
- list, err := models.GetDepartmentList(categoryinfo.PermissionName, user.UserId)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
- return
- }
- listIndustrial, err := models.GetIndustrialDepartmentList(categoryinfo.PermissionName)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
- return
- }
- departmentMap := make(map[string]string)
- for k, v := range list {
- if v.FllowNum > 0 {
- list[k].IsFollw = true
- }
- for _, v2 := range listIndustrial {
- if v2.DepartmentId == v.DepartmentId {
- if departmentMap["D"+strconv.Itoa(v2.DepartmentId)+"In"+strconv.Itoa(v2.IndustrialManagementId)] == "" && len(list[k].List) < 4 {
- list[k].List = append(list[k].List, v2)
- departmentMap["D"+strconv.Itoa(v2.DepartmentId)+"In"+strconv.Itoa(v2.IndustrialManagementId)] = v.NickName
- }
- }
- }
- }
- resp := new(models.DepartmentListResp)
- resp.List = list
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = resp
- }
- // @Title 主题详情
- // @Description 主题详情接口
- // @Param IndustrialManagementId query int true "分类ID"
- // @Success 200 {object} models.IndustrialManagementNewList
- // @router /theme/detail [get]
- func (this *ResearchController) ThemeDetail() {
- 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
- }
- chartPermissionId, _ := this.GetInt("IndustrialManagementId")
- if chartPermissionId < 1 {
- br.Msg = "请输入分类ID"
- return
- }
- categoryinfo, err := models.GetChartPermissionById(chartPermissionId)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
- return
- }
- list, err := models.GetIndustrialManagementNewList(categoryinfo.PermissionName)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
- return
- }
- detailHot3, err := models.GetIndustrialManagementHot3(chartPermissionId)
- if err != nil {
- br.Msg = "获取信息失败"
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
- return
- }
- for k, v := range list {
- if v.ArticleReadNum >= detailHot3.ArticleReadNum {
- list[k].IsHot = true
- }
- }
- resp := new(models.IndustrialManagementNewList)
- resp.List = list
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- br.Data = resp
- }
|