|
@@ -0,0 +1,94 @@
|
|
|
+package open
|
|
|
+
|
|
|
+import (
|
|
|
+ "encoding/json"
|
|
|
+ "fmt"
|
|
|
+ "hongze/hongze_edb_lib/controllers"
|
|
|
+ "hongze/hongze_edb_lib/models"
|
|
|
+ "hongze/hongze_edb_lib/utils"
|
|
|
+)
|
|
|
+
|
|
|
+// 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:
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition += " AND edb_info_id=? "
|
|
|
+ pars = append(pars, edbInfo.EdbInfoId)
|
|
|
+
|
|
|
+ //获取来源指标的数据
|
|
|
+ dataList, err = models.GetEdbDataListAll(condition, pars, edbInfo.Source, 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 = "获取成功"
|
|
|
+}
|