修复角色没有菜单时获取详情失败

This commit is contained in:
xiangheng
2024-04-29 14:24:29 +08:00
parent 174c8a83c7
commit e1c211666b
3 changed files with 5 additions and 5 deletions

View File

@@ -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

View File

@@ -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
}

View File

@@ -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("数据已存在")