逻辑:
同一企业内部的部门不能重名,不同企业的部门可以重名。
Controller层:
@PutMapping("/setup")
public Result<DepartmentVo> setupDepartment(Integer companyId, String departmentName) {
if (departmentService.getDepartmentByNameAndCompany(departmentName,companyId) == null){
return Result.success(DepartmentVo.setDepartment(departmentService.setupDepartment(companyId,departmentName)));
} else {
return Result.error(ErrorEnum.DepartmentExistError);
}
}
Service层:
@Override
public Department setupDepartment(Integer companyId,String departmentName) {
Department department = new Department();
department.setCompanyId(companyId);
department.setName(departmentName);
departmentRepository.save(department);
return department;
}
@Override
public Department getDepartmentByNameAndCompany(String departmentName, Integer companyId) {
return departmentRepository.findDepartmentByNameAndCompanyId(departmentName,companyId);
}