CompanyServiceImpl.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package cn.minbb.job.service.impl;
  2. import cn.minbb.job.model.Company;
  3. import cn.minbb.job.model.Industry;
  4. import cn.minbb.job.model.repository.CompanyRepository;
  5. import cn.minbb.job.service.CompanyService;
  6. import cn.minbb.job.util.PageHelper;
  7. import cn.minbb.job.util.SortTool;
  8. import org.springframework.data.domain.Example;
  9. import org.springframework.data.domain.Page;
  10. import org.springframework.stereotype.Service;
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. @Service
  14. public class CompanyServiceImpl implements CompanyService {
  15. private final CompanyRepository companyRepository;
  16. public CompanyServiceImpl(CompanyRepository companyRepository) {
  17. this.companyRepository = companyRepository;
  18. }
  19. @Override
  20. public Company saveOne(Company company) {
  21. return companyRepository.save(company);
  22. }
  23. @Override
  24. public Company findOneById(Integer id) {
  25. if (null == id) return null;
  26. return companyRepository.findById(id).orElse(null);
  27. }
  28. @Override
  29. public List<Company> findTop2() {
  30. return companyRepository.findTop2ByIsEnabledTrueOrderByPriorityDesc();
  31. }
  32. @Override
  33. public List<Company> findTop4() {
  34. return companyRepository.findTop4ByIsEnabledTrueOrderByPriorityDesc();
  35. }
  36. @Override
  37. public List<Company> findTop5() {
  38. return companyRepository.findTop5ByIsEnabledTrueOrderByPriorityDesc();
  39. }
  40. @Override
  41. public Page<Company> findAll(Integer page, Integer size) {
  42. Company company = new Company();
  43. company.setIsEnabled(Boolean.TRUE);
  44. return companyRepository.findAll(Example.of(company), PageHelper.of(page, size, SortTool.priorityDown()));
  45. }
  46. @Override
  47. public Page<Company> findAllByIndustryIn(Industry industry, Integer page, Integer size) {
  48. List<Industry> industryList = new ArrayList<>(1);
  49. industryList.add(industry);
  50. return findAllByIndustryListIn(industryList, page, size);
  51. }
  52. @Override
  53. public Page<Company> findAllByIndustryListIn(List<Industry> industryList, Integer page, Integer size) {
  54. return companyRepository.findAllByIndustryListInAndIsEnabledTrue(industryList, PageHelper.of(page, size, SortTool.priorityDown()));
  55. }
  56. }