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
}
_ = 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
menus, err := isql.Menu.List()
menus, err = isql.Menu.ListUserMenus(roleIds)
if err != nil {
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
}
// 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 {
return common.DB.Where("id IN (?)", menuIds).Select("Roles").Unscoped().Delete(&model.Menu{}).Error