123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- package index_data
- import (
- "eta/eta_bridge/controller/resp"
- "eta/eta_bridge/global"
- "eta/eta_bridge/models/jiayue"
- indexDataReq "eta/eta_bridge/models/request/index_data"
- "eta/eta_bridge/models/response"
- indexDataService "eta/eta_bridge/services/index_data"
- "github.com/gin-gonic/gin"
- "github.com/go-playground/validator/v10"
- "strings"
- )
- // JiaYueIndexController 嘉悦指标
- type JiaYueIndexController struct{}
- // GetData
- // @Description 获取嘉悦指标数据
- // @Success 200 {string} string "操作成功"
- // @Router /jiayue/index [get]
- func (j *JiaYueIndexController) GetData(c *gin.Context) {
- indexCode := c.DefaultQuery("index_code", "")
- source := c.DefaultQuery("source", "")
- startDate := c.DefaultQuery("start_date", "")
- endDate := c.DefaultQuery("end_date", "")
- if indexCode == "" {
- resp.FailMsg("请输入指标code码", "请输入指标code码", c)
- return
- }
- if source == "" {
- resp.FailMsg("请输入指标来源", "请输入指标来源", c)
- return
- }
- data, err, errMsg := indexDataService.GetIndexFromJiaYue(indexCode, source, startDate, endDate)
- if err != nil {
- resp.FailMsg("查询失败", err.Error()+errMsg, c)
- return
- }
- resp.OkData("操作成功", data, c)
- return
- }
- // GetPageIndex
- // @Description 获取嘉悦指标列表-分页
- // @Success 200 {string} string "获取成功"
- // @Router /jiayue/page_index [get]
- func (j *JiaYueIndexController) GetPageIndex(c *gin.Context) {
- var req indexDataReq.JiaYuePageIndexReq
- if e := c.BindQuery(&req); e != nil {
- err, ok := e.(validator.ValidationErrors)
- if !ok {
- resp.FailData("参数解析失败", "Err:"+e.Error(), c)
- return
- }
- resp.FailData("参数解析失败", err.Translate(global.Trans), c)
- return
- }
- if req.SourceExtend == "" {
- resp.FailMsg("请输入指标来源", "请输入指标来源", c)
- return
- }
- sourceArr := strings.Split(req.SourceExtend, ",")
- if len(sourceArr) == 0 {
- resp.FailMsg("指标来源有误", "指标来源有误", c)
- return
- }
- total, list, err := indexDataService.GetPageIndexesFromJiaYue(req.PageIndex, req.PageSize, sourceArr, req.Keyword, req.Frequency)
- if err != nil {
- resp.FailMsg("查询失败", err.Error(), c)
- return
- }
- var data response.JiaYuePageIndexResp
- data.Total = total
- data.List = list
- resp.OkData("操作成功", data, c)
- return
- }
- // GetIndexFrequency
- // @Description 获取指标频度列表
- // @Success 200 {string} string "获取成功"
- // @Router /jiayue/frequency_list [get]
- func (j *JiaYueIndexController) GetIndexFrequency(c *gin.Context) {
- list, err := jiayue.GetDictFrequency()
- if err != nil {
- resp.FailMsg("获取失败", err.Error(), c)
- return
- }
- // 过滤一下空的和斜杠
- data := make([]string, 0)
- for _, v := range list {
- if v != "" && v != "/" {
- data = append(data, v)
- }
- }
- resp.OkData("获取成功", data, c)
- return
- }
|