统一验证管理员

This commit is contained in:
2023-07-03 08:45:44 +08:00
parent a22dd7c38c
commit b569249a6e
8 changed files with 172 additions and 110 deletions
+3 -29
View File
@@ -104,18 +104,9 @@ func buildMenuTree(menuIds []int64, menuData []*model.AdminMenu) []*roleResponse
func (r *RoleService) PutRoleStatus(roleId int64, roleStatus int) (bool, error) {
// 获取请求角色数据
AdminRoleDao := dao.AdminRoleDao{}
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
if err != nil || adminRole == nil {
return false, errors.New("非法操作")
}
// 检测是否为超级管理员
if adminRole.IsAdmin == 1 {
return false, errors.New("请勿修改超级管理员数据")
}
// 修改角色状态
err = AdminRoleDao.EditAdminRoleStatusById(roleId, roleStatus)
err := AdminRoleDao.EditAdminRoleStatusById(roleId, roleStatus)
if err != nil {
return false, errors.New(err.Error())
}
@@ -150,14 +141,6 @@ func (r *RoleService) AddRole(c *gin.Context, AddRoleRequest requests.AddRole) (
// 获取当前登陆用户角色数据
AdminRoleDao := dao.AdminRoleDao{}
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
if err != nil || adminRole == nil {
return false, errors.New("非法操作")
}
if AddRoleRequest.IsAdmin == 1 && adminRole.IsAdmin == 0 {
return false, errors.New("您当前为普通用户,无法添加管理员角色")
}
AdminMenuDao := dao.AdminMenuDao{}
@@ -189,7 +172,7 @@ func (r *RoleService) AddRole(c *gin.Context, AddRoleRequest requests.AddRole) (
IsAdmin: AddRoleRequest.IsAdmin,
}
adminRole, _ = AdminRoleDao.AddAdminRole(tx, AdminRoleModel)
adminRole, _ := AdminRoleDao.AddAdminRole(tx, AdminRoleModel)
if adminRole == nil {
tx.Rollback()
return false, errors.New("新增失败")
@@ -231,15 +214,6 @@ func (r *RoleService) PutRole(c *gin.Context, requestRoleId int64, PutRoleReques
}
AdminRoleDao := dao.AdminRoleDao{}
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
if err != nil || adminRole == nil {
return false, errors.New("非法操作")
}
if PutRoleRequest.IsAdmin == 1 && adminRole.IsAdmin == 0 {
return false, errors.New("您当前为普通用户,无法设置管理员")
}
AdminMenuDao := dao.AdminMenuDao{}
// 判断菜单id
@@ -268,7 +242,7 @@ func (r *RoleService) PutRole(c *gin.Context, requestRoleId int64, PutRoleReques
data := make(map[string]interface{})
data["role_name"] = PutRoleRequest.RoleName
data["is_admin"] = PutRoleRequest.IsAdmin
err = AdminRoleDao.EditAdminRoleById(tx, requestRoleId, data)
err := AdminRoleDao.EditAdminRoleById(tx, requestRoleId, data)
if err != nil {
tx.Rollback()
return false, errors.New("修改失败")