12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package open
- import (
- "encoding/json"
- "eta_gn/eta_index_lib/controllers"
- "eta_gn/eta_index_lib/models"
- "eta_gn/eta_index_lib/utils"
- "fmt"
- )
- // EdbInfoController 指标数据
- type EdbInfoController struct {
- controllers.BaseAuthController
- }
- // Detail
- // @Title 指标详情接口
- // @Description 指标详情接口
- // @Success 200 {object} models.EdbInfoDetailReq
- // @router /edb/detail [post]
- func (this *EdbInfoController) Detail() {
- br := new(models.BaseResponse).Init()
- defer func() {
- this.Data["json"] = br
- this.ServeJSON()
- }()
- var req models.EdbInfoDetailReq
- err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
- if err != nil {
- br.Msg = "参数解析异常!"
- br.ErrMsg = "参数解析失败,Err:" + err.Error()
- return
- }
- if req.UniqueCode == "" {
- br.Msg = "请输入指标编码!"
- br.ErrMsg = "请输入指标编码,指标编码为空"
- return
- }
- edbInfo, err := models.GetEdbInfoByUniqueCode(req.UniqueCode)
- if err != nil {
- br.Msg = "获取失败"
- if err.Error() == utils.ErrNoRow() {
- br.Msg = "找不到该指标"
- }
- br.ErrMsg = "获取失败,ERR;" + err.Error()
- return
- }
- dataList := make([]*models.EdbInfoSearchData, 0)
- switch edbInfo.EdbInfoType {
- case 0:
- //获取来源指标的数据
- dataList, err = models.GetEdbDataListAll(edbInfo.Source, edbInfo.SubSource, models.FindEdbDataListAllCond{
- EdbInfoId: edbInfo.EdbInfoId,
- }, 1)
- case 1:
- dataList, err = models.GetPredictEdbDataListAllByStartDate(edbInfo, 1, "")
- default:
- br.Msg = "获取失败"
- br.ErrMsg = fmt.Sprint("获取失败,指标base类型异常", edbInfo.EdbInfoType)
- return
- }
- resp := models.EdbInfoDetailResp{
- SourceName: edbInfo.SourceName,
- EdbCode: edbInfo.EdbCode,
- EdbName: edbInfo.EdbName,
- EdbNameSource: edbInfo.EdbNameSource,
- Frequency: edbInfo.Frequency,
- Unit: edbInfo.Unit,
- StartDate: edbInfo.StartDate,
- EndDate: edbInfo.EndDate,
- UniqueCode: edbInfo.UniqueCode,
- CreateTime: edbInfo.CreateTime,
- ModifyTime: edbInfo.ModifyTime,
- MinValue: edbInfo.MinValue,
- MaxValue: edbInfo.MaxValue,
- EdbNameEn: edbInfo.EdbNameEn,
- UnitEn: edbInfo.UnitEn,
- LatestDate: edbInfo.LatestDate,
- LatestValue: edbInfo.LatestValue,
- ChartImage: edbInfo.ChartImage,
- DataList: dataList,
- }
- br.Data = resp
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- }
|