// 留存分布 package controllers import ( "github.com/astaxie/beego" "box-gm/events" "box-gm/models" ) type RetainedController struct { beego.Controller } // 主界面 // 通过c.Data[key]返回数据 // ace模板文件通过{{.key}}获取数据 func (c *RetainedController) Get() { userinfo := c.GetSession("user") if userinfo == nil { c.Ctx.Redirect(302, "/accountlogin") return } c.Data["username"] = userinfo.(*LoginInfo).Username c.Data["token"] = models.GetToken() userPermission := models.GetPermission(userinfo.(*LoginInfo).Username) if (userPermission & (1 << uint(models.ModelStatment))) == 0 { c.Ctx.Redirect(302, "/accountlogin") return } serverId := c.GetString("server_id") if serverId == "" { serverId = "1001" } days, _ := c.GetInt("days") if days == 0 { days = 30 } series, categories := events.Retained_get_range_count(days, serverId) filename := events.Save_retained_records(series, categories, userinfo.(*LoginInfo).Username) c.Data["Series"], c.Data["Categories"] = series, categories c.Data["Server_id"] = serverId c.Data["Days"] = days if c.GetString("querydata") == "retained" { c.Ctx.Output.Download(filename) }else { //界面模板文件 c.TplName = "retained.tpl" } }