sys_auth_rule.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*
  2. * @desc:菜单
  3. * @company:云南奇讯科技有限公司
  4. * @Author: yixiaohu
  5. * @Date: 2022/3/16 10:36
  6. */
  7. package controller
  8. import (
  9. "context"
  10. "github.com/tiger1103/gfast/v3/api/v1/system"
  11. "github.com/tiger1103/gfast/v3/internal/app/system/model"
  12. "github.com/tiger1103/gfast/v3/internal/app/system/service"
  13. )
  14. var Menu = menuController{}
  15. type menuController struct {
  16. }
  17. func (c *menuController) List(ctx context.Context, req *system.RuleSearchReq) (res *system.RuleListRes, err error) {
  18. var list []*model.SysAuthRuleInfoRes
  19. res = &system.RuleListRes{
  20. Rules: make([]*model.SysAuthRuleTreeRes, 0),
  21. }
  22. list, err = service.Rule().GetMenuListSearch(ctx, req)
  23. if req.Title != "" || req.Component != "" {
  24. for _, menu := range list {
  25. res.Rules = append(res.Rules, &model.SysAuthRuleTreeRes{
  26. SysAuthRuleInfoRes: menu,
  27. })
  28. }
  29. } else {
  30. res.Rules = service.Rule().GetMenuListTree(0, list)
  31. }
  32. return
  33. }
  34. func (c *menuController) Add(ctx context.Context, req *system.RuleAddReq) (res *system.RuleAddRes, err error) {
  35. err = service.Rule().Add(ctx, req)
  36. return
  37. }
  38. // GetAddParams 获取菜单添加及编辑相关参数
  39. func (c *menuController) GetAddParams(ctx context.Context, req *system.RuleGetParamsReq) (res *system.RuleGetParamsRes, err error) {
  40. // 获取角色列表
  41. res = new(system.RuleGetParamsRes)
  42. res.Roles, err = service.Role().GetRoleList(ctx)
  43. if err != nil {
  44. return
  45. }
  46. res.Menus, err = service.Rule().GetIsMenuList(ctx)
  47. return
  48. }
  49. // Get 获取菜单信息
  50. func (c *menuController) Get(ctx context.Context, req *system.RuleInfoReq) (res *system.RuleInfoRes, err error) {
  51. res = new(system.RuleInfoRes)
  52. res.Rule, err = service.Rule().Get(ctx, req.Id)
  53. if err != nil {
  54. return
  55. }
  56. res.RoleIds, err = service.Rule().GetMenuRoles(ctx, req.Id)
  57. return
  58. }
  59. // Update 菜单修改
  60. func (c *menuController) Update(ctx context.Context, req *system.RuleUpdateReq) (res *system.RuleUpdateRes, err error) {
  61. err = service.Rule().Update(ctx, req)
  62. return
  63. }