Bläddra i källkod

add:添加图表详情功能

zqbao 9 månader sedan
förälder
incheckning
e7f154a928
5 ändrade filer med 107 tillägg och 138 borttagningar
  1. 37 0
      controllers/my_chart.go
  2. 9 0
      routers/commentsRouter.go
  3. 38 0
      services/base_lib.go
  4. 13 25
      services/chart.go
  5. 10 113
      services/report.go

+ 37 - 0
controllers/my_chart.go

@@ -5,6 +5,7 @@ import (
 	"eta/eta_mini_api/models"
 	"eta/eta_mini_api/models/request"
 	"eta/eta_mini_api/models/response"
+	"eta/eta_mini_api/services"
 	"eta/eta_mini_api/utils"
 	"time"
 
@@ -250,6 +251,42 @@ func (this *MyChartController) Locate() {
 	br.Ret = 200
 }
 
+// @Title Detail
+// @Description 图表详情
+// @Param   ChartInfoId   query   int  true       "图表详情id"
+// @Success 200 {object} models.BaseResponse
+// @Failure 403 {object} models.BaseResponse
+// @router /detail [get]
+func (this *MyChartController) Detail() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	chartInfoId, _ := this.GetInt("ChartInfoId")
+	if chartInfoId <= 0 {
+		br.Msg = "图表id错误"
+		return
+	}
+
+	result, err := services.GetChartDetail(chartInfoId)
+	if err != nil {
+		br.Msg = "获取图表详情失败"
+		br.ErrMsg = "获取图表详情失败,Err:" + err.Error()
+		return
+	}
+	if result.Ret != 200 {
+		br.Msg = result.Msg
+		br.ErrMsg = result.ErrMsg
+		return
+	}
+	br.Data = result.Data
+	br.Msg = "查询成功"
+	br.Success = true
+	br.Ret = 200
+}
+
 // @Title IsCollect
 // @Description create users
 // @Param   PageSize   query   int  true       "每页数据条数"

+ 9 - 0
routers/commentsRouter.go

@@ -52,6 +52,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_mini_api/controllers:MyChartController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:MyChartController"],
+        beego.ControllerComments{
+            Method: "Detail",
+            Router: `/detail`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_mini_api/controllers:MyChartController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:MyChartController"],
         beego.ControllerComments{
             Method: "IsCollect",

+ 38 - 0
services/base_lib.go

@@ -0,0 +1,38 @@
+package services
+
+import (
+	"eta/eta_mini_api/utils"
+	"io"
+	"net/http"
+	"time"
+)
+
+func HttpGet(url string) (body []byte, err error) {
+	client := &http.Client{}
+	req, err := http.NewRequest("GET", url, nil)
+	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
+}

+ 13 - 25
services/chart.go

@@ -4,9 +4,6 @@ import (
 	"encoding/json"
 	"eta/eta_mini_api/utils"
 	"fmt"
-	"io"
-	"net/http"
-	"time"
 
 	resp2 "eta/eta_mini_api/models/response"
 )
@@ -15,38 +12,29 @@ func GetChartList(currentIndex, pageSize int) (resp *resp2.ChartResp[resp2.Chart
 	url := utils.ETA_MINI_BRIDGE_URL + "/chart/list?"
 	url += fmt.Sprintf("PageSize=%d&CurrentIndex=%d", pageSize, currentIndex)
 	fmt.Println(url)
-	client := &http.Client{}
-	// 提交请求
-	req, err := http.NewRequest("GET", url, nil)
+	body, err := HttpGet(url)
 	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)
+	err = json.Unmarshal(body, &resp)
 	if err != nil {
-		return
+		return resp, err
 	}
-	defer response.Body.Close()
+	return resp, nil
+
+}
 
-	body, err := io.ReadAll(response.Body)
+func GetChartDetail(chartInfoId int) (resp *resp2.ChartResp[resp2.ChartInfoView], err error) {
+	url := utils.ETA_MINI_BRIDGE_URL + "/chart/detail?"
+	url += fmt.Sprintf("ChartInfoId=%d", chartInfoId)
+	fmt.Println(url)
+	body, err := HttpGet(url)
 	if err != nil {
 		return
 	}
-
-	utils.FileLog.Info("result:" + string(body))
 	err = json.Unmarshal(body, &resp)
 	if err != nil {
-		return resp, err
+		return
 	}
-	return resp, nil
-
+	return
 }

+ 10 - 113
services/report.go

@@ -4,9 +4,6 @@ import (
 	"encoding/json"
 	"eta/eta_mini_api/utils"
 	"fmt"
-	"io"
-	"net/http"
-	"time"
 
 	resp2 "eta/eta_mini_api/models/response"
 )
@@ -15,120 +12,45 @@ func GetReportList(chartPermissionId, level, rangeType, currentIndex, pageSize i
 	url := utils.ETA_MINI_BRIDGE_URL + "/report/list?"
 	url += fmt.Sprintf("RangeType=%d&ChartPermissionId=%d&Level=%d&PageSize=%d&CurrentIndex=%d", rangeType, chartPermissionId, level, pageSize, currentIndex)
 	fmt.Println(url)
-	client := &http.Client{}
-	// 提交请求
-	req, err := http.NewRequest("GET", url, nil)
+	body, err := HttpGet(url)
 	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))
 	err = json.Unmarshal(body, &resp)
 	if err != nil {
-		return resp, err
+		return
 	}
-	return resp, nil
-
+	return
 }
 
 func GetReportDetail(reportId, userId int) (resp *resp2.ReportResp[resp2.ReportDetailResp], err error) {
 	url := utils.ETA_MINI_BRIDGE_URL + "/report/detail?"
 	url += fmt.Sprintf("ReportId=%d&UserId=%d", reportId, userId)
 	fmt.Println(url)
-	client := &http.Client{}
-	// 提交请求
-	req, err := http.NewRequest("GET", url, nil)
-	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)
+	body, err := HttpGet(url)
 	if err != nil {
 		return
 	}
-	defer response.Body.Close()
-
-	body, err := io.ReadAll(response.Body)
-
-	if err != nil {
-		return
-	}
-	utils.FileLog.Info("result:" + string(body))
 	err = json.Unmarshal(body, &resp)
 	if err != nil {
-		return resp, err
+		return
 	}
-	return resp, nil
+	return
 }
 
 func GetReportDailyList(currentIndex, pageSize int) (resp *resp2.ReportResp[resp2.ReportList], err error) {
 	url := utils.ETA_MINI_BRIDGE_URL + "/report/daily/list?"
 	url += fmt.Sprintf("PageSize=%d&CurrentIndex=%d", pageSize, currentIndex)
 	fmt.Println(url)
-	client := &http.Client{}
-	// 提交请求
-	req, err := http.NewRequest("GET", url, nil)
-	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)
-
+	body, err := HttpGet(url)
 	if err != nil {
 		return
 	}
-
-	utils.FileLog.Info("result:" + string(body))
 	err = json.Unmarshal(body, &resp)
 	if err != nil {
-		return resp, err
+		return
 	}
-	return resp, nil
+	return
 
 }
 
@@ -136,35 +58,10 @@ func SearchReport(keyWord string, currentIndex, pageSize int) (resp *resp2.Repor
 	url := utils.ETA_MINI_BRIDGE_URL + "/report/search?"
 	url += fmt.Sprintf("KeyWord=%s&PageSize=%d&CurrentIndex=%d", keyWord, pageSize, currentIndex)
 	fmt.Println(url)
-	client := &http.Client{}
-	// 提交请求
-	req, err := http.NewRequest("GET", url, nil)
-	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)
+	body, err := HttpGet(url)
 	if err != nil {
 		return
 	}
-	defer response.Body.Close()
-
-	body, err := io.ReadAll(response.Body)
-
-	if err != nil {
-		return
-	}
-
-	utils.FileLog.Info("result:" + string(body))
 	err = json.Unmarshal(body, &resp)
 	if err != nil {
 		return