mirror of
https://gitee.com/xiangheng/x_admin.git
synced 2025-12-24 08:12:55 +08:00
修复角色没有菜单时获取详情失败
This commit is contained in:
@@ -37,12 +37,12 @@ type systemAuthPermService struct {
|
||||
func (service systemAuthPermService) SelectMenuIdsByRoleId(roleId uint) (menuIds []uint, e error) {
|
||||
var role system_model.SystemAuthRole
|
||||
err := service.db.Where("id = ? AND is_disable = ?", roleId, 0).Limit(1).First(&role).Error
|
||||
if e = response.CheckErr(err, "SelectMenuIdsByRoleId First err"); e != nil {
|
||||
if e = response.CheckErr(err, "角色不存在"); e != nil {
|
||||
return []uint{}, e
|
||||
}
|
||||
var perms []system_model.SystemAuthPerm
|
||||
err = service.db.Where("role_id = ?", role.ID).Find(&perms).Error
|
||||
if e = response.CheckErr(err, "SelectMenuIdsByRoleId Find err"); e != nil {
|
||||
if e = response.CheckErr(err, "查询角色的菜单失败"); e != nil {
|
||||
return []uint{}, e
|
||||
}
|
||||
for _, perm := range perms {
|
||||
@@ -55,7 +55,7 @@ func (service systemAuthPermService) SelectMenuIdsByRoleId(roleId uint) (menuIds
|
||||
func (service systemAuthPermService) CacheRoleMenusByRoleId(roleId uint) (e error) {
|
||||
var perms []system_model.SystemAuthPerm
|
||||
err := service.db.Where("role_id = ?", roleId).Find(&perms).Error
|
||||
if e = response.CheckErr(err, "CacheRoleMenusByRoleId Find perms err"); e != nil {
|
||||
if e = response.CheckErr(err, "查询角色的菜单失败"); e != nil {
|
||||
return
|
||||
}
|
||||
var menuIds []uint
|
||||
|
||||
@@ -88,7 +88,7 @@ func (roleSrv systemAuthRoleService) Detail(id uint) (res SystemAuthRoleResp, e
|
||||
}
|
||||
response.Copy(&res, role)
|
||||
res.Member = roleSrv.getMemberCnt(role.ID)
|
||||
res.Menus, e = PermService.SelectMenuIdsByRoleId(role.ID)
|
||||
res.Menus, _ = PermService.SelectMenuIdsByRoleId(role.ID)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -205,7 +205,7 @@ func CheckMysqlErr(err error) (e error) {
|
||||
switch mysqlErr.Number {
|
||||
case 404:
|
||||
core.Logger.WithOptions(zap.AddCallerSkip(1)).Errorf("record not found: err=[%+v]", err)
|
||||
return SystemError.Make("record not found")
|
||||
return SystemError.Make("数据不存在")
|
||||
case 1062: // MySQL中表示重复条目的代码
|
||||
core.Logger.WithOptions(zap.AddCallerSkip(1)).Infof("数据已存在: err=[%+v]", err)
|
||||
return SystemError.Make("数据已存在")
|
||||
|
||||
Reference in New Issue
Block a user