在实际开发中,我们三⽅接⼝获取数据,并没有分页,⽽是⼀个JSON数据或者就是⼀个list集合,但是我们要将数据进⾏分页并整合到若依系统中,这篇博客主要是解决这个问题。
在若依系统上⾯进⾏修改只是修改后端部分代码即可,前端任然使⽤若依原代码。
⼀、若依原系统分页主要代码⽰例
ClubController层
@PostMapping("/clubTimelineList")
@ResponseBody
public TableDataInfo searchPostList(ClubTimeline clubTimeline) {
Page page = startPage();
List<ClubTimelineDTO> list = myClubService.searchPostByClubId(clubTimeline);
TableDataInfo tableDataInfo = getDataTable(list);
if (null != page) {
tableDataInfo.setTotal(page.getTotal());
}
return tableDataInfo;
}
开启分页
/**
* 设置请求分页数据
*/
protected Page startPage() {
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) {
String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
return PageHelper.startPage(pageNum, pageSize, orderBy);
}
return null;
}
分页数据
/**
* 响应请求分页数据
*/
@SuppressWarnings({"rawtypes", "unchecked"})
protected TableDataInfo getDataTable(List<?> list) {
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(0);
rspData.setRows(list);
rspData.setTotal(new PageInfo(list).getTotal());
return rspData;
}
二、修改
ClubController层
@PostMapping("/clubTimelineList")
@ResponseBody
public TableDataInfo searchPostList(ClubTimeline clubTimeline) {
List<PunishmentRecord> list= userPunishExtService.listPunishmentRecordByUserId(user.getUserId());
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
TableDataInfo rspData =new TableDataInfo();
rspData.setCode(0);
rspData.setRows(myStartPage(list, pageNum, pageSize));
rspData.setTotal(new PageInfo(list).getTotal());
return rspData;
}
开启分页
public static List myStartPage(List list, Integer pageNum, Integer pageSize){
if(list ==null){
return null;
}
if(list.size()==0){
return null;
}
Integer count = list.size();//
Integer pageCount =0;//
if(count % pageSize ==0){
pageCount = count / pageSize;
}else{
pageCount = count / pageSize +1;
}
int fromIndex =0;//
int toIndex =0;//
if(pageNum != pageCount){
fromIndex =(pageNum -1)* pageSize;
toIndex = fromIndex + pageSize;
}else{
fromIndex =(pageNum -1)* pageSize;
toIndex = count;
}
List pageList = list.subList(fromIndex,toIndex);
return pageList;
}