system_menu.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package model
  2. import (
  3. operationPb "kpt-tmr-group/proto/go/backend/operation"
  4. "time"
  5. )
  6. type SystemMenu struct {
  7. Id int64 `json:"id,omitempty"`
  8. Name string `json:"name,omitempty"`
  9. MenuType int32 `json:"menu_type,omitempty"`
  10. Level int32 `json:"level,omitempty"`
  11. Title string `json:"title,omitempty"`
  12. Path string `json:"path,omitempty"`
  13. IsShow operationPb.IsShow_Kind `json:"is_show,omitempty"`
  14. IsDelete operationPb.IsShow_Kind `json:"is_delete,omitempty"`
  15. Component string `json:"component,omitempty"`
  16. Icon string `json:"icon,omitempty"`
  17. Sort int32 `json:"sort,omitempty"`
  18. ParentId int64 `json:"parent_id"`
  19. Redirect string `json:"redirect,omitempty"`
  20. CreatedAt int64 `json:"created_at,omitempty"`
  21. UpdatedAt int64 `json:"updated_at,omitempty"`
  22. }
  23. func (s *SystemMenu) TableName() string {
  24. return "system_menu"
  25. }
  26. func NewSystemMenu(req *operationPb.AddMenuRequest) *SystemMenu {
  27. return &SystemMenu{
  28. Name: req.Name,
  29. MenuType: req.MenuType,
  30. Title: req.Title,
  31. Path: req.Path,
  32. Component: req.Component,
  33. Icon: req.Icon,
  34. Sort: req.Sort,
  35. Redirect: req.Redirect,
  36. ParentId: req.ParentId,
  37. IsShow: operationPb.IsShow_OK,
  38. IsDelete: operationPb.IsShow_OK,
  39. }
  40. }
  41. type SystemMenuSlice []*SystemMenu
  42. func (s SystemMenuSlice) ToPB() []*operationPb.AddMenuRequest {
  43. res := make([]*operationPb.AddMenuRequest, len(s))
  44. for i, v := range s {
  45. res[i] = &operationPb.AddMenuRequest{
  46. Id: v.Id,
  47. Name: v.Name,
  48. MenuType: v.MenuType,
  49. Level: v.Level,
  50. Title: v.Title,
  51. IsShow: v.IsShow,
  52. Component: v.Component,
  53. Icon: v.Icon,
  54. Sort: v.Sort,
  55. Redirect: v.Redirect,
  56. ParentId: v.ParentId,
  57. CreatedAt: v.CreatedAt,
  58. CreatedAtFormat: time.Unix(v.CreatedAt, 0).Format(LayoutTime),
  59. }
  60. }
  61. return res
  62. }
  63. func (s *SystemMenu) ToPb() *operationPb.AddMenuRequest {
  64. return &operationPb.AddMenuRequest{
  65. Id: s.Id,
  66. Name: s.Name,
  67. MenuType: s.MenuType,
  68. Level: s.Level,
  69. Title: s.Title,
  70. Path: s.Path,
  71. Component: s.Component,
  72. Icon: s.Icon,
  73. Sort: s.Sort,
  74. Redirect: s.Redirect,
  75. ParentId: s.ParentId,
  76. IsShow: s.IsShow,
  77. CreatedAt: s.CreatedAt,
  78. }
  79. }
  80. type SystemMenuResponse struct {
  81. Page int32 `json:"page"`
  82. Total int32 `json:"total"`
  83. List []*operationPb.AddMenuRequest `json:"list"`
  84. }
  85. func (s *SystemMenuResponse) ToPB() *operationPb.SearchMenuResponse {
  86. return &operationPb.SearchMenuResponse{
  87. Page: s.Page,
  88. Total: s.Total,
  89. List: s.List,
  90. }
  91. }