LuceneMessageServiceImpl.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.uas.search.jms;
  2. import com.uas.search.constant.model.SPage;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.stereotype.Service;
  5. import java.util.List;
  6. /**
  7. * 消息
  8. *
  9. * @author sunyj
  10. * @since 2017/10/11 17:33
  11. */
  12. @Service
  13. public class LuceneMessageServiceImpl implements LuceneMessageService {
  14. /**
  15. * 默认的页码
  16. */
  17. private static final int PAGE_INDEX = 1;
  18. /**
  19. * 默认每页的大小
  20. */
  21. private static final int PAGE_SIZE = 20;
  22. @Autowired
  23. private LuceneMessageDao luceneMessageDao;
  24. @Override
  25. public SPage<LuceneMessage> findAll(Integer page, Integer size) {
  26. // 处理分页信息
  27. if (page == null || page <= 0) {
  28. page = PAGE_INDEX;
  29. }
  30. if (size == null || size <= 0) {
  31. size = PAGE_SIZE;
  32. }
  33. SPage<LuceneMessage> sPage = new SPage<>();
  34. long totalElement = luceneMessageDao.count();
  35. sPage.setTotalElement(totalElement);
  36. // 总数目为0,返回
  37. if (totalElement == 0) {
  38. return sPage;
  39. }
  40. int totalPage = (int) Math.ceil(totalElement / (1.0 * size));
  41. sPage.setTotalPage(totalPage);
  42. // 如果页码过大
  43. if (page > totalPage) {
  44. page = totalPage;
  45. }
  46. int start = (page - 1) * size;
  47. sPage.setPage(page);
  48. sPage.setSize(size);
  49. if (page == 1) {
  50. sPage.setFirst(true);
  51. }
  52. if (page == totalPage) {
  53. sPage.setLast(true);
  54. }
  55. List<LuceneMessage> messages = luceneMessageDao.findList(start, size);
  56. sPage.setContent(messages);
  57. return sPage;
  58. }
  59. }