给excel导出增加单次1万条的限制,防止资源单次消耗太大

This commit is contained in:
jishenghua
2025-04-07 21:37:40 +08:00
parent 511de3db65
commit 81c480b33e
2 changed files with 9 additions and 0 deletions

View File

@@ -353,6 +353,9 @@ public class ExceptionConstants {
//EXCEL中有副条码在系统中已存在除自身商品之外
public static final int MATERIAL_EXCEL_IMPORT_MANY_BARCODE_EXIST_CODE = 80000028;
public static final String MATERIAL_EXCEL_IMPORT_MANY_BARCODE_EXIST_MSG = "抱歉EXCEL中有副条码在系统中已存在具体副条码为%s";
//单次导出条数超出限制1万条
public static final int MATERIAL_EXPORT_LIMIT_CODE = 8000029;
public static final String MATERIAL_EXPORT_LIMIT_MSG = "单次导出条数超出限制1万条";
/**
* 单据信息

View File

@@ -73,6 +73,8 @@ public class MaterialService {
@Value(value="${file.uploadType}")
private Long fileUploadType;
private static final Integer EXPORT_LIMIT = 10000;
public Material getMaterial(long id)throws Exception {
Material result=null;
try{
@@ -472,6 +474,10 @@ public class MaterialService {
//查询商品主条码相关列表
List<MaterialVo4Unit> dataList = materialMapperEx.exportExcel(materialParam, color, materialOther, weight, expiryNum, enabled, enableSerialNumber,
enableBatchNumber, remark, idList);
if (null != dataList && dataList.size() > EXPORT_LIMIT) {
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_EXPORT_LIMIT_CODE,
ExceptionConstants.MATERIAL_EXPORT_LIMIT_MSG);
}
//查询商品副条码相关列表
Map<Long, MaterialExtend> otherMaterialMap = new HashMap<>();
List<MaterialExtend> otherDataList = materialMapperEx.getOtherMaterialList();