changed_logs.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package forms
  2. import (
  3. "errors"
  4. "time"
  5. )
  6. type ChangedLogsListReq struct {
  7. ListReq
  8. ChannelId string `json:"channel_id" form:"channel_id"`
  9. UserId int64 `json:"user_id" form:"user_id"`
  10. Source int32 `json:"source" form:"source"`
  11. Createtime []int64 `json:"createtime" form:"createtime[]"`
  12. ServerId int32 `json:"server_id" form:"server_id"`
  13. }
  14. func (req *ChangedLogsListReq) Check() error {
  15. //if req.Createtime != nil && len(req.Createtime) != 2 {
  16. // return errors.New("注册时间必须选择一个区间或者留空")
  17. //}
  18. if len(req.Createtime) != 2 {
  19. return errors.New("必须选择一个有效的时间")
  20. }
  21. if len(req.Createtime) == 2 {
  22. if req.Createtime[0] > req.Createtime[1] {
  23. return errors.New("时间选择的区间值不合理")
  24. }
  25. // 默认是毫秒
  26. req.Createtime[0] = req.Createtime[0] / 1000
  27. req.Createtime[1] = req.Createtime[1] / 1000
  28. if req.Createtime[1]-req.Createtime[0] > 86400*31 {
  29. return errors.New("时间选择区间不能超过1个月")
  30. }
  31. }
  32. return nil
  33. }
  34. type DiamondRankingReq struct {
  35. ListReq
  36. Type int64 `json:"type" form:"type"`
  37. Createtime []int64 `json:"createtime" form:"createtime[]"`
  38. ServerId int32 `json:"server_id" form:"server_id"`
  39. }
  40. func (req *DiamondRankingReq) Check() error {
  41. if req.Createtime != nil && len(req.Createtime) != 2 {
  42. return errors.New("时间必须选择一个区间或者留空")
  43. }
  44. if len(req.Createtime) == 2 {
  45. req.Createtime[0] = req.Createtime[0] / 1000
  46. req.Createtime[1] = req.Createtime[1] / 1000
  47. }
  48. return nil
  49. }
  50. type ItemRankingReq struct {
  51. ListReq
  52. Source int64 `json:"source" form:"source"`
  53. Createtime []int64 `json:"createtime" form:"createtime[]"`
  54. ServerId int32 `json:"server_id" form:"server_id"`
  55. }
  56. func (req *ItemRankingReq) Check() error {
  57. if req.Createtime != nil && len(req.Createtime) != 2 {
  58. return errors.New("时间必须选择一个区间或者留空")
  59. }
  60. if len(req.Createtime) == 2 {
  61. req.Createtime[0] = req.Createtime[0] / 1000
  62. req.Createtime[1] = req.Createtime[1] / 1000
  63. }
  64. if req.Source <= 0 {
  65. return errors.New("必须选择一个有效的操作来源")
  66. }
  67. return nil
  68. }
  69. type ConsumptionStatisticsReq struct {
  70. ListReq
  71. ChannelId string `json:"channel_id" form:"channel_id"`
  72. Type int64 `json:"type" form:"type"`
  73. Source int32 `json:"source" form:"source"`
  74. Createtime []int64 `json:"createtime" form:"createtime[]"`
  75. Date []string `json:"date" form:"date[]"`
  76. ServerId int32 `json:"server_id" form:"server_id"`
  77. }
  78. func (req *ConsumptionStatisticsReq) Check() error {
  79. if req.Createtime != nil && len(req.Createtime) != 2 {
  80. return errors.New("时间必须选择一个区间或者留空")
  81. }
  82. if len(req.Createtime) == 2 {
  83. if req.Createtime[0] > req.Createtime[1] {
  84. return errors.New("时间选择的区间值不合理")
  85. }
  86. req.Date = make([]string, 2)
  87. // 默认是毫秒
  88. req.Date[0] = time.Unix(req.Createtime[0]/1000, 0).Format("2006-01-02")
  89. req.Date[1] = time.Unix(req.Createtime[1]/1000, 0).Format("2006-01-02")
  90. }
  91. if req.ServerId <= 0 {
  92. return errors.New("请选择一个有效的服务器")
  93. }
  94. return nil
  95. }