package controllers import ( "encoding/json" "eta/eta_data_analysis/models" "eta/eta_data_analysis/services/kpler" "fmt" "github.com/beego/beego/v2/server/web" ) type KplerController struct { web.Controller } // 获取开普勒数据 // @Title GetKplerData // @Description 获取开普勒数据 // @Param body body models.KplerFlowDataLibReq true "请求参数" // @Success 200 {object} models.BaseResponse // @router /getFlowData [post] func (this *KplerController) GetFlowData() { //获取入参 br := new(models.BaseResponse).Init() defer func() { if br.ErrMsg == "" { br.IsSendEmail = false } this.Data["json"] = br this.ServeJSON() }() var params models.KplerFlowDataLibReq if e := json.Unmarshal(this.Ctx.Input.RequestBody, ¶ms); e != nil { br.Msg = "参数解析异常" br.ErrMsg = fmt.Sprintf("参数解析失败, %v", e) return } if params.Granularity == "" { br.Msg = "请选择频度" return } if params.Split == "" { br.Msg = "请选择拆分类型" return } if params.Unit == "" { br.Msg = "请选择单位" return } if params.FlowDirection == "" { br.Msg = "请选择流向" return } data, err := kpler.GetKplerData(params) if err != nil { br.Msg = "获取数据失败" br.ErrMsg = fmt.Sprintf("获取数据失败, %v", err) return } br.Data = data br.Ret = 200 br.Success = true br.Msg = "获取成功" } // 获取产品数据 // @Title GetProductData // @Description 获取产品数据 // @Param body body models.KplerProductDataLibReq true "请求参数" // @Success 200 {object} models.BaseResponse // @router /getProductData [post] func (this *KplerController) GetProductData() { //获取入参 br := new(models.BaseResponse).Init() defer func() { if br.ErrMsg == "" { br.IsSendEmail = false } this.Data["json"] = br this.ServeJSON() }() data, err := kpler.GetProducts() if err != nil { br.Msg = "获取数据失败" br.ErrMsg = fmt.Sprintf("获取数据失败, %v", err) return } br.Data = data br.Ret = 200 br.Success = true br.Msg = "获取成功" } // 获取区域数据 // @Title GetZoneData // @Description 获取区域数据 // @Param body body models.KplerZoneDataLibReq true "请求参数" // @Success 200 {object} models.BaseResponse // @router /getZoneData [post] func (this *KplerController) GetZoneData() { //获取入参 br := new(models.BaseResponse).Init() defer func() { if br.ErrMsg == "" { br.IsSendEmail = false } this.Data["json"] = br this.ServeJSON() }() var params models.KplerZoneDataLibReq if e := json.Unmarshal(this.Ctx.Input.RequestBody, ¶ms); e != nil { //br.Msg = "参数解析异常" // br.ErrMsg = fmt.Sprintf("参数解析失败, %v", e) // return } token, err := kpler.GetKplerAccessToken() if err != nil { br.Msg = "获取token失败" br.ErrMsg = fmt.Sprintf("获取token失败, %v", err) return } data, err := kpler.GetZonesByApi(token, params.AncestorName, params.DescendantType) if err != nil { br.Msg = "获取数据失败" br.ErrMsg = fmt.Sprintf("获取数据失败, %v", err) return } br.Data = data br.Ret = 200 br.Success = true br.Msg = "获取成功" }