liu
6 小时以前 6c0fd2cb801554f7999d14e45a94ef0f0d0dfb8d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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();
 
}