提交 9bef06bd 作者: zhenjie

账号关联角色bug修复

上级 df5b953a
...@@ -69,7 +69,6 @@ public class RoleController extends BaseController { ...@@ -69,7 +69,6 @@ public class RoleController extends BaseController {
return roleService.listRoleMenuInfo(roleId); return roleService.listRoleMenuInfo(roleId);
} }
@ApiOperation(value = "修改角色菜单权限") @ApiOperation(value = "修改角色菜单权限")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)}) @ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("updateRoleMenuInfo") @PostMapping("updateRoleMenuInfo")
......
...@@ -47,15 +47,15 @@ public class BackUserAccountServiceImpl implements BackUserAccountService { ...@@ -47,15 +47,15 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
public ResultBody insertBAccount(BUserAccountVO bUserAccountVO) { public ResultBody insertBAccount(BUserAccountVO bUserAccountVO) {
if (!bUserAccountVO.getPassWord().equals(bUserAccountVO.getAlertPwd())) { if (!bUserAccountVO.getPassWord().equals(bUserAccountVO.getAlertPwd())) {
// 两次密码不一致 // 两次密码不一致
throw new BizException(ResultEnum.PWD_ALERT_ERROR); return ResultBody.error(ResultEnum.PWD_ALERT_ERROR);
} }
// 获取新增的账户名是否已经存在 // 获取新增的账户名是否已经存在
int count = backUserAccountDao.countUserAccountNo(null, bUserAccountVO.getAccountNo()); int count = backUserAccountDao.countUserAccountNo(null, bUserAccountVO.getAccountNo());
if (count > 0) { if (count > 0) {
throw new BizException(ResultEnum.ADD_USER_ACCOUNT_NAME_EXISTS); return ResultBody.error(ResultEnum.ADD_USER_ACCOUNT_NAME_EXISTS);
} }
if (bUserAccountVO.getRoleId().equals(RoleEnums.ADMIN.getId())) { if (bUserAccountVO.getRoleId().equals(RoleEnums.ADMIN.getId())) {
throw new BizException(ResultEnum.ONLY_ONE_ADMIN_ERROR); return ResultBody.error(ResultEnum.ONLY_ONE_ADMIN_ERROR);
} }
roleDao.insertUserRoleRel(bUserAccountVO.getId(), bUserAccountVO.getRoleId()); roleDao.insertUserRoleRel(bUserAccountVO.getId(), bUserAccountVO.getRoleId());
BackUserAccountDO backUserAccountDO = new BackUserAccountDO(bUserAccountVO); BackUserAccountDO backUserAccountDO = new BackUserAccountDO(bUserAccountVO);
...@@ -86,27 +86,28 @@ public class BackUserAccountServiceImpl implements BackUserAccountService { ...@@ -86,27 +86,28 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
throw new BizException(ResultEnum.UPDATE_USER_ACCOUNT_REPEAT); throw new BizException(ResultEnum.UPDATE_USER_ACCOUNT_REPEAT);
} }
} }
BackUserAccountDO userAccountDO = new BackUserAccountDO(bUserAccountVO);
backUserAccountDao.updateBackUserAccount(userAccountDO);
// 修改单位信息
if (bUserAccountVO.getCompanyId() != null) {
CompanyBackUserDO companyBackUserDO = new CompanyBackUserDO();
companyBackUserDO.setBackUserAccountId(userAccountDO.getId());
companyBackUserDO.setCompanyInfoId(bUserAccountVO.getCompanyId());
companyService.updateCompanyBackUser(companyBackUserDO);
}
// 当前角色不是超级管理员,则不能修改为管理员账号 // 当前角色不是超级管理员,则不能修改为管理员账号
RoleInfoDO roleInfoDO = roleDao.getRoleInfoByUserId(bUserAccountVO.getId()); RoleInfoDO roleInfoDO = roleDao.getRoleInfoByUserId(bUserAccountVO.getId());
if (!roleInfoDO.getId().equals(RoleEnums.ADMIN.getId()) && bUserAccountVO.getRoleId().equals(RoleEnums.ADMIN.getId())) { if (!roleInfoDO.getId().equals(RoleEnums.ADMIN.getId()) && bUserAccountVO.getRoleId().equals(RoleEnums.ADMIN.getId())) {
throw new BizException(ResultEnum.ONLY_ONE_ADMIN_ERROR); return ResultBody.error(ResultEnum.ONLY_ONE_ADMIN_ERROR);
} }
// 不能修改自己的角色 // 不能修改自己的角色
if (loginSuccessDTO.getUserAccountId().toString().equals(bUserAccountVO.getId().toString())) { if (loginSuccessDTO.getUserAccountId().toString().equals(bUserAccountVO.getId().toString())
throw new BizException(ResultEnum.UPDATE_OWNER_ROLE_ERROR); && !bUserAccountVO.getRoleId().toString().equals(roleInfoDO.getId())) {
return ResultBody.error(ResultEnum.UPDATE_OWNER_ROLE_ERROR);
} }
// 不能修改admin账号的角色 // 不能修改admin账号的角色
if (bUserAccountVO.getId().equals(1) && !bUserAccountVO.getRoleId().equals(RoleEnums.ADMIN.getId())) { if (bUserAccountVO.getId().equals(1) && !bUserAccountVO.getRoleId().equals(RoleEnums.ADMIN.getId())) {
throw new BizException(ResultEnum.UPDATE_ADMIN_ROLE_ERROR); return ResultBody.error(ResultEnum.UPDATE_ADMIN_ROLE_ERROR);
}
BackUserAccountDO userAccountDO = new BackUserAccountDO(bUserAccountVO);
backUserAccountDao.updateBackUserAccount(userAccountDO);
// 修改单位信息
if (bUserAccountVO.getCompanyId() != null) {
CompanyBackUserDO companyBackUserDO = new CompanyBackUserDO();
companyBackUserDO.setBackUserAccountId(userAccountDO.getId());
companyBackUserDO.setCompanyInfoId(bUserAccountVO.getCompanyId());
companyService.updateCompanyBackUser(companyBackUserDO);
} }
roleDao.updateUserRoleRel(bUserAccountVO.getId(), bUserAccountVO.getRoleId()); roleDao.updateUserRoleRel(bUserAccountVO.getId(), bUserAccountVO.getRoleId());
return ResultBody.success(); return ResultBody.success();
......
...@@ -101,19 +101,17 @@ public class RoleServiceImpl implements RoleService { ...@@ -101,19 +101,17 @@ public class RoleServiceImpl implements RoleService {
if (roleMenuInfoVO.getRoleId().equals(loginSuccessDTO.getRoleInfo().getId())) { if (roleMenuInfoVO.getRoleId().equals(loginSuccessDTO.getRoleInfo().getId())) {
return ResultBody.error(ResultEnum.UPDATE_OWNER_ROLE_MENUS_ERROR); return ResultBody.error(ResultEnum.UPDATE_OWNER_ROLE_MENUS_ERROR);
} }
if (!CollectionUtils.isEmpty(roleMenuInfoVO.getMenuInfoIds())) { List<MenuInfoDO> menuInfoDOList = roleDao.listRoleMenuInfo(roleMenuInfoVO.getRoleId());
List<MenuInfoDO> menuInfoDOList = roleDao.listRoleMenuInfo(roleMenuInfoVO.getRoleId()); List<Integer> existMenuIds = menuInfoDOList.stream().map(MenuInfoDO::getId).collect(Collectors.toList());
List<Integer> existMenuIds = menuInfoDOList.stream().map(MenuInfoDO::getId).collect(Collectors.toList()); // 新添加的权限
// 新添加的权限 List<Integer> addMenuIds = roleMenuInfoVO.getMenuInfoIds().stream().filter(v -> !existMenuIds.contains(v)).collect(Collectors.toList());
List<Integer> addMenuIds = roleMenuInfoVO.getMenuInfoIds().stream().filter(v -> !existMenuIds.contains(v)).collect(Collectors.toList()); // 需删除的权限
// 需删除的权限 List<Integer> deleteMenuIds = existMenuIds.stream().filter(v -> !roleMenuInfoVO.getMenuInfoIds().contains(v)).collect(Collectors.toList());
List<Integer> deleteMenuIds = existMenuIds.stream().filter(v -> !roleMenuInfoVO.getMenuInfoIds().contains(v)).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(addMenuIds)) {
if (!CollectionUtils.isEmpty(addMenuIds)) { roleDao.batchAddMenuIds(roleMenuInfoVO.getRoleId(), addMenuIds);
roleDao.batchAddMenuIds(roleMenuInfoVO.getRoleId(), addMenuIds); }
} if (!CollectionUtils.isEmpty(deleteMenuIds)) {
if (!CollectionUtils.isEmpty(deleteMenuIds)) { roleDao.batchDeleteMenuIds(roleMenuInfoVO.getRoleId(), deleteMenuIds);
roleDao.batchDeleteMenuIds(roleMenuInfoVO.getRoleId(), deleteMenuIds);
}
} }
return ResultBody.success(); return ResultBody.success();
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论