逻辑:
通过修改操作实现用户加入部门、修改部门、退出部门的功能。用户不可对自己的部门进行变更,只有企业创始人可以进行用户部门变更的操作。企业创始人不可以加入部门,企业管理员可加入部门。
Controller层:
@PostMapping("/join_department")
public Result<String> joinDepartment(@RequestParam Integer userId,@RequestParam Integer departmentId,@RequestParam Integer companyId) {
if (userService.getUserByIdAndCompany(userId,companyId) == null ) {
return Result.error(ErrorEnum.UserNotExistError);
} else {
if (departmentService.getDepartmentByCompany(companyId) == null) {
return Result.error(ErrorEnum.DepartmentNotExistError);
} else {
if (userService.joinDepartment(userId, departmentId))
return Result.success("加入部门成功");
else
return Result.error(ErrorEnum.JoinDepartmentError);
}
}
}
Service层:
@Override
public Boolean joinDepartment(Integer userId, Integer departmentId) {
User user = userRepository.findUserByIdAndDeletedFalse(userId);
if (user.getPermission() == 4) {
return false;
}
user.setDepartmentId(departmentId);
userRepository.saveAndFlush(user);
return true;
}