12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // 留存分布
- 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"
- }
- }
|