package cn.minbb.job.service.impl; import cn.minbb.job.model.Company; import cn.minbb.job.model.Industry; import cn.minbb.job.model.repository.CompanyRepository; import cn.minbb.job.service.CompanyService; import cn.minbb.job.util.PageHelper; import cn.minbb.job.util.SortTool; import org.springframework.data.domain.Example; import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service public class CompanyServiceImpl implements CompanyService { private final CompanyRepository companyRepository; public CompanyServiceImpl(CompanyRepository companyRepository) { this.companyRepository = companyRepository; } @Override public Company findOneById(Integer id) { if (null == id) return null; return companyRepository.findById(id).orElse(null); } @Override public Page findAll(Integer page, Integer size) { Company company = new Company(); company.setIsEnabled(Boolean.TRUE); return companyRepository.findAll(Example.of(company), PageHelper.of(page, size, SortTool.priorityDown())); } @Override public Page findAllByIndustryIn(Industry industry, Integer page, Integer size) { List industryList = new ArrayList<>(1); industryList.add(industry); return findAllByIndustryListIn(industryList, page, size); } @Override public Page findAllByIndustryListIn(List industryList, Integer page, Integer size) { return companyRepository.findAllByIndustryListInAndIsEnabledTrue(industryList, PageHelper.of(page, size, SortTool.priorityDown())); } }