Bläddra i källkod

fix:修复今日研报和最新研报参数

zqbao 8 månader sedan
förälder
incheckning
3bfd79d125
3 ändrade filer med 109 tillägg och 0 borttagningar
  1. 43 0
      controllers/report.go
  2. 31 0
      services/base_lib.go
  3. 35 0
      services/classify.go

+ 43 - 0
controllers/report.go

@@ -376,6 +376,25 @@ func (this *ReportController) DailyList() {
 	for _, v := range reportList.List {
 		v.ReportType = utils.ReportTypeEta
 	}
+	var classifyIds []int
+	for _, v := range reportPdfList {
+		classifyIds = append(classifyIds, v.ClassifyIdSecond)
+	}
+	classifyResp, err := services.GetFirstChartPermission(classifyIds)
+	if err != nil {
+		br.Msg = "研报列表查询失败"
+		br.ErrMsg = "研报列表查询失败,系统异常,Err:" + err.Error()
+		return
+	}
+	if classifyResp.Ret != 200 {
+		br.Msg = classifyResp.Msg
+		br.ErrMsg = classifyResp.ErrMsg
+		return
+	}
+	classifyPermissionMap := make(map[int][]string)
+	for _, v := range classifyResp.Data {
+		classifyPermissionMap[v.ClassifyId] = v.PermissionNames
+	}
 	for _, v := range reportPdfList {
 		reportList.List = append(reportList.List, &models.ReportView{
 			Id:                 v.ReportPdfId,
@@ -383,11 +402,15 @@ func (this *ReportController) DailyList() {
 			ClassifyNameFirst:  v.ClassifyNameFirst,
 			ClassifyIdSecond:   v.ClassifyIdSecond,
 			ClassifyNameSecond: v.ClassifyNameSecond,
+			PermissionNames:    classifyPermissionMap[v.ClassifyIdSecond],
+			PdfUrl:             v.PdfUrl,
 			Title:              v.Title,
 			Abstract:           v.Abstract,
 			Stage:              v.Stage,
 			Author:             v.Author,
 			ReportType:         utils.ReportTypePdf,
+			PublishTime:        v.PublishTime.Format(utils.FormatDate),
+			ModifyTime:         v.ModifyTime,
 		})
 	}
 
@@ -433,6 +456,25 @@ func (this *ReportController) RecentList() {
 	for _, v := range reportList.List {
 		v.ReportType = utils.ReportTypeEta
 	}
+	var classifyIds []int
+	for _, v := range reportPdfList {
+		classifyIds = append(classifyIds, v.ClassifyIdSecond)
+	}
+	classifyResp, err := services.GetFirstChartPermission(classifyIds)
+	if err != nil {
+		br.Msg = "研报列表查询失败"
+		br.ErrMsg = "研报列表查询失败,系统异常,Err:" + err.Error()
+		return
+	}
+	if classifyResp.Ret != 200 {
+		br.Msg = classifyResp.Msg
+		br.ErrMsg = classifyResp.ErrMsg
+		return
+	}
+	classifyPermissionMap := make(map[int][]string)
+	for _, v := range classifyResp.Data {
+		classifyPermissionMap[v.ClassifyId] = v.PermissionNames
+	}
 	for _, v := range reportPdfList {
 		reportList.List = append(reportList.List, &models.ReportView{
 			Id:                 v.ReportPdfId,
@@ -440,6 +482,7 @@ func (this *ReportController) RecentList() {
 			ClassifyNameFirst:  v.ClassifyNameFirst,
 			ClassifyIdSecond:   v.ClassifyIdSecond,
 			ClassifyNameSecond: v.ClassifyNameSecond,
+			PermissionNames:    classifyPermissionMap[v.ClassifyIdSecond],
 			PdfUrl:             v.PdfUrl,
 			Title:              v.Title,
 			Abstract:           v.Abstract,

+ 31 - 0
services/base_lib.go

@@ -1,6 +1,7 @@
 package services
 
 import (
+	"bytes"
 	"eta/eta_mini_api/utils"
 	"io"
 	"net/http"
@@ -36,3 +37,33 @@ func HttpGet(url string) (body []byte, err error) {
 	utils.FileLog.Info("result:" + string(body))
 	return
 }
+
+func HttpPost(url string, postBody []byte) (body []byte, err error) {
+	client := &http.Client{}
+	req, err := http.NewRequest("POST", url, bytes.NewReader(postBody))
+	if err != nil {
+		return
+	}
+	nonce := utils.GetRandStringNoSpecialChar(16)
+	timestamp := time.Now().Format(utils.FormatDateTimeUnSpace)
+	signature := utils.GetSign(nonce, timestamp, utils.ETA_MINI_APPID, utils.ETA_MINI_APP_SECRET)
+	//增加header选项
+	req.Header.Add("Nonce", nonce)
+	req.Header.Add("Timestamp", timestamp)
+	req.Header.Add("Appid", utils.ETA_MINI_APPID)
+	req.Header.Add("Signature", signature)
+	req.Header.Set("Content-Type", "application/json")
+
+	response, err := client.Do(req)
+	if err != nil {
+		return
+	}
+	defer response.Body.Close()
+
+	body, err = io.ReadAll(response.Body)
+	if err != nil {
+		return
+	}
+	utils.FileLog.Info("result:" + string(body))
+	return
+}

+ 35 - 0
services/classify.go

@@ -0,0 +1,35 @@
+package services
+
+import (
+	"encoding/json"
+	"eta/eta_mini_api/models"
+	"eta/eta_mini_api/utils"
+)
+
+type ClassifyReq struct {
+	ClassifyIds []int
+}
+
+type ClassifyPermissionItemResp struct {
+	ClassifyId      int      `description:"二级分类id"`
+	PermissionNames []string `description:"权限名称列表"`
+}
+
+func GetFirstChartPermission(classifyIds []int) (resp *models.ChartPermissionResp[[]*ClassifyPermissionItemResp], err error) {
+
+	classifyReq := ClassifyReq{classifyIds}
+	postBody, err := json.Marshal(classifyReq)
+	if err != nil {
+		return
+	}
+	url := utils.ETA_MINI_BRIDGE_URL + "/classify/chart_permission/first"
+	body, err := HttpPost(url, postBody)
+	if err != nil {
+		return
+	}
+	err = json.Unmarshal(body, &resp)
+	if err != nil {
+		return
+	}
+	return
+}