Skip to content

Commit 7c2bd93

Browse files
committed
chore: 优化菜单服务
1 parent b7d246f commit 7c2bd93

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

service/menu.go

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,29 @@ import (
1010
"gorm.io/gorm"
1111
)
1212

13-
type MenuService struct{}
13+
type MenuService struct {
14+
GuardName string
15+
}
1416

1517
// 初始化
1618
func NewMenuService() *MenuService {
17-
return &MenuService{}
19+
return &MenuService{
20+
GuardName: "admin",
21+
}
22+
}
23+
24+
// 设置守卫名称
25+
func (p *MenuService) SetGuardName(guardName string) *MenuService {
26+
p.GuardName = guardName
27+
return p
1828
}
1929

2030
// 获取菜单列表
2131
func (p *MenuService) GetList() (menus []model.Menu, Error error) {
2232
list := []model.Menu{}
2333

2434
err := db.Client.
25-
Where("guard_name = ?", "admin").
35+
Where("guard_name = ?", p.GuardName).
2636
Where("status = ?", 1).
2737
Order("sort asc,id asc").
2838
Select("name", "id", "pid").
@@ -47,7 +57,7 @@ func (p *MenuService) GetListWithRoot() (menus []model.Menu, Error error) {
4757
func (p *MenuService) FindParentTreeNode(chrildPid int) (list []model.Menu) {
4858
menus := []model.Menu{}
4959
db.Client.
50-
Where("guard_name = ?", "admin").
60+
Where("guard_name = ?", p.GuardName).
5161
Where("id = ?", chrildPid).
5262
Where("status = ?", 1).
5363
Where("type IN ?", []int{1, 2, 3}).
@@ -69,13 +79,13 @@ func (p *MenuService) FindParentTreeNode(chrildPid int) (list []model.Menu) {
6979
return menus
7080
}
7181

72-
// 通过管理员ID权限菜单
73-
func (p *MenuService) GetListByAdminId(adminId int) (menuList interface{}, err error) {
82+
// 通过用户ID获取菜单
83+
func (p *MenuService) GetListByUserId(userId int) (menuList interface{}, err error) {
7484
menus := []model.Menu{}
7585

76-
if adminId == 1 {
86+
if userId == 1 {
7787
db.Client.
78-
Where("guard_name", "admin").
88+
Where("guard_name", p.GuardName).
7989
Where("status = ?", 1).
8090
Where("type IN ?", []int{1, 2, 3}).
8191
Order("sort asc").
@@ -85,7 +95,7 @@ func (p *MenuService) GetListByAdminId(adminId int) (menuList interface{}, err e
8595
}
8696

8797
var menuIds []int
88-
roleHasMenus, err := NewCasbinService().GetUserMenus(adminId)
98+
roleHasMenus, err := NewCasbinService().GetUserMenus(userId)
8999
if err != nil {
90100
return menuList, err
91101
}
@@ -99,7 +109,7 @@ func (p *MenuService) GetListByAdminId(adminId int) (menuList interface{}, err e
99109

100110
// 最底层列表
101111
db.Client.
102-
Where("guard_name = ?", "admin").
112+
Where("guard_name = ?", p.GuardName).
103113
Where("status = ?", 1).
104114
Where("id in ?", menuIds).
105115
Where("type IN ?", []int{1, 2, 3}).
@@ -115,7 +125,7 @@ func (p *MenuService) GetListByAdminId(adminId int) (menuList interface{}, err e
115125

116126
// 所有列表
117127
db.Client.
118-
Where("guard_name = ?", "admin").
128+
Where("guard_name = ?", p.GuardName).
119129
Where("status = ?", 1).
120130
Where("id in ?", menuIds).
121131
Order("sort asc").

service/user.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func (p *UserService) GetInfoByUsername(username string) (user model.User, Error
3030

3131
// 通过ID获取管理员拥有的菜单列表
3232
func (p *UserService) GetMenuListById(id interface{}) (menuList interface{}, Error error) {
33-
return NewMenuService().GetListByAdminId(id.(int))
33+
return NewMenuService().GetListByUserId(id.(int))
3434
}
3535

3636
// 更新最后一次登录数据

0 commit comments

Comments
 (0)