package org.jeecg.modules.app.dto.evaluate;

import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 评价专属分页
 * @param <T>
 */
@Data
public class FindEvaluatePage<T> {
    private Long current;     // 当前页
    private Long size;    // 每页条数
    private Long total;       // 总记录数
    private Long pages;       // 总页数
    private List<T> records;     // 当前页数据
    private BigDecimal averageScore; // 平均评分
    private Long scoreNum; // 评价人数
    private Long applauseRate; // 好评率

    // 从 IPage 构建
    public static <T> FindEvaluatePage<T> build(IPage<T> page, BigDecimal averageScore,Long scoreNum,Long applauseRate) {
        if (page==null){
            return new FindEvaluatePage<>();
        }
        FindEvaluatePage<T> result = new FindEvaluatePage<>();
        result.setCurrent(page.getCurrent());
        result.setSize(page.getSize());
        result.setTotal(page.getTotal());
        result.setPages(page.getPages());
        result.setRecords(page.getRecords());
        result.setAverageScore(averageScore);
        result.setScoreNum(scoreNum);
        result.setApplauseRate(applauseRate);
        return result;
    }
}
