This commit is contained in:
eryajf 2022-06-01 11:17:28 +08:00
commit 0e9b150de6
2 changed files with 15 additions and 2 deletions

View File

@ -168,9 +168,16 @@ func (l MenuLogic) GetTree(c *gin.Context, req interface{}) (data interface{}, r
return nil, ReqAssertErr return nil, ReqAssertErr
} }
_ = c _ = c
ctxUser, err := isql.User.GetCurrentLoginUser(c)
if err != nil {
return nil, tools.NewMySqlError(fmt.Errorf("获取当前登陆用户信息失败"))
}
roleIds := []uint{}
for _, role := range ctxUser.Roles {
roleIds = append(roleIds, role.ID)
}
var menus []*model.Menu var menus []*model.Menu
menus, err := isql.Menu.List() menus, err = isql.Menu.ListUserMenus(roleIds)
if err != nil { if err != nil {
return nil, tools.NewMySqlError(fmt.Errorf("获取资源列表失败: " + err.Error())) return nil, tools.NewMySqlError(fmt.Errorf("获取资源列表失败: " + err.Error()))
} }

View File

@ -47,6 +47,12 @@ func (s MenuService) List() (menus []*model.Menu, err error) {
return menus, err return menus, err
} }
// List 获取数据列表
func (s MenuService) ListUserMenus(roleIds []uint) (menus []*model.Menu, err error) {
err = common.DB.Where("id IN (select menu_id as id from role_menus where role_id IN (?))", roleIds).Order("sort").Find(&menus).Error
return menus, err
}
// 批量删除资源 // 批量删除资源
func (s MenuService) Delete(menuIds []uint) error { func (s MenuService) Delete(menuIds []uint) error {
return common.DB.Where("id IN (?)", menuIds).Select("Roles").Unscoped().Delete(&model.Menu{}).Error return common.DB.Where("id IN (?)", menuIds).Select("Roles").Unscoped().Delete(&model.Menu{}).Error