playerlevel.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // 关卡分布
  2. package controllers
  3. import (
  4. "github.com/astaxie/beego"
  5. "box-gm/events"
  6. // "io/ioutil"
  7. "box-gm/models"
  8. )
  9. type PlayerLevelController struct {
  10. beego.Controller
  11. }
  12. // 主界面
  13. // 通过c.Data[key]返回数据
  14. // ace模板文件通过{{.key}}获取数据
  15. func (c *PlayerLevelController) Get() {
  16. userinfo := c.GetSession("user")
  17. if userinfo == nil {
  18. c.Ctx.Redirect(302, "/accountlogin")
  19. return
  20. }
  21. c.Data["username"] = userinfo.(*LoginInfo).Username
  22. c.Data["token"] = models.GetToken()
  23. userPermission := models.GetPermission(userinfo.(*LoginInfo).Username)
  24. if (userPermission & (1 << uint(models.ModelStatment))) == 0 {
  25. c.Ctx.Redirect(302, "/accountlogin")
  26. return
  27. }
  28. serverId := c.GetString("server_id")
  29. if serverId == "" {
  30. serverId = "1001"
  31. }
  32. days, _ := c.GetInt("days")
  33. if days == 0 {
  34. days = 7
  35. }
  36. series, categories := events.PlayerLevel_get_range_day_level_count(days, serverId)
  37. filename := events.Save_playerlevel_records(series, userinfo.(*LoginInfo).Username)
  38. c.Data["Series"], c.Data["Categories"] = series, categories
  39. c.Data["Server_id"] = serverId
  40. c.Data["Days"] = days
  41. c.Data["file"] = filename
  42. if c.GetString("querydata") == "playerlevel" {
  43. c.Ctx.Output.Download(filename)
  44. }else {
  45. //界面模板文件
  46. c.TplName = "playerlevel.tpl"
  47. }
  48. }