package controllers import ( "encoding/json" "hongze/hongze_open_api/models/request/chart" "hongze/hongze_open_api/models/tables/business_conf" celuePushTable "hongze/hongze_open_api/models/tables/cygx/cygx_chart" chartServ "hongze/hongze_open_api/services/chart" "hongze/hongze_open_api/utils" "time" ) // 图表模块 type ChartController struct { BaseAuth } // ChartChange // @Title 图表变更通知的插入点接口 // @Description 图表变更通知的插入点接口 // @Param request body chart.CreatChartCeluePushReq true "type json string" // @Success 200 创建成功 // @router /change [post] func (c *ChartController) ChartChange() { var req chart.CreatChartCeluePushReq err := json.Unmarshal(c.Ctx.Input.RequestBody, &req) if err != nil { c.FailWithMessage("参数解析异常") return } //appid权限校验 appid := req.Appid if utils.RunMode == "release" && appid != utils.CLPT_APPID { c.FailWithMessage("无权限") return } chartId := req.ChartId action := req.Action if chartId < 0 { c.FailWithMessage("缺少 chart_id 参数") return } if action != "add" && action != "edit" && action != "move" { c.FailWithMessage("action参数类型错误") return } item := new(celuePushTable.CygxChartCeluePush) item.ChartId = chartId item.Action = action item.CreateTime = time.Now() item.ModifyTime = time.Now() err = celuePushTable.AddCygxChartCeluePush(item) if err != nil { c.OkWithMessage("创建失败") return } c.OkWithMessage("创建成功") } // GeneralChartToken // @Title 图表生成token接口 // @Description 图表生成token接口 // @Param request body chart.GeneralChartTokenReq true "type json string" // @Success 200 创建成功 // @router /general_token [post] func (c *ChartController) GeneralChartToken() { var req chart.GeneralChartTokenReq err := json.Unmarshal(c.Ctx.Input.RequestBody, &req) if err != nil { c.FailWithMessage("参数解析异常") return } //appid权限校验 appid := req.Appid if utils.RunMode == "release" && appid != utils.CLPT_APPID { c.FailWithMessage("无权限") return } if req.UniqueCode == "" { c.FailWithMessage("缺少 unique_code 参数") return } businessConf, err := business_conf.GetBusinessConfByKey(business_conf.BusinessConfIsOpenChartExpired) if err != nil { c.FailWithMessageErr(`获取失败`, "获取配置失败,Err:"+err.Error()) return } var token string if businessConf.ConfVal == `true` { // 缓存key sourceType := req.Source if req.Source == `table` { sourceType = req.Source } token, err = chartServ.GeneralChartToken(sourceType, req.UniqueCode) if err != nil { c.FailWithMessageErr(`获取失败`, "生成失败,Err:"+err.Error()) return } } c.OkDetailed(token, "获取成功") }