sys_auth_rule.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. BaseController
  17. }
  18. func (c *menuController) List(ctx context.Context, req *system.RuleSearchReq) (res *system.RuleListRes, err error) {
  19. var list []*model.SysAuthRuleInfoRes
  20. res = &system.RuleListRes{
  21. Rules: make([]*model.SysAuthRuleTreeRes, 0),
  22. }
  23. list, err = service.SysAuthRule().GetMenuListSearch(ctx, req)
  24. if req.Title != "" || req.Component != "" {
  25. for _, menu := range list {
  26. res.Rules = append(res.Rules, &model.SysAuthRuleTreeRes{
  27. SysAuthRuleInfoRes: menu,
  28. })
  29. }
  30. } else {
  31. res.Rules = service.SysAuthRule().GetMenuListTree(0, list)
  32. }
  33. return
  34. }
  35. func (c *menuController) Add(ctx context.Context, req *system.RuleAddReq) (res *system.RuleAddRes, err error) {
  36. err = service.SysAuthRule().Add(ctx, req)
  37. return
  38. }
  39. // GetAddParams 获取菜单添加及编辑相关参数
  40. func (c *menuController) GetAddParams(ctx context.Context, req *system.RuleGetParamsReq) (res *system.RuleGetParamsRes, err error) {
  41. // 获取角色列表
  42. res = new(system.RuleGetParamsRes)
  43. res.Roles, err = service.SysRole().GetRoleList(ctx)
  44. if err != nil {
  45. return
  46. }
  47. res.Menus, err = service.SysAuthRule().GetIsMenuList(ctx)
  48. return
  49. }
  50. // Get 获取菜单信息
  51. func (c *menuController) Get(ctx context.Context, req *system.RuleInfoReq) (res *system.RuleInfoRes, err error) {
  52. res = new(system.RuleInfoRes)
  53. res.Rule, err = service.SysAuthRule().Get(ctx, req.Id)
  54. if err != nil {
  55. return
  56. }
  57. res.RoleIds, err = service.SysAuthRule().GetMenuRoles(ctx, req.Id)
  58. return
  59. }
  60. // Update 菜单修改
  61. func (c *menuController) Update(ctx context.Context, req *system.RuleUpdateReq) (res *system.RuleUpdateRes, err error) {
  62. err = service.SysAuthRule().Update(ctx, req)
  63. return
  64. }
  65. // Delete 删除菜单
  66. func (c *menuController) Delete(ctx context.Context, req *system.RuleDeleteReq) (res *system.RuleDeleteRes, err error) {
  67. err = service.SysAuthRule().DeleteMenuByIds(ctx, req.Ids)
  68. return
  69. }