register.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // 注册分布
  2. package controllers
  3. import (
  4. "box-gm/events"
  5. "box-gm/models"
  6. "log"
  7. "github.com/astaxie/beego"
  8. )
  9. type RegisterController struct {
  10. beego.Controller
  11. }
  12. // 主界面
  13. // 通过c.Data[key]返回数据
  14. // ace模板文件通过{{.key}}获取数据
  15. func (c *RegisterController) Get() {
  16. userinfo := c.GetSession("user")
  17. if userinfo == nil {
  18. c.Ctx.Redirect(302, "/accountlogin")
  19. return
  20. }
  21. username := userinfo.(*LoginInfo).Username
  22. c.Data["username"] = username
  23. c.Data["token"] = models.GetToken()
  24. userPermission := models.GetPermission(username)
  25. if (userPermission & (1 << uint(models.ModelStatment))) == 0 {
  26. c.Ctx.Redirect(302, "/accountlogin")
  27. return
  28. }
  29. select_username := c.GetString("select_username")
  30. days, _ := c.GetInt("days")
  31. if days == 0 {
  32. days = 7
  33. }
  34. log.Printf("RegisterController days[%d]", days)
  35. users, _ := models.GetTypeUserList("主播")
  36. shareCode := ""
  37. if select_username != "" {
  38. shareCode = models.GetUserShareCode(select_username)
  39. }
  40. promoter := models.IsUserPromoter(username)
  41. if promoter == 1 {
  42. select_username = username
  43. shareCode = models.GetUserShareCode(username)
  44. }
  45. series, categories := events.Register_get_range_day_time_count(days, shareCode)
  46. filename := events.Save_register_records(series, username)
  47. c.Data["Series"], c.Data["Categories"] = series, categories
  48. c.Data["SelectUserName"] = select_username
  49. c.Data["Promoter"] = promoter
  50. c.Data["users"] = users
  51. c.Data["Days"] = days
  52. c.Data["file"] = filename
  53. if c.GetString("querydata") == "register" {
  54. c.Ctx.Output.Download(filename)
  55. } else {
  56. //界面模板文件
  57. c.TplName = "register.tpl"
  58. }
  59. }