package report import ( "github.com/gin-gonic/gin" "hongze/hongze_yb/controller/response" "hongze/hongze_yb/services/report" userService "hongze/hongze_yb/services/user" "hongze/hongze_yb/utils" "strconv" ) // Detail 报告详情 func Detail(c *gin.Context) { reqReportId := c.DefaultQuery("report_id", "") if reqReportId == ""{ response.Fail("请输入报告ID", c) return } reportId, err := strconv.Atoi(reqReportId) if err != nil { response.Fail("报告ID格式有误", c) return } userinfo := userService.GetInfoByClaims(c) reportDetail, err := report.GetReportDetail(userinfo, reportId) if err != nil { response.Fail(err.Error(), c) return } response.OkData("查询成功", reportDetail, c ) return } // ChapterDetail 章节详情 func ChapterDetail(c *gin.Context) { reqReportChapterId := c.DefaultQuery("report_chapter_id", "") if reqReportChapterId == ""{ response.Fail("请输入章节ID", c) return } reportChapterId, err := strconv.Atoi(reqReportChapterId) if err != nil { response.Fail("章节ID格式有误", c) return } userinfo := userService.GetInfoByClaims(c) chapterDetail, err := report.GetChapterDetail(userinfo, reportChapterId) if err != nil { response.Fail(err.Error(), c) return } response.OkData("查询成功", chapterDetail, c ) return } // List 研报列表 func List(c *gin.Context) { reqClassifyIdFirst := c.DefaultQuery("classify_id_first", "") reqClassifyIdSec := c.DefaultQuery("classify_id_second", "") keyWord:= c.DefaultQuery("key_word", "") reqPageIndex := c.DefaultQuery("current_index", "1") reqPageSize := c.DefaultQuery("page_size", strconv.Itoa(utils.PageSize20)) pageIndex, err := strconv.Atoi(reqPageIndex) if err != nil { response.Fail("请输入正确的条数限制", c) return } pageSize, err := strconv.Atoi(reqPageSize) if err != nil { response.Fail("请输入正确的页码", c) return } if reqClassifyIdFirst == ""{ response.Fail("请输入分类ID", c) return } classifyIdFirst, err := strconv.Atoi(reqClassifyIdFirst) if err != nil { response.Fail("分类ID格式错误", c) return } var classifyIdSecond int if reqClassifyIdSec != ""{ classifyIdSecond, err = strconv.Atoi(reqClassifyIdSec) if err != nil { response.Fail("分类ID格式错误", c) return } } userinfo := userService.GetInfoByClaims(c) list, err := report.GetReportList(userinfo, keyWord, classifyIdFirst, classifyIdSecond, pageIndex, pageSize) if err != nil { response.Fail(err.Error(), c) return } response.OkData("查询成功", list, c ) return } // CollectReportList 首页研报汇总 func CollectReportList(c *gin.Context) { reqChartPermissionId := c.DefaultQuery("chart_permission_id", "") reqPageIndex := c.DefaultQuery("current_index", "1") reqPageSize := c.DefaultQuery("page_size", strconv.Itoa(utils.PageSize20)) pageIndex, err := strconv.Atoi(reqPageIndex) if err != nil { response.Fail("请输入正确的条数限制", c) return } pageSize, err := strconv.Atoi(reqPageSize) if err != nil { response.Fail("请输入正确的页码", c) return } if reqChartPermissionId == ""{ response.Fail("请输入权限ID", c) return } chartPermissionId, err := strconv.Atoi(reqChartPermissionId) if err != nil { response.Fail("权限ID格式错误", c) return } userinfo := userService.GetInfoByClaims(c) list, err := report.GetCollectReportList(userinfo, chartPermissionId, pageIndex, pageSize) if err != nil { response.Fail(err.Error(), c) return } response.OkData("查询成功", list, c ) return } // Search 首页研报搜索 func Search(c *gin.Context) { keyWord := c.DefaultQuery("key_word", "") reqPageIndex := c.DefaultQuery("current_index", "1") reqPageSize := c.DefaultQuery("page_size", strconv.Itoa(utils.PageSize20)) pageIndex, err := strconv.Atoi(reqPageIndex) if err != nil { response.Fail("请输入正确的条数限制", c) return } pageSize, err := strconv.Atoi(reqPageSize) if err != nil { response.Fail("请输入正确的页码", c) return } if keyWord == ""{ response.Fail("请输入搜索词", c) return } userinfo := userService.GetInfoByClaims(c) data, err := report.SearchReport(userinfo, keyWord, pageIndex, pageSize) if err != nil { response.Fail(err.Error(), c) return } response.OkData("查询成功", data, c) return } // TickerData 报告详情获取指标数据 func TickerData(c *gin.Context) { reqReportChapterId := c.DefaultQuery("report_chapter_id", "") if reqReportChapterId == ""{ response.Fail("请输入章节ID", c) return } reportChapterId, err := strconv.Atoi(reqReportChapterId) if err != nil { response.Fail("章节ID格式有误", c) return } userinfo := userService.GetInfoByClaims(c) chapterDetail, err := report.GetTickerData(userinfo, reportChapterId) if err != nil { response.Fail(err.Error(), c) return } response.OkData("查询成功", chapterDetail, c ) return }