|
@@ -2013,3 +2013,200 @@ func (this *ReportController) ResearchSummaryVoiceHistoryAdd() {
|
|
|
br.Msg = "操作成功"
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// @Title 根据行业分类获取行业文章列表
|
|
|
+// @Description 根据行业分类获取行业文章列表接口
|
|
|
+// @Param PageSize query int true "每页数据条数"
|
|
|
+// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
+// @Param CategoryId query int true "分类ID"
|
|
|
+// @Param IndustrialManagementId query int false "产业ID"
|
|
|
+// @Success 200 {object} models.TacticsListResp
|
|
|
+// @router /tactics/list [get]
|
|
|
+func (this *MobileReportController) TacticsList() {
|
|
|
+ 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
|
|
|
+ pageSize, _ := this.GetInt("PageSize")
|
|
|
+ currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+ categoryId, _ := this.GetInt("CategoryId")
|
|
|
+ industrialManagementId, _ := this.GetInt("IndustrialManagementId")
|
|
|
+
|
|
|
+ var startSize int
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+ startSize = paging.StartIndex(currentIndex, pageSize)
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ var total int
|
|
|
+ resp := new(models.TacticsListResp)
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+ list := make([]*models.ArticleListResp, 0)
|
|
|
+
|
|
|
+ if categoryId == utils.TIME_CATEGORYID {
|
|
|
+ var err error
|
|
|
+ list, total, err = models.GetTimeLineReportIndustrialList(industrialManagementId, startSize, pageSize)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取产业报告+晨会点评列表,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //获取该产业下所对应的行业图片
|
|
|
+ var reportType int
|
|
|
+ if industrialManagementId > 0 {
|
|
|
+ reportType = 2
|
|
|
+ } else {
|
|
|
+ reportType = 1
|
|
|
+ }
|
|
|
+ detail, errCategory := models.GetdetailByCategoryIdOne(categoryId, reportType)
|
|
|
+ if errCategory != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + errCategory.Error() + "categoryID 不存在:" + strconv.Itoa(categoryId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //对应行业的图片
|
|
|
+ detailChartPermissionUrl, err := models.GetConfigByCode("category_chart_permissionimg_url")
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据失败"
|
|
|
+ br.ErrMsg = "行业配置信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ chartPermissionUrlList := strings.Split(detailChartPermissionUrl.ConfigValue, "{|}")
|
|
|
+ mapChartPermission := make(map[string]string)
|
|
|
+ var permissionName string
|
|
|
+ var imgUrlChartPermission string
|
|
|
+ for _, v := range chartPermissionUrlList {
|
|
|
+ vslice := strings.Split(v, "_")
|
|
|
+ permissionName = vslice[0]
|
|
|
+ imgUrlChartPermission = vslice[len(vslice)-1]
|
|
|
+ mapChartPermission[permissionName] = imgUrlChartPermission
|
|
|
+ }
|
|
|
+
|
|
|
+ //对应分类的所图片
|
|
|
+ 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 categoryIdStr string
|
|
|
+ var imgUrlChart string
|
|
|
+ for _, v := range categoryUrlList {
|
|
|
+ vslice := strings.Split(v, "_")
|
|
|
+ categoryIdStr = vslice[0]
|
|
|
+ imgUrlChart = vslice[len(vslice)-1]
|
|
|
+ mapCategoryUrl[categoryIdStr] = imgUrlChart
|
|
|
+ }
|
|
|
+ if detail.CeLueFieldId != "" {
|
|
|
+ condition = ` AND ce_lue_field_id IN(` + detail.CeLueFieldId + `)`
|
|
|
+ } else if detail.PolymerizationId != "" {
|
|
|
+ condition = ` AND category_id IN(` + detail.PolymerizationId + `)`
|
|
|
+ } else {
|
|
|
+ categoryIdSet, errCategory := models.GetdetailByCategoryIdSet(categoryId)
|
|
|
+ if errCategory != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + errCategory.Error() + "categoryID 不存在:" + strconv.Itoa(categoryId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if categoryIdSet != "" {
|
|
|
+ condition = ` AND category_id IN(` + categoryIdSet + `)`
|
|
|
+ } else {
|
|
|
+ condition = ` AND category_id IN(` + strconv.Itoa(categoryId) + `)`
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if industrialManagementId > 0 {
|
|
|
+ industrialManageentList, err := models.GetIndustrialArticleGroupManagementByIndustrialManagementId(industrialManagementId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.Msg = "获取产业关联的文章ID失败,GetIndustrialArticleGroupManagementByIndustrialManagementIdErr:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ articleIdList := make([]string, 0)
|
|
|
+ for _, v := range industrialManageentList {
|
|
|
+ articleIdList = append(articleIdList, strconv.Itoa(v.ArticleId))
|
|
|
+ }
|
|
|
+ condition += ` AND a.article_id IN ( ` + utils.GetOrmInReplace(len(articleIdList)) + ` ) `
|
|
|
+ pars = append(pars, articleIdList)
|
|
|
+ }
|
|
|
+
|
|
|
+ total, err = models.GetHomeCount(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.Msg = "获取帖子总数失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ list, err = models.GetHomeListNew(condition, pars, startSize, pageSize)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.Msg = "获取帖子数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ articleIdMap, err := services.GetUserArticleHistoryRecord(user)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.Msg = "获取帖子数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range list {
|
|
|
+ list[k].ImgUrlPc = mapCategoryUrl[v.CategoryId]
|
|
|
+ if !articleIdMap[v.ArticleId] && user.CreatedTime.Before(utils.StrTimeToTime(v.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(v.PublishDate)) {
|
|
|
+ list[k].IsRed = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if categoryId > 0 {
|
|
|
+ detail, errCategory := models.GetdetailByCategoryId(categoryId)
|
|
|
+ if errCategory != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + errCategory.Error() + "categoryID 不存在:" + strconv.Itoa(categoryId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp.MatchTypeName = detail.MatchTypeName
|
|
|
+ }
|
|
|
+ resp.CategoryImgUrlPc = mapChartPermission[detail.ChartPermissionName]
|
|
|
+ }
|
|
|
+
|
|
|
+ listPublic, err := services.HandleArticleCategoryImg(list, user)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取报告封面图片失败, Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ listResp := make([]*models.HomeArticle, 0)
|
|
|
+ for _, v := range listPublic {
|
|
|
+ listResp = append(listResp, &models.HomeArticle{
|
|
|
+ ArticleId: v.ArticleId,
|
|
|
+ Title: v.Title,
|
|
|
+ Annotation: "核心观点:" + v.Annotation,
|
|
|
+ Abstract: v.Abstract,
|
|
|
+ ImgUrlPc: v.ImgUrlPc,
|
|
|
+ PublishDate: v.PublishDate,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if len(listResp) == 0 {
|
|
|
+ listResp = make([]*models.HomeArticle, 0)
|
|
|
+ }
|
|
|
+ page = paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+ resp.List = listResp
|
|
|
+ resp.Paging = page
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|