统一验证管理员
This commit is contained in:
@@ -21,17 +21,6 @@ func (a *ApiService) AddApi(c *gin.Context, addApiRequest requests.AddApi) (bool
|
||||
return false, errors.New("新增失败")
|
||||
}
|
||||
|
||||
// 获取当前登陆接口角色数据
|
||||
adminRoleDao := dao.AdminRoleDao{}
|
||||
adminRole, err := adminRoleDao.GetAdminRoleFirstById(loginRoleId)
|
||||
if err != nil || adminRole == nil {
|
||||
return false, errors.New("非法操作")
|
||||
}
|
||||
|
||||
if adminRole.IsAdmin == 0 {
|
||||
return false, errors.New("您当前为普通用户,无法添加接口")
|
||||
}
|
||||
|
||||
adminApiDao := dao.AdminApiDao{}
|
||||
|
||||
// 检测接口名称+请求方式
|
||||
@@ -88,16 +77,6 @@ func (r *ApiService) DeleteApi(c *gin.Context, deleteApiRequest requests.DeleteA
|
||||
return false, errors.New("数据错误")
|
||||
}
|
||||
|
||||
AdminRoleDao := dao.AdminRoleDao{}
|
||||
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
|
||||
if err != nil || adminRole == nil {
|
||||
return false, errors.New("非法操作")
|
||||
}
|
||||
|
||||
if adminRole.IsAdmin == 0 {
|
||||
return false, errors.New("暂无权限,请联系管理员删除")
|
||||
}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
@@ -150,17 +129,6 @@ func (r *ApiService) PutApi(c *gin.Context, requestApiId int64, putApiRequest re
|
||||
return false, errors.New("数据错误")
|
||||
}
|
||||
|
||||
// 获取当前登陆接口角色数据
|
||||
adminRoleDao := dao.AdminRoleDao{}
|
||||
adminRole, err := adminRoleDao.GetAdminRoleFirstById(loginRoleId)
|
||||
if err != nil || adminRole == nil {
|
||||
return false, errors.New("非法操作")
|
||||
}
|
||||
|
||||
if adminRole.IsAdmin == 0 {
|
||||
return false, errors.New("您当前为普通用户,无法修改接口")
|
||||
}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
|
||||
+5
-15
@@ -243,18 +243,8 @@ func (r *MenuService) DeleteMenu(c *gin.Context, DeleteMenuRequest requests.Dele
|
||||
return false, errors.New("数据错误")
|
||||
}
|
||||
|
||||
AdminMenuDao := dao.AdminMenuDao{}
|
||||
AdminMenuApiDao := dao.AdminMenuApiDao{}
|
||||
|
||||
AdminRoleDao := dao.AdminRoleDao{}
|
||||
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
|
||||
if err != nil || adminRole == nil {
|
||||
return false, errors.New("非法操作")
|
||||
}
|
||||
|
||||
if adminRole.IsAdmin == 0 {
|
||||
return false, errors.New("暂无权限,请联系管理员删除")
|
||||
}
|
||||
adminMenuDao := dao.AdminMenuDao{}
|
||||
adminMenuApiDao := dao.AdminMenuApiDao{}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
@@ -273,7 +263,7 @@ func (r *MenuService) DeleteMenu(c *gin.Context, DeleteMenuRequest requests.Dele
|
||||
}
|
||||
|
||||
// 获取菜单数据
|
||||
adminMenu, _ := AdminMenuDao.GetAdminMenuById(v)
|
||||
adminMenu, _ := adminMenuDao.GetAdminMenuById(v)
|
||||
if adminMenu == nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New("删除失败")
|
||||
@@ -286,14 +276,14 @@ func (r *MenuService) DeleteMenu(c *gin.Context, DeleteMenuRequest requests.Dele
|
||||
}
|
||||
|
||||
// 删除菜单关联api
|
||||
err = AdminMenuApiDao.DeleteAdminMenuApiByMenuId(tx, v)
|
||||
err = adminMenuApiDao.DeleteAdminMenuApiByMenuId(tx, v)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New("删除失败")
|
||||
}
|
||||
|
||||
// 删除菜单
|
||||
err = AdminMenuDao.DeleteAdminMenuByMenuId(tx, v)
|
||||
err = adminMenuDao.DeleteAdminMenuByMenuId(tx, v)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return false, errors.New("删除失败")
|
||||
|
||||
+3
-29
@@ -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("修改失败")
|
||||
|
||||
+1
-27
@@ -31,14 +31,6 @@ func (r *UserService) AddUser(c *gin.Context, AddUserRequest requests.AddUser) (
|
||||
|
||||
// 获取当前登陆用户角色数据
|
||||
adminRoleDao := dao.AdminRoleDao{}
|
||||
adminRole, err := adminRoleDao.GetAdminRoleFirstById(loginRoleId)
|
||||
if err != nil || adminRole == nil {
|
||||
return false, errors.New("非法操作")
|
||||
}
|
||||
|
||||
if adminRole.IsAdmin == 0 {
|
||||
return false, errors.New("您当前为普通用户,无法添加用户")
|
||||
}
|
||||
|
||||
adminUserDao := dao.AdminUserDao{}
|
||||
AdminDeptDao := dao.AdminDeptDao{}
|
||||
@@ -62,7 +54,7 @@ func (r *UserService) AddUser(c *gin.Context, AddUserRequest requests.AddUser) (
|
||||
return false, errors.New("角色错误")
|
||||
}
|
||||
|
||||
adminRole, err = adminRoleDao.GetAdminRoleFirstById(roleID)
|
||||
adminRole, err := adminRoleDao.GetAdminRoleFirstById(roleID)
|
||||
if err != nil || adminRole == nil {
|
||||
return false, errors.New("角色错误")
|
||||
}
|
||||
@@ -153,16 +145,6 @@ func (r *UserService) DeleteUser(c *gin.Context, DeleteUserRequest requests.Dele
|
||||
return false, errors.New("数据错误")
|
||||
}
|
||||
|
||||
AdminRoleDao := dao.AdminRoleDao{}
|
||||
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
|
||||
if err != nil || adminRole == nil {
|
||||
return false, errors.New("非法操作")
|
||||
}
|
||||
|
||||
if adminRole.IsAdmin == 0 {
|
||||
return false, errors.New("暂无权限,请联系管理员删除")
|
||||
}
|
||||
|
||||
// 开始事务
|
||||
tx := global.Db.Begin()
|
||||
defer func() {
|
||||
@@ -239,14 +221,6 @@ func (r *UserService) PutUser(c *gin.Context, requestUserId int64, putUserReques
|
||||
}
|
||||
|
||||
adminRoleDao := dao.AdminRoleDao{}
|
||||
adminRole, err := adminRoleDao.GetAdminRoleFirstById(loginRoleId)
|
||||
if err != nil || adminRole == nil {
|
||||
return false, errors.New("非法操作")
|
||||
}
|
||||
|
||||
if adminRole.IsAdmin == 0 && loginUserId != requestUserId {
|
||||
return false, errors.New("普通用户只可修改自己的用户数据")
|
||||
}
|
||||
|
||||
if putUserRequest.Access != adminUser.Access {
|
||||
// 检测账号名
|
||||
|
||||
Reference in New Issue
Block a user