package com.poc.service; import java.awt.print.Book; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.poc.entity.Employee; import com.poc.mapper.EmployeeMapper; import com.poc.model.Emp; import com.poc.repository.EmpMongoRepository; import com.poc.repository.EmpRepository; @Service public class EmployeeServiceImpl implements EmployeeService { @Autowired private EmpMongoRepository empMongoRepository; @Autowired private EmployeeMapper employeeMapper; @Autowired private EmpRepository empRepository; @Override public Emp findByEmpId(Long empId) { return (Emp)employeeMapper.mapEntityToPojo(empMongoRepository.findByEmpId(empId)); } @Override public Emp findById(String id) { return (Emp)employeeMapper.mapEntityToPojo(empMongoRepository.findById(id).orElse(new Employee())); } @Override public List findAll() { List list= empMongoRepository.findAll(); List empList= list.stream() .map(e->employeeMapper.mapEntityToPojo(e)) .map(e->(Emp)e) .collect(Collectors.toList()); return empList; } @Override public Emp save(Emp emp) { Employee employee = (Employee) employeeMapper.mapPojoToEntity(emp); return (Emp)employeeMapper.mapEntityToPojo(empMongoRepository.save(employee)); } @Override public void saveOrUpdate(Emp emp) { Employee employee = (Employee) employeeMapper.mapPojoToEntity(emp); empRepository.saveOrUpdate(employee); } @Override public List findBySalary(Double sal) { List empList= null; try (Stream stream = empMongoRepository.findBySalary(sal)) { List list = stream.collect(Collectors.toList()); empList= list.stream() .map(e->(Emp)employeeMapper.mapEntityToPojo(e)) .collect(Collectors.toList()); } return empList; } @Override public Long deleteByEmpId(Long empId) { return empMongoRepository.deleteByEmployeeId(empId); } }