content: package com.wenmrong.community1.community.dto;
  
  import lombok.Data;
  
  import java.util.ArrayList;
  import java.util.List;
  
  @Data
  public class PaginationDTO<T> {
      private List<T> data;
      private boolean showFirstPage;
      private boolean showEndPage;
      private boolean showNext;
      private boolean showPrevious;
      private Integer page;
      private List<Integer> pages = new ArrayList<>();
      private Integer totalPage;
  
      public void setPagination(Integer totalPage, Integer page) {
          this.totalPage = totalPage;
          this.page = page;
          pages.add(page);
          // 判断page当前页之前是否能显示3页，page之后是否能显示3页，最多可以显示7页
          for (int i = 1; i <= 3; i++) {
              if (page - i > 0) {
                  pages.add(0, page - i);
              }
              if (page + i <= totalPage) {
                  pages.add(page + i);
          }
  
  
          }
  
  
          if (page == 1) {
              showPrevious = false;
          } else {
              showPrevious = true;
          }
          if (page == totalPage) {
              showNext = false;
          } else {
              showNext = true;
          }
          if (pages.contains(1)) {
              showFirstPage = false;
          } else {
              showFirstPage = true;
          }
          if (pages.contains(totalPage)) {
              showEndPage = false;
          } else {
              showEndPage = true;
          }
  
  
      }
  
  
  }
  