PageInfos
package com.pacific.property.util;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
@ToString
@Data
public class PageInfos<T> extends PageInfo {
@ApiModelProperty(value = "耗时")
private Double consumptionTime;
@ApiModelProperty(value = "总数")
private Integer totalRecord;
}
PageInfoUtil
package com.pacific.property.util;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.BeanUtils;
/**
* 用于处理分页的一些问题
*/
public class PageInfoUtil {
/**
* 完善pageInfo的total和pages
* @param pageInfo
* @param pageNum
* @param pageSize
* @param total
* @param pages
* @return
*/
public static PageInfo<?> consummate(PageInfo<?> pageInfo,
Integer pageNum, Integer pageSize,
Integer total, Integer pages){
if(pageInfo == null){
throw new NullPointerException("PageInfoUtil.consummate中PageInfo为空");
}
if(pageNum != null){
pageInfo.setPageNum(pageNum);
}
if(pageSize != null){
pageInfo.setPageSize(pageSize);
}
if(total != null){
pageInfo.setTotal(total);
}
if(pages != null){
pageInfo.setPages(pages);
}
/*************************************分页计算*****************************************/
if(pageNum != null && pages != null){
//当前页码 < 总页码 ---->是否有下一页 true
if(pageNum < pages){
pageInfo.setHasNextPage(true);
}else{
pageInfo.setHasNextPage(false);
}
if(pageNum.intValue() == 1){
//第一页
pageInfo.setIsFirstPage(true);
//有前一页
pageInfo.setHasPreviousPage(false);
}else if(pageNum.intValue() > 1){
pageInfo.setIsFirstPage(false);
pageInfo.setHasPreviousPage(true);
}else{
pageInfo.setIsFirstPage(false);
pageInfo.setHasPreviousPage(false);
}
if(pageNum.intValue() >= pages.intValue()){
//最后一页
pageInfo.setIsLastPage(true);
}else{
pageInfo.setIsLastPage(false);
}
// if(total != null){
// //设置总数据数,即最后一条数据的序号(rowNo)
// pageInfo.setEndRow(total);
// }
}
return pageInfo;
}
public static PageInfos<?> consummate(PageInfo<?> pageInfo,
Integer pageNum, Integer pageSize,
Integer total, Integer pages, Double consumptionTime){
PageInfo info = consummate(pageInfo, pageNum, pageSize, total, pages);
PageInfos infos = new PageInfos();
BeanUtils.copyProperties(info, infos);
infos.setConsumptionTime(consumptionTime);
return infos;
}
}
使用
/**
* 【巧房跟进】客源跟进
* @param param
* @return
*/
public PageInfo<?> getQiaoFangCustomerFollowListByParam(QiaoFangFollowParam param) {
List<QiaoFangCustomerFollowVO> result = qiaoFangRoomDataDockingMapperCustom.getQiaoFangCustomerFollowListByParam(param);
return PageInfoUtil.consummate(new PageInfo<>(result)
, param.getPageNum()
, param.getPageSize()
, param.getTotalCnt()
, param.getTotalPage());
}
参数类继承BaseCommonParam
BaseCommonParam
package com.pacific.property.model.request.common;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import javax.validation.constraints.Min;
import java.io.Serializable;
import java.util.Date;
@ToString
@Data
public class BaseCommonParam implements Serializable {
@ApiModelProperty(value = "当前页码")
@Min(value = 1,message = "当前页码不合法")
private Integer pageNum = 1;
@ApiModelProperty(value = "每页显示数量")
@Min(value = 1,message = "每页展示数量不合法")
private Integer pageSize = 10;
@ApiModelProperty(name = "分页显示用:数据总行数")
private Integer totalCnt;
@ApiModelProperty(name = "分页显示用:总页数")
private Integer totalPage;
@ApiModelProperty(value = "操作人工号")
private String userEmpNo;
@ApiModelProperty(value = "操作人")
private String userAccount;
@ApiModelProperty(value = "操作人")
private String userName;
@ApiModelProperty(value = "添加时间")
private Date createDate;
@ApiModelProperty(value = "更新时间")
private Date updateDate;
@ApiModelProperty(value = "公司类型:1:太平洋;2:菁英")
private Integer companyflag;
@ApiModelProperty(value = "数据库名称")
private String baseName ;
}