pay.go 1.4 KB

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