123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317 |
- package pc
- import (
- "github.com/gin-gonic/gin"
- "hongze/hongze_yb/controller/response"
- pcModels "hongze/hongze_yb/models/response/pc"
- "hongze/hongze_yb/models/tables/customer_comment"
- "hongze/hongze_yb/models/tables/rddp/classify"
- "hongze/hongze_yb/models/tables/rddp/report"
- "hongze/hongze_yb/models/tables/rddp/report_chapter"
- "hongze/hongze_yb/models/tables/yb_activity"
- "hongze/hongze_yb/models/tables/yb_pc_suncode"
- "hongze/hongze_yb/services"
- "hongze/hongze_yb/services/pc"
- userService "hongze/hongze_yb/services/user"
- "hongze/hongze_yb/utils"
- "strconv"
- )
- // LatestNews 研报首页最新资讯
- func LatestNews(c *gin.Context) {
- reqChartPermissionId := c.DefaultQuery("chart_permission_id", "")
- 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 := pc.GetLatestReportList(userinfo, chartPermissionId)
- if err != nil {
- response.Fail("获取报告失败", c)
- return
- }
- //recommendList, err := pcModels.GetLatestReportList()
- //if err != nil {
- // response.Fail("获取报告详情失败"+err.Error(), c)
- // return
- //}
- response.OkData("查询成功", list, c)
- return
- }
- // Banner 上新公告banner图
- func Banner(c *gin.Context) {
- var resp pcModels.LatestReleaseResp
- activityItem, err := yb_activity.GetLatestActivity()
- if err != nil {
- response.Fail(err.Error(), c)
- return
- }
- reportItem, err := report.GetLatestReport()
- if err != nil {
- response.Fail(err.Error(), c)
- return
- }
- if activityItem.CreateTime.Before(reportItem.PublishTime) {
- resp.ActivityOrReport = 0
- resp.Activity = activityItem
- resp.ImgUrl = "https://hongze.oss-accelerate.aliyuncs.com/static/images/202101/20210115/3HJfHLehkVwv0Rxl4Wz747i3aqx8.png"
- } else {
- resp.ActivityOrReport = 1
- resp.ReportId = reportItem.Id
- resp.ImgUrl = "https://hongze.oss-accelerate.aliyuncs.com/static/images/202101/20210115/3HJfHLehkVwv0Rxl4Wz747i3aqx8.png"
- }
- response.OkData("查询成功", resp, c)
- return
- }
- // LatestRelease 上新公告
- func LatestRelease(c *gin.Context) {
- classifyIdString := c.DefaultQuery("ClassifyId", "")
- if classifyIdString == "" {
- response.Fail("请输入classifyId", c)
- return
- }
- classifyId, err := strconv.Atoi(classifyIdString)
- if err != nil {
- response.Fail("请输入正确classifyId", c)
- return
- }
- classifyInfo, err := classify.GetByClassifyId(classifyId)
- if err != nil {
- response.Fail("分类查询出错", c)
- return
- }
- response.OkData("查询成功", classifyInfo, c)
- return
- }
- // ClassifyDetail 专栏详情
- func ClassifyDetail(c *gin.Context) {
- reqClassifyIdSecond := c.DefaultQuery("classify_id_second", "")
- if reqClassifyIdSecond == "" {
- response.Fail("请输入二级分类标识", c)
- return
- }
- classifyIdSecond, err := strconv.Atoi(reqClassifyIdSecond)
- if err != nil {
- response.Fail("请输入正确的二级分类标识", c)
- return
- }
- userinfo := userService.GetInfoByClaims(c)
- detail, err := pc.GetClassifyDetail(userinfo, classifyIdSecond)
- if err != nil {
- response.Fail(err.Error(), c)
- return
- }
- response.OkData("查询成功", detail, c)
- return
- }
- // ClassifyDetailBanner 专栏详情banner图
- func ClassifyDetailBanner(c *gin.Context) {
- reqReportId := c.DefaultQuery("reportId", "")
- classifyName := c.DefaultQuery("classify_name_first", "")
- if reqReportId == "" {
- response.Fail("请输入二级分类标识", c)
- return
- }
- reportId, err := strconv.Atoi(reqReportId)
- if err != nil {
- response.Fail("报告ID格式有误", c)
- return
- }
- var bannerResp *pcModels.DetailBannerResp
- if classifyName == "周报" || classifyName == "晨报" {
- chapterItem, err := report_chapter.GetLatestChapterByClassifyName(classifyName)
- if err != nil {
- response.Fail("查询最新一期晨周报失败"+err.Error(), c)
- return
- }
- resp := &pcModels.DetailBannerResp{
- ReportId: chapterItem.ReportId,
- Stage: chapterItem.Stage,
- ImgUrl: "",
- }
- bannerResp = resp
- } else {
- reportInfo, err := report.GetByReportId(reportId)
- if err != nil {
- response.Fail("报告查询出错", c)
- return
- }
- if reportInfo.Id == 0 {
- response.Fail("报告不存在", c)
- return
- }
- if reportInfo.State != 2 {
- response.Fail("报告未发布", c)
- return
- }
- reportItem, err := report.GetLatestReportByClassifyName(classifyName)
- if err != nil {
- response.Fail("获取报告详情失败"+err.Error(), c)
- return
- }
- resp := &pcModels.DetailBannerResp{
- ReportId: reportItem.ReportId,
- Stage: reportItem.Stage,
- ImgUrl: "",
- }
- bannerResp = resp
- }
- response.OkData("查询成功", bannerResp, c)
- return
- }
- // Recommend 报告详情页更多推荐
- func Recommend(c *gin.Context) {
- reqReportId := c.DefaultQuery("reportId", "")
- classifyName := c.DefaultQuery("classify_name_first", "")
- if reqReportId == "" {
- response.Fail("请输入二级分类标识", c)
- return
- }
- reportId, err := strconv.Atoi(reqReportId)
- if err != nil {
- response.Fail("报告ID格式有误", c)
- return
- }
- var recommendResp []*pcModels.RecommendResp
- if classifyName == "周报" || classifyName == "晨报" {
- recommendList, err := report_chapter.GetWeekRecommendList(reportId, classifyName)
- if err != nil {
- response.Fail("获取报告详情失败"+err.Error(), c)
- return
- }
- for _, chapter := range recommendList {
- resp := &pcModels.RecommendResp{
- ReportId: chapter.ReportId,
- ReportChapterID: chapter.ReportChapterId,
- Title: chapter.Title,
- Stage: chapter.Stage,
- ClassifyNameFirst: chapter.ClassifyNameFirst,
- ClassifySecondFirst: "",
- }
- recommendResp = append(recommendResp, resp)
- }
- } else {
- reportInfo, err := report.GetByReportId(reportId)
- if err != nil {
- response.Fail("报告查询出错", c)
- return
- }
- if reportInfo.Id == 0 {
- response.Fail("报告不存在", c)
- return
- }
- if reportInfo.State != 2 {
- response.Fail("报告未发布", c)
- return
- }
- reportType := 0
- if reportInfo.ClassifyNameFirst == "权益研报" {
- reportType = 1
- } else {
- reportType = 2
- }
- recommendList, err := pcModels.GetRecommendList(reportId, reportType, reportInfo.ClassifyIdSecond)
- if err != nil {
- response.Fail("获取报告详情失败"+err.Error(), c)
- return
- }
- for _, chapter := range recommendList {
- resp := &pcModels.RecommendResp{
- ReportId: chapter.Id,
- ReportChapterID: 0,
- Title: chapter.Title,
- Stage: chapter.Stage,
- ClassifyNameFirst: chapter.ClassifyNameFirst,
- ClassifySecondFirst: chapter.ClassifyNameSecond,
- }
- recommendResp = append(recommendResp, resp)
- }
- }
- response.OkData("查询成功", recommendResp, c)
- return
- }
- // ClassifyFirstList Ficc 菜单
- func ClassifyFirstList(c *gin.Context) {
- userinfo := userService.GetInfoByClaims(c)
- classList, err := pc.GetClassifyFirstList(userinfo)
- if err != nil {
- response.Fail(err.Error(), c)
- return
- }
- response.OkData("查询成功", classList, c)
- return
- }
- // CustomerComment 客户评价
- func CustomerComment(c *gin.Context) {
- lists, err := customer_comment.GetCustomerComment()
- if err != nil {
- response.Fail(err.Error(), c)
- return
- }
- response.OkData("查询成功", lists, c)
- return
- }
- // GetSunCode 获取太阳码
- // @Tags 公共模块
- // @Summary 获取分享海报
- // @Description 获取分享海报
- // @Param request body services.SunCodeReq true "type json string"
- // @Success 200 {object} string "获取成功"
- // @failure 400 {string} string "获取失败"
- // @Router /pc/getSunCode [post]
- func GetSunCode(c *gin.Context) {
- var req services.SunCodeReq
- if c.ShouldBind(&req) != nil {
- response.Fail("参数异常", c)
- return
- }
- var sunCodeUrl string
- //先查,查不到再去生成上传
- item, err := yb_pc_suncode.GetYbPcSunCode(req.CodeScene, req.CodePage)
- sunCodeUrl = item.SuncodeURL
- if err != nil && err != utils.ErrNoRow {
- response.Fail(err.Error(), c)
- return
- }
- if sunCodeUrl == "" {
- sunCodeUrl, err = services.PcCreateAndUploadSunCode(req.CodeScene, req.CodePage)
- if err != nil {
- response.Fail(err.Error(), c)
- return
- }
- }
- response.OkData("查询成功", sunCodeUrl, c)
- return
- }
|