package cn.iocoder.yudao.module.mes.service.pro.qrexport;
|
|
import cn.iocoder.yudao.module.mes.framework.qrcode.QrLabelInfo;
|
|
import java.util.List;
|
|
/**
|
* 二维码标签数据源
|
* <p>
|
* 后台导出任务按页取标签,而不是一次性把全部标签装配进内存:单批次可达成千上万张,
|
* 一次性装配会随导出量线性占用堆内存,量级再往上就会 OOM。
|
*/
|
public interface MesProQrLabelSource {
|
|
/**
|
* 标签总张数(用于进度计算与分流判断)
|
*/
|
long count();
|
|
/**
|
* 分页获取标签
|
*
|
* @param pageNo 页码,从 1 开始
|
* @param pageSize 每页数量
|
* @return 该页标签;返回空列表表示已取完
|
*/
|
List<QrLabelInfo> fetchPage(int pageNo, int pageSize);
|
|
/**
|
* ZIP 文件名(不含 {@code .zip} 后缀)
|
*/
|
String zipName();
|
|
}
|