package stl import ( "encoding/json" "eta/eta_api/controllers" "eta/eta_api/models" "eta/eta_api/services/data/stl" "eta/eta_api/utils" "eta/eta_api/models/data_manage/stl/request" "eta/eta_api/models/data_manage/stl/response" ) type STLController struct { controllers.BaseAuthController } // Preview // @Title STL分解预览 // @Description STL分解预览 // @Success 200 {object} request.STLReq // @router /chart_info/preview [post] func (c *STLController) Preview() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() sysUser := c.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } var req *request.StlConfigReq if err := json.Unmarshal(c.Ctx.Input.RequestBody, &req); err != nil { br.Msg = "请求参数错误" br.ErrMsg = err.Error() return } resp, msg, err := stl.GenerateStlEdbData(req, sysUser.AdminId) if err != nil { if msg == "" { msg = "预览异常" } br.Msg = msg br.ErrMsg = err.Error() return } br.Data = resp br.Msg = "预览成功" br.Ret = 200 br.Success = true return } // SaveConf // @Title STL分解配置保存 // @Description STL分解配置保存 // @Success 200 {object} request.STLReq // @router /config/save [post] func (c *STLController) SaveConf() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() sysUser := c.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } var req *request.StlConfigReq if err := json.Unmarshal(c.Ctx.Input.RequestBody, &req); err != nil { br.Msg = "请求参数错误" br.ErrMsg = err.Error() return } configId, msg, err := stl.SaveStlConfig(req, sysUser.AdminId) if err != nil { if msg == "" { msg = "保存异常" } br.Msg = msg br.ErrMsg = "保存失败,err:" + err.Error() return } resp := new(response.SaveStlConfigResp) resp.CalculateStlConfigId = configId br.Data = resp br.Msg = "保存成功" br.Ret = 200 br.Success = true } // ConfigDetail // @Title STL分解配置保存 // @Description STL分解配置保存 // @Success 200 {object} request.STLReq // @router /config/detail [get] func (c *STLController) ConfigDetail() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() sysUser := c.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } edbInfoId, err := c.GetInt("EdbInfoId") if err != nil { br.Msg = "请求参数错误" br.ErrMsg = err.Error() return } resp, msg, err := stl.GetStlConfig(edbInfoId) if err != nil { if msg == "" { msg = "获取异常" } br.Msg = msg br.ErrMsg = err.Error() return } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp } // SaveStlEdbInfo // @Title STL分解指标保存到指标库 // @Description STL分解指标保存到指标库 // @Success 200 {object} request.STLReq // @router /edb_info/save [post] func (c *STLController) SaveStlEdbInfo() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() var req *request.SaveStlEdbInfoReq if err := json.Unmarshal(c.Ctx.Input.RequestBody, &req); err != nil { br.Msg = "请求参数错误" br.ErrMsg = err.Error() return } sysUser := c.SysUser edbInfoId, IsSendEmail, msg, err := stl.SaveStlEdbInfo(req, sysUser.AdminId, sysUser.RealName, c.Lang) if err != nil { if msg == "" { msg = "保存异常" } br.Msg = msg br.ErrMsg = err.Error() return } resp := new(response.SaveStlEdbInfoResp) resp.EdbInfoId = edbInfoId br.Data = resp br.Ret = 200 br.Success = true br.Msg = "保存成功" br.IsSendEmail = IsSendEmail } // EdbInfoFilterByEs // @Title 指标筛选接口 // @Description 指标筛选接口 // @Param KeyWord query string false "搜索关键词:指标ID/指标名称" // @Param PageSize query int true "每页数据条数" // @Param CurrentIndex query int true "当前页页码,从1开始" // @Success 200 {object} data_manage.EdbInfoList // @router /edb_info/search [get] func (this *STLController) EdbInfoFilterByEs() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() pageSize, _ := this.GetInt("PageSize") currentIndex, _ := this.GetInt("CurrentIndex") keyWord := this.GetString("KeyWord") if pageSize <= 0 { pageSize = utils.PageSize20 } if currentIndex <= 0 { currentIndex = 1 } resp, msg, err := stl.SearchEdbInfoWithStl(this.SysUser.AdminId, keyWord, currentIndex, pageSize) if err != nil { if msg == "" { msg = "获取异常" } br.Msg = msg br.ErrMsg = err.Error() return } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = resp }