common.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package forms
  2. import (
  3. "gadmin/internal/admin/consts"
  4. )
  5. type ListReq struct {
  6. Page int64 `json:"page" form:"page"`
  7. PerPage int64 `json:"pageSize" form:"pageSize"`
  8. }
  9. type ListRes struct {
  10. Page int64 `json:"page" form:"page"`
  11. PerPage int64 `json:"pageSize" form:"pageSize"`
  12. PageCount int64 `json:"pageCount" form:"pageCount"`
  13. List interface{} `json:"list" form:"list"`
  14. }
  15. type SorterModel struct {
  16. Field string `json:"field" form:"field"`
  17. By string `json:"by" form:"by"`
  18. }
  19. func CalculatePage(page, perPage int64) (newPage, newPerPage int64, offset int64) {
  20. if page <= 0 {
  21. newPage = consts.FormsDefaultPage
  22. } else {
  23. newPage = page
  24. }
  25. if perPage <= 0 {
  26. newPerPage = consts.FormsDefaultPageSize
  27. } else {
  28. newPerPage = perPage
  29. }
  30. offset = (newPage - 1) * newPerPage
  31. return
  32. }
  33. type GetReq struct {
  34. Id int `json:"id" form:"id"`
  35. }
  36. type SaveReq struct {
  37. Id int `json:"id" form:"id"`
  38. }
  39. type DeleteReq struct {
  40. Id int `json:"id" form:"id"`
  41. }
  42. type PlayeridReq struct {
  43. Playerid int64 `form:"playerid" json:"playerid" binding:"required"`
  44. }
  45. type JsonResource struct {
  46. Version string `json:"version" form:"version" binding:"required"`
  47. Name string `json:"name" form:"name" binding:"required"`
  48. }
  49. type Counter struct {
  50. Total int64 `json:"total"`
  51. }
  52. type CounterF struct {
  53. Total float64 `json:"total"`
  54. }
  55. type Checker interface {
  56. Check() error
  57. }
  58. func ParseParams(req interface{}) error {
  59. if c, ok := req.(Checker); ok {
  60. return c.Check()
  61. }
  62. return nil
  63. }
  64. type Option struct {
  65. Value interface{} `json:"value"`
  66. Label string `json:"label"`
  67. Name string `json:"name"`
  68. }
  69. type OptionInt64 struct {
  70. Value int64 `json:"value"`
  71. Label string `json:"label"`
  72. Name string `json:"name"`
  73. }
  74. type TreeOption struct {
  75. Key interface{} `json:"key"`
  76. Label string `json:"label"`
  77. Children []*TreeOption `json:"children,omitempty"`
  78. }