|
@@ -2,6 +2,7 @@ package controllers
|
|
|
|
|
|
import (
|
|
import (
|
|
"errors"
|
|
"errors"
|
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
"hongze/hongze_api/models"
|
|
"hongze/hongze_api/models"
|
|
"hongze/hongze_api/services/alarm_msg"
|
|
"hongze/hongze_api/services/alarm_msg"
|
|
"hongze/hongze_api/utils"
|
|
"hongze/hongze_api/utils"
|
|
@@ -14,6 +15,10 @@ type EnglishReportShareController struct {
|
|
BaseCommonController
|
|
BaseCommonController
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+type EnglishReportController struct {
|
|
|
|
+ BaseCommonController
|
|
|
|
+}
|
|
|
|
+
|
|
// @Title 英文研报-分享详情
|
|
// @Title 英文研报-分享详情
|
|
// @Description 英文研报-分享详情
|
|
// @Description 英文研报-分享详情
|
|
// @Param ReportCode query string true "报告唯一编码"
|
|
// @Param ReportCode query string true "报告唯一编码"
|
|
@@ -103,3 +108,160 @@ func (this *EnglishReportShareController) EnglishReportDetail() {
|
|
br.Msg = "获取成功"
|
|
br.Msg = "获取成功"
|
|
br.Data = resp
|
|
br.Data = resp
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// @Title 获取分类列表
|
|
|
|
+// @Description 获取分类列表
|
|
|
|
+// @Param PageSize query int true "每页数据条数"
|
|
|
|
+// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
|
+// @Param KeyWord query string true "检索关键词"
|
|
|
|
+// @Param CompanyType query string false "产品类型,枚举值:'ficc','权益';不传默认返回全部"
|
|
|
|
+// @Success 200 {object} models.EnglishClassifyListResp
|
|
|
|
+// @router /classify [get]
|
|
|
|
+func (this *EnglishReportController) Classify() {
|
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
|
+ defer func() {
|
|
|
|
+ this.Data["json"] = br
|
|
|
|
+ this.ServeJSON()
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ parentList, err := models.GetParentEnglishClassify()
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "获取一级分类失败"
|
|
|
|
+ br.ErrMsg = "获取一级分类失败,Err:" + err.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ childList, err := models.GetChildEnglishClassify()
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "获取二级分类失败"
|
|
|
|
+ br.ErrMsg = "获取二级分类失败,Err:" + err.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ parentMap := make(map[int][]*models.EnglishClassify, 0)
|
|
|
|
+ for _, v := range childList {
|
|
|
|
+ parentMap[v.ParentId] = append(parentMap[v.ParentId], v)
|
|
|
|
+ }
|
|
|
|
+ list := make([]*models.EnglishClassifyList, 0)
|
|
|
|
+ for _, v := range parentList {
|
|
|
|
+ tmp := &models.EnglishClassifyList{
|
|
|
|
+ Id: v.Id,
|
|
|
|
+ ClassifyName: v.ClassifyName,
|
|
|
|
+ Sort: v.Sort,
|
|
|
|
+ ParentId: v.ParentId,
|
|
|
|
+ CreateTime: v.CreateTime.Format(utils.FormatDateTime),
|
|
|
|
+ ModifyTime: v.ModifyTime.Format(utils.FormatDateTime),
|
|
|
|
+ ClassifyLabel: v.ClassifyLabel,
|
|
|
|
+ ShowType: v.ShowType,
|
|
|
|
+ IsShow: v.IsShow,
|
|
|
|
+ }
|
|
|
|
+ if child, ok := parentMap[v.Id]; ok {
|
|
|
|
+ tmp.Child = child
|
|
|
|
+ }
|
|
|
|
+ list = append(list, tmp)
|
|
|
|
+ }
|
|
|
|
+ resp := new(models.EnglishClassifyListResp)
|
|
|
|
+ resp.List = list
|
|
|
|
+
|
|
|
|
+ br.Data = resp
|
|
|
|
+ br.Ret = 200
|
|
|
|
+ br.Success = true
|
|
|
|
+ br.Msg = "获取成功"
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// @Title 获取报告列表接口
|
|
|
|
+// @Description 获取报告列表
|
|
|
|
+// @Param PageSize query int true "每页数据条数"
|
|
|
|
+// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
|
+// @Param StartDate query string true "开始时间"
|
|
|
|
+// @Param EndDate query string true "结束时间"
|
|
|
|
+// @Param Frequency query string true "频度"
|
|
|
|
+// @Param ClassifyNameFirst query string true "一级分类名称"
|
|
|
|
+// @Param ClassifyNameSecond query string true "二级分类名称"
|
|
|
|
+// @Param State query int true "状态"
|
|
|
|
+// @Param KeyWord query string true "搜索关键词"
|
|
|
|
+// @Param PublishSort query string true "desc:降序,asc 升序(预留)"
|
|
|
|
+// @Param CompanyType query string false "产品类型,枚举值:'ficc','权益';不传默认返回全部"
|
|
|
|
+// @Success 200 {object} models.ReportListResp
|
|
|
|
+// @router /list [get]
|
|
|
|
+func (this *EnglishReportController) ListReport() {
|
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
|
+ defer func() {
|
|
|
|
+ this.Data["json"] = br
|
|
|
|
+ this.ServeJSON()
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ pageSize, _ := this.GetInt("PageSize")
|
|
|
|
+ currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
|
+ classifyNameFirst := this.GetString("ClassifyNameFirst")
|
|
|
|
+ classifyNameSecond := this.GetString("ClassifyNameSecond")
|
|
|
|
+
|
|
|
|
+ var startSize int
|
|
|
|
+ if pageSize <= 0 {
|
|
|
|
+ pageSize = utils.PageSize20
|
|
|
|
+ }
|
|
|
|
+ if currentIndex <= 0 {
|
|
|
|
+ currentIndex = 1
|
|
|
|
+ }
|
|
|
|
+ startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
|
+
|
|
|
|
+ var condition string
|
|
|
|
+ var pars []interface{}
|
|
|
|
+
|
|
|
|
+ if classifyNameFirst != "" {
|
|
|
|
+ condition += ` AND classify_name_first = ? `
|
|
|
|
+ pars = append(pars, classifyNameFirst)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if classifyNameSecond != "" {
|
|
|
|
+ condition += ` AND classify_name_second = ? `
|
|
|
|
+ pars = append(pars, classifyNameSecond)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ total, err := models.GetEnglishReportListCount(condition, pars)
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "获取失败"
|
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ detailList, err := models.GetEnglishReportList(condition, pars, startSize, pageSize)
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "获取失败"
|
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ list := make([]*models.EnglishReportList, 0)
|
|
|
|
+ for _, v := range detailList {
|
|
|
|
+ tmp := &models.EnglishReportList{
|
|
|
|
+ Id: v.Id,
|
|
|
|
+ AddType: v.AddType,
|
|
|
|
+ ClassifyIdFirst: v.ClassifyIdFirst,
|
|
|
|
+ ClassifyNameFirst: v.ClassifyNameFirst,
|
|
|
|
+ ClassifyIdSecond: v.ClassifyIdSecond,
|
|
|
|
+ ClassifyNameSecond: v.ClassifyNameSecond,
|
|
|
|
+ Title: v.Title,
|
|
|
|
+ Abstract: v.Abstract,
|
|
|
|
+ Author: v.Author,
|
|
|
|
+ Frequency: v.Frequency,
|
|
|
|
+ CreateTime: v.CreateTime,
|
|
|
|
+ ModifyTime: v.ModifyTime,
|
|
|
|
+ PublishTime: v.PublishTime,
|
|
|
|
+ Stage: v.Stage,
|
|
|
|
+ VideoUrl: v.VideoUrl,
|
|
|
|
+ VideoName: v.VideoName,
|
|
|
|
+ VideoPlaySeconds: v.VideoPlaySeconds,
|
|
|
|
+ ReportCode: v.ReportCode,
|
|
|
|
+ }
|
|
|
|
+ if v.State == 2 {
|
|
|
|
+ tmp.ShareUrl = "https://share.hzinsights.com/reportEn?code=" + v.ReportCode
|
|
|
|
+ }
|
|
|
|
+ list = append(list, tmp)
|
|
|
|
+ }
|
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
|
+ resp := new(models.EnglishReportListResp)
|
|
|
|
+ resp.Paging = page
|
|
|
|
+ resp.List = list
|
|
|
|
+ br.Ret = 200
|
|
|
|
+ br.Success = true
|
|
|
|
+ br.Msg = "获取成功"
|
|
|
|
+ br.Data = resp
|
|
|
|
+}
|
|
|
|
+
|