瀏覽代碼

add:兼容pdf报告筛选和详情

zqbao 4 月之前
父節點
當前提交
547eb74e54
共有 5 個文件被更改,包括 87 次插入24 次删除
  1. 9 0
      controllers/chart_permission.go
  2. 69 20
      controllers/report.go
  3. 1 1
      models/response/report.go
  4. 2 2
      services/report.go
  5. 6 1
      utils/config.go

+ 9 - 0
controllers/chart_permission.go

@@ -188,6 +188,15 @@ func (this *ChartPermissionNoAuthController) List() {
 		})
 
 	}
+	if id > 0 {
+		chartPermissionList = append(chartPermissionList, &models.ChartPermissionView{
+			ChartPermissionId:   -1,
+			PermissionName:      utils.ZC_CUSTOM_PERMISSION_NAME,
+			Remark:              "",
+			ImageUrl:            "",
+			ChartPermissionType: utils.PermissionTypeMini,
+		})
+	}
 
 	br.Ret = 200
 	br.Data = chartPermissionList

+ 69 - 20
controllers/report.go

@@ -762,6 +762,7 @@ func (this *ReportController) Search() {
 // @Param   PageSize   query   int  true       "每页数据条数"
 // @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
 // @Param   RangeType   query   string  true       "范围类型,1-一天内,2-一周内,3-半年内"
+// @Param   ReportType   query   string  true       "报告类型,1-eta报告,2-pdf报告"
 // @Param   ClassifyId   query   int  true       "分类id"
 // @Success 200 {object} response.ReportList
 // @router /list [get]
@@ -777,8 +778,21 @@ func (this *ReportNoAuthController) List() {
 	chartPermissionId, _ := this.GetInt("ChartPermissionId")
 	level, _ := this.GetInt("Level")
 	rangeType, _ := this.GetInt("RangeType")
+	reportType, _ := this.GetInt("ReportType")
 	classifyId, _ := this.GetInt("ClassifyId")
-	reports, err := services.GetNoAuthReportList(chartPermissionId, level, rangeType, classifyId, currentIndex, pageSize)
+	switch rangeType {
+	case 1, 2, 3:
+	default:
+		br.Msg = "查询失败"
+		return
+	}
+	switch reportType {
+	case utils.ReportTypeEta, utils.ReportTypePdf:
+	default:
+		br.Msg = "报告不存在"
+		return
+	}
+	reports, err := services.GetNoAuthReportList(reportType, chartPermissionId, level, rangeType, classifyId, currentIndex, pageSize)
 	if err != nil {
 		br.Msg = "研报列表查询失败"
 		br.ErrMsg = "研报列表查询失败,系统异常,Err:" + err.Error()
@@ -799,6 +813,7 @@ func (this *ReportNoAuthController) List() {
 // @Title 研报详情
 // @Description 研报详情接口
 // @Param   ReportId   query   int  true       "报告id"
+// @Param   ReportType   query   int  true       "报告类型:1-eta,2-pdf"
 // @Success 200 {object} models.ReportDetailResp
 // @router /detail [get]
 func (this *ReportNoAuthController) Detail() {
@@ -808,11 +823,19 @@ func (this *ReportNoAuthController) Detail() {
 		this.ServeJSON()
 	}()
 	reportId, _ := this.GetInt("ReportId")
+	reportType, _ := this.GetInt("ReportType")
 	if reportId <= 0 {
 		br.Msg = "报告不存在"
 		return
 	}
-	reportPush, err := models.GetReportPushStatusByReportId(reportId, utils.ReportTypeEta)
+	switch reportType {
+	case utils.ReportTypeEta, utils.ReportTypePdf:
+	default:
+		br.Msg = "报告不存在"
+		return
+	}
+
+	reportPush, err := models.GetReportPushStatusByReportId(reportId, reportType)
 	if err != nil {
 		br.Msg = "查询报告失败"
 		br.ErrMsg = "查询报告推送状态失败,系统异常,Err:" + err.Error()
@@ -822,28 +845,50 @@ func (this *ReportNoAuthController) Detail() {
 		br.Msg = "报告未推送或已删除,请刷新重试"
 		return
 	}
-	result, err := services.GetNoAuthReportDetail(reportId)
-	if err != nil {
-		br.Msg = "查询报告详情失败"
-		br.ErrMsg = "查询报告失败,系统异常,Err:" + err.Error()
+	switch reportType {
+	case utils.ReportTypeEta:
+		result, err := services.GetNoAuthReportDetail(reportId)
+		if err != nil {
+			br.Msg = "查询报告详情失败"
+			br.ErrMsg = "查询报告失败,系统异常,Err:" + err.Error()
+			return
+		}
+		if result.Ret != 200 {
+			br.Msg = result.Msg
+			br.ErrMsg = result.ErrMsg
+			return
+		}
+
+		if result.Ret == 200 && result.Data.Report == nil {
+			// 报告不存在, 就尝试删除推送的记录
+			models.DeleteReportPushStatusByReportId(reportId, utils.ReportTypeEta)
+			br.Msg = "报告已删除或未发布,请刷新重试"
+			return
+		}
+
+		br.Msg = "查询成功"
+		br.Success = true
+		br.Ret = 200
+		br.Data = result.Data
 		return
-	}
-	if result.Ret != 200 {
-		br.Msg = result.Msg
-		br.ErrMsg = result.ErrMsg
+	case utils.ReportTypePdf:
+		reportPdf, err := models.GetReportPdfById(reportId)
+		if err != nil {
+			br.Msg = "查询报告详情失败"
+			br.ErrMsg = "查询报告失败,系统异常,Err:" + err.Error()
+			return
+		}
+
+		br.Msg = "查询成功"
+		br.Success = true
+		br.Ret = 200
+		br.Data = reportPdf
 		return
-	}
-	if result.Ret == 200 && result.Data.Report == nil {
-		// 报告不存在, 就尝试删除推送的记录
-		models.DeleteReportPushStatusByReportId(reportId, utils.ReportTypeEta)
-		br.Msg = "报告已删除或未发布,请刷新重试"
+	default:
+		br.Msg = "报告不存在"
 		return
 	}
 
-	br.Msg = "查询成功"
-	br.Success = true
-	br.Ret = 200
-	br.Data = result.Data
 }
 
 // @Title 研报搜索
@@ -866,13 +911,17 @@ func (this *ReportNoAuthController) Search() {
 	if pageSize <= 0 {
 		pageSize = utils.PageSize30
 	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+	startSize := utils.StartIndex(currentIndex, pageSize)
 
 	if keyWord == "" {
 		br.Msg = "请输入关键字"
 		return
 	}
 
-	reports, total, err := services.SearchReportPush(keyWord, currentIndex, pageSize)
+	reports, total, err := services.SearchReportPush(keyWord, startSize, pageSize)
 	if err != nil {
 		br.Msg = "研报列表查询失败"
 		br.ErrMsg = "研报列表查询失败,系统异常,Err:" + err.Error()

+ 1 - 1
models/response/report.go

@@ -27,7 +27,7 @@ type ReportDetailResp struct {
 	Report    *models.ReportDetail `description:"报告"`
 	Status    int                  `description:"报告状态"`
 	IsCollect bool                 `description:"报告是否收藏"`
-	IsSignIn  bool                 `description:"是否报名"`
+	IsSignIn  bool                 `description:"是否登录"`
 }
 
 type ReportCollectListItem struct {

+ 2 - 2
services/report.go

@@ -39,9 +39,9 @@ func GetReportList(chartPermissionId, level, rangeType, classifyId, currentIndex
 	return
 }
 
-func GetNoAuthReportList(chartPermissionId, level, rangeType, classifyId, currentIndex, pageSize int) (resp *resp2.ReportResp[resp2.ReportPushListResp], err error) {
+func GetNoAuthReportList(reportType, chartPermissionId, level, rangeType, classifyId, currentIndex, pageSize int) (resp *resp2.ReportResp[resp2.ReportPushListResp], err error) {
 	url := utils.ETA_MINI_BRIDGE_URL + "/noAuth/report/list?"
-	url += fmt.Sprintf("RangeType=%d&ChartPermissionId=%d&Level=%d&PageSize=%d&CurrentIndex=%d&ClassifyId=%d", rangeType, chartPermissionId, level, pageSize, currentIndex, classifyId)
+	url += fmt.Sprintf("ReportType=%d&RangeType=%d&ChartPermissionId=%d&Level=%d&PageSize=%d&CurrentIndex=%d&ClassifyId=%d", reportType, rangeType, chartPermissionId, level, pageSize, currentIndex, classifyId)
 	fmt.Println(url)
 	body, err := HttpGet(url)
 	if err != nil {

+ 6 - 1
utils/config.go

@@ -57,9 +57,10 @@ var (
 )
 var DesKey string // 接口返回加密KEY
 
-// 小程序自定义的品种名称
+// 自定义的品种名称
 var (
 	MINI_CUSTOM_PERMISSION_NAME string
+	ZC_CUSTOM_PERMISSION_NAME   string
 )
 
 func init() {
@@ -108,6 +109,10 @@ func init() {
 	if MINI_CUSTOM_PERMISSION_NAME == "" {
 		MINI_CUSTOM_PERMISSION_NAME = "PDF报告"
 	}
+	ZC_CUSTOM_PERMISSION_NAME = config["zc_custom_permission_name"]
+	if ZC_CUSTOM_PERMISSION_NAME == "" {
+		ZC_CUSTOM_PERMISSION_NAME = "PDF报告"
+	}
 
 	initRedis(config)
 }