/***********************************************************
 * @Description : 考试列表获取
 * @author      : 梁山广(Laing Shan Guang)
 * @date        : 2019-06-22 17:00
 * @email       : liangshanguang2@gmail.com
 ***********************************************************/
package lsgwr.exam.vo;// 定义包名，用于组织类文件，避免命名冲突
// 导入Jackson库的JsonProperty注解，用于JSON序列化时自定义字段名
import com.fasterxml.jackson.annotation.JsonProperty;
// 导入Lombok库的Data注解，用于自动生成getter、setter、equals、hashCode和toString方法
import lombok.Data;
// 导入Java的List接口，用于存储ExamVo对象的集合
import java.util.List;
// 使用Lombok的@Data注解，自动为该类生成getter、setter等方法
@Data
public class ExamPageVo {
    /**
     * 分页时每个分页的大小，即每页显示多少条记录
     */
    private Integer pageSize;

    /**
     * 当前是在第几页，注意这里的页码是从1开始计数的，但后端处理时可能需要减1以符合某些分页算法或框架的页码从0开始的要求
     * 这里的注释提醒开发者，后端接收到的页码值可能需要减1处理
     */
    private Integer pageNo;

    /**
     * 一共有多少条符合条件的记录，用于计算总页数
     */
    private Long totalCount;

    /**
     * 一共有多少页，根据总记录数和每页大小计算得出
     */
    private Integer totalPage;

    /**
     * 当前页的详细数据，包含了一个ExamVo对象的列表，ExamVo类通常定义了考试信息的数据结构
     * @JsonProperty("data")注解用于JSON序列化时，将examVoList字段的JSON键名指定为"data"
     */
    @JsonProperty("data")
    private List<ExamVo> examVoList;
}
