Browse Source

fix: role edit

hsun 1 year ago
parent
commit
a723a4fe1b
1 changed files with 22 additions and 13 deletions
  1. 22 13
      controllers/sys_role.go

+ 22 - 13
controllers/sys_role.go

@@ -102,23 +102,32 @@ func (this *SysRoleController) Edit() {
 		br.Msg = "分组名称不能为空"
 		return
 	}
-	item, err := system.GetSysRoleByName(req.RoleName)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		br.Msg = "获取数据失败"
-		br.ErrMsg = "获取数据失败,Err:" + err.Error()
-		return
-	}
-	if item != nil {
-		if item.RoleId != req.RoleId {
-			br.Msg = "名称已存在,请重新输入"
+
+	item, e := system.GetSysRoleById(req.RoleId)
+	if e != nil {
+		if e.Error() != utils.ErrNoRow() {
+			br.Msg = "操作失败"
+			br.ErrMsg = "获取角色失败, Err: " + e.Error()
 			return
 		}
+		br.Msg = "角色不存在, 请刷新页面"
+		return
+	}
+	exists, e := system.GetSysRoleByName(req.RoleName)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		br.Msg = "操作失败"
+		br.ErrMsg = "获取重名角色失败, Err: " + e.Error()
+		return
+	}
+	if exists != nil && exists.RoleId != item.RoleId {
+		br.Msg = "名称已存在,请重新输入"
+		return
 	}
 	roleTypeCode := services.GetRoleTypeCode(req.RoleType)
-	err = system.ModifySysRole(req.RoleName, req.RoleType, roleTypeCode, req.RoleId)
-	if err != nil {
-		br.Msg = "修改失败"
-		br.ErrMsg = "修改失败,Err:" + err.Error()
+	e = system.ModifySysRole(req.RoleName, req.RoleType, roleTypeCode, req.RoleId)
+	if e != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "更新角色信息失败, Err: " + e.Error()
 		return
 	}