package com.zanxiang.common.base; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; import java.time.LocalDate; /** * @author : lingfeng * @time : 2022-06-22 * @description : 分页通用参数 */ @Data public class BasePage { /** * 当前记录起始索引 */ @NotNull(message = "当前页数不可为空") @Min(value = 1, message = "起始页最小为 1") @ApiModelProperty(value = "当前记录起始索引") private Integer pageNum; /** * 每页显示记录数 */ @NotNull(message = "单页数量不可为空") @Min(value = 1, message = "页面大小(2~200)之间") @Max(value = 200, message = "页面大小(2~200)之间") @ApiModelProperty(value = "每页显示记录数") private Integer pageSize; /** * 开始时间 */ @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "开始时间") private LocalDate beginDate; /** * 结束时间 */ @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "结束时间") private LocalDate endDate; /** * 构造方法 * * @return : 返回分页对象 */ public IPage toPage() { return new Page<>(pageNum, pageSize); } }