menu.go 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package system
  2. import (
  3. "kpt-pasture/http/middleware"
  4. "net/http"
  5. "strconv"
  6. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  7. operationPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/operation"
  8. "gitee.com/xuyiping_admin/pkg/apierr"
  9. "gitee.com/xuyiping_admin/pkg/ginutil"
  10. "gitee.com/xuyiping_admin/pkg/valid"
  11. "github.com/gin-gonic/gin"
  12. )
  13. // CreatedOrUpdateSystemMenu 添加或者更新系统菜单权限
  14. func CreatedOrUpdateSystemMenu(c *gin.Context) {
  15. var req pasturePb.SearchMenuRequest
  16. if err := ginutil.BindProto(c, &req); err != nil {
  17. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  18. return
  19. }
  20. if err := valid.ValidateStruct(&req,
  21. valid.Field(&req.Name, valid.Required),
  22. valid.Field(&req.Title, valid.Required),
  23. valid.Field(&req.MenuType, valid.Required, valid.Min(0), valid.Max(2)),
  24. valid.Field(&req.Path, valid.Required),
  25. ); err != nil {
  26. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  27. return
  28. }
  29. if err := middleware.BackendOperation(c).OpsService.CreateOrUpdateSystemMenu(c, &req); err != nil {
  30. apierr.ClassifiedAbort(c, err)
  31. return
  32. }
  33. ginutil.JSONResp(c, &operationPb.CommonOK{
  34. Code: http.StatusOK,
  35. Msg: "ok",
  36. Data: &operationPb.Success{Success: true},
  37. })
  38. }
  39. // SearchSystemMenuList 菜单列表查询
  40. func SearchSystemMenuList(c *gin.Context) {
  41. var req pasturePb.SearchMenuRequest
  42. if err := ginutil.BindProto(c, &req); err != nil {
  43. apierr.AbortBadRequest(c, http.StatusBadRequest, err)
  44. return
  45. }
  46. req.Pagination = &pasturePb.PaginationModel{
  47. Page: int32(c.GetInt(middleware.Page)),
  48. PageSize: int32(c.GetInt(middleware.PageSize)),
  49. PageOffset: int32(c.GetInt(middleware.PageOffset)),
  50. }
  51. res, err := middleware.Dependency(c).StoreEventHub.OpsService.SearchSystemMenuList(c, &req)
  52. if err != nil {
  53. apierr.ClassifiedAbort(c, err)
  54. return
  55. }
  56. ginutil.JSONResp(c, res)
  57. }
  58. // DeleteSystemMenu 删除菜单
  59. func DeleteSystemMenu(c *gin.Context) {
  60. menuIdStr := c.Param("id")
  61. menuId, _ := strconv.Atoi(menuIdStr)
  62. if err := valid.Validate(menuId, valid.Required, valid.Min(1)); err != nil {
  63. apierr.ClassifiedAbort(c, err)
  64. return
  65. }
  66. if err := middleware.BackendOperation(c).OpsService.DeleteSystemMenu(c, int64(menuId)); err != nil {
  67. apierr.ClassifiedAbort(c, err)
  68. return
  69. }
  70. ginutil.JSONResp(c, &operationPb.CommonOK{
  71. Code: http.StatusOK,
  72. Msg: "ok",
  73. Data: &operationPb.Success{Success: true},
  74. })
  75. }