Skip to content

Commit 822aa6a

Browse files
Ashish MishraAshish Mishra
authored andcommitted
addint the addition filteration api's
1 parent ba56321 commit 822aa6a

4 files changed

Lines changed: 70 additions & 4 deletions

File tree

src/main/java/com/beneite/SpringWithDocker/controller/EmployeeController.java

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,58 @@ public ResponseEntity<GetEmployeeResponseDto> getUserByIdApi(@PathVariable("id")
7979
}
8080

8181
@Operation(
82-
summary = "Get Employee API with company email id",
83-
description = "this API get a Employee record by id"
82+
summary = "Get Employee details from company email id",
83+
description = "this API get a Employee record by company email id"
8484
)
8585
@ApiResponse(
8686
responseCode = "200",
87-
description = "200-success, display the Employee record created"
87+
description = "200-success, display the Employee record"
8888
)
8989
@GetMapping(GET_EMPLOYEE+"/companyEmail/{email}")
9090
public ResponseEntity<GetEmployeeResponseDto> getUserByCompanyEmailIdApi(@PathVariable("email") String companyEmailId){
9191
GetEmployeeResponseDto getEmployeeResponseDto = employeeServiceImpl.getEmployeeByCompanyEmailId(companyEmailId);
9292
return new ResponseEntity<>(getEmployeeResponseDto, HttpStatus.OK);
9393
}
94+
95+
@Operation(
96+
summary = "Get Employee from a specific department name",
97+
description = "this API get a Employee record by from a specific department"
98+
)
99+
@ApiResponse(
100+
responseCode = "200",
101+
description = "200-success, display Employee from a specific department name"
102+
)
103+
@GetMapping(GET_EMPLOYEE+"/departmentName/{departmentName}")
104+
public ResponseEntity<List<GetEmployeeResponseDto>> getUserByDepartmentNameApi(@PathVariable("departmentName") String departmentName){
105+
List<GetEmployeeResponseDto> getEmployeeResponseDto = employeeServiceImpl.getEmployeeByDepartment(departmentName);
106+
return new ResponseEntity<>(getEmployeeResponseDto, HttpStatus.OK);
107+
}
108+
109+
@Operation(
110+
summary = "Get Employee from a specific businessUnit name",
111+
description = "this API get a Employee record by from a specific businessUnit"
112+
)
113+
@ApiResponse(
114+
responseCode = "200",
115+
description = "200-success, display Employee from a specific businessUnit name"
116+
)
117+
@GetMapping(GET_EMPLOYEE+"/businessUnit/{businessUnit}")
118+
public ResponseEntity<List<GetEmployeeResponseDto>> getUserByBusinessUnitApi(@PathVariable("businessUnit") String departmentName){
119+
List<GetEmployeeResponseDto> getEmployeeResponseDto = employeeServiceImpl.getEmployeeByBusinessUnit(departmentName);
120+
return new ResponseEntity<>(getEmployeeResponseDto, HttpStatus.OK);
121+
}
122+
123+
@Operation(
124+
summary = "Get Employee from a specific band name",
125+
description = "this API get a Employee record by from a specific band"
126+
)
127+
@ApiResponse(
128+
responseCode = "200",
129+
description = "200-success, display Employee from a specific band name"
130+
)
131+
@GetMapping(GET_EMPLOYEE+"/band/{businessUnit}")
132+
public ResponseEntity<List<GetEmployeeResponseDto>> getUserByBandApi(@PathVariable("businessUnit") String departmentName){
133+
List<GetEmployeeResponseDto> getEmployeeResponseDto = employeeServiceImpl.getEmployeeByBand(departmentName);
134+
return new ResponseEntity<>(getEmployeeResponseDto, HttpStatus.OK);
135+
}
94136
}

src/main/java/com/beneite/SpringWithDocker/repository/EmployeeRepository.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,13 @@
33
import com.beneite.SpringWithDocker.entity.EmployeeEntity;
44
import org.springframework.data.jpa.repository.JpaRepository;
55

6+
import java.util.List;
67
import java.util.Optional;
78

89
public interface EmployeeRepository extends JpaRepository<EmployeeEntity, Long> {
910

1011
Optional<EmployeeEntity> findByCompanyEmail(String email);
12+
List<EmployeeEntity> findByDepartment(String departmentName);
13+
List<EmployeeEntity> findByBusinessUnit(String businessUnit);
14+
List<EmployeeEntity> findByBand(String band);
1115
}

src/main/java/com/beneite/SpringWithDocker/service/EmployeeService.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,8 @@ public interface EmployeeService {
1212
List<GetEmployeeResponseDto> getAllEmployeeImplementation();
1313
GetEmployeeResponseDto getEmployeeImplementation(Long employeeId);
1414
GetEmployeeResponseDto getEmployeeByCompanyEmailId(String companyEmailId);
15+
List<GetEmployeeResponseDto> getEmployeeByDepartment(String departmentName);
16+
List<GetEmployeeResponseDto> getEmployeeByBusinessUnit(String businessUnit);
17+
List<GetEmployeeResponseDto> getEmployeeByBand(String band);
1518

1619
}

src/main/java/com/beneite/SpringWithDocker/service/implementation/EmployeeServiceImpl.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import com.beneite.SpringWithDocker.dto.responseDto.CreateEmployeeResponseDto;
66
import com.beneite.SpringWithDocker.dto.responseDto.GetEmployeeResponseDto;
77
import com.beneite.SpringWithDocker.entity.EmployeeEntity;
8-
import com.beneite.SpringWithDocker.entity.UserEntity;
98
import com.beneite.SpringWithDocker.exception.DuplicateEmailException;
109
import com.beneite.SpringWithDocker.exception.ResourceNotFoundException;
1110
import com.beneite.SpringWithDocker.mapper.AutoUserMapper;
@@ -83,5 +82,23 @@ public GetEmployeeResponseDto getEmployeeByCompanyEmailId(String companyEmailId)
8382
return AutoUserMapper.MAPPER.mapToGetEmployeeResponseDto(employeeEntity);
8483
}
8584

85+
@Override
86+
public List<GetEmployeeResponseDto> getEmployeeByDepartment(String departmentName) {
87+
List<EmployeeEntity> employeeEntity = employeeRepository.findByDepartment(departmentName);
88+
return employeeEntity.stream().map(entity -> AutoUserMapper.MAPPER.mapToGetEmployeeResponseDto(entity)).collect(Collectors.toList());
89+
}
90+
91+
@Override
92+
public List<GetEmployeeResponseDto> getEmployeeByBusinessUnit(String businessUnit) {
93+
List<EmployeeEntity> employeeEntity = employeeRepository.findByBusinessUnit(businessUnit);
94+
return employeeEntity.stream().map(entity -> AutoUserMapper.MAPPER.mapToGetEmployeeResponseDto(entity)).collect(Collectors.toList());
95+
}
96+
97+
@Override
98+
public List<GetEmployeeResponseDto> getEmployeeByBand(String band) {
99+
List<EmployeeEntity> employeeEntity = employeeRepository.findByBand(band);
100+
return employeeEntity.stream().map(entity -> AutoUserMapper.MAPPER.mapToGetEmployeeResponseDto(entity)).collect(Collectors.toList());
101+
}
102+
86103

87104
}

0 commit comments

Comments
 (0)