diff --git a/opsli-base-support/opsli-core/src/main/java/org/opsli/core/base/controller/BaseRestController.java b/opsli-base-support/opsli-core/src/main/java/org/opsli/core/base/controller/BaseRestController.java index 4a08024b..b48ebe32 100644 --- a/opsli-base-support/opsli-core/src/main/java/org/opsli/core/base/controller/BaseRestController.java +++ b/opsli-base-support/opsli-core/src/main/java/org/opsli/core/base/controller/BaseRestController.java @@ -198,15 +198,20 @@ public abstract class BaseRestController modelList = ExcelUtil.getInstance().readExcel(files.get(0), modelClazz); if(CollUtil.isNotEmpty(modelList)){ - if(modelList.size() > globalProperties.getExcel().getImportMaxCount()){ - String maxError = StrUtil.format(CoreMsg.EXCEL_HANDLE_MAX.getMessage(), modelList.size(), - globalProperties.getExcel().getImportMaxCount()); - // 清空 list - modelList.clear(); - // 超出最大导出数量 - throw new ExcelPluginException(CoreMsg.EXCEL_HANDLE_MAX.getCode(), maxError); + // 导入数量限制 -1 为无限制 + Integer importMaxCount = globalProperties.getExcel().getImportMaxCount(); + if(importMaxCount != null && importMaxCount > -1){ + if(modelList.size() > importMaxCount){ + String maxError = StrUtil.format(CoreMsg.EXCEL_HANDLE_MAX.getMessage(), modelList.size(), + importMaxCount); + // 清空 list + modelList.clear(); + // 超出最大导出数量 + throw new ExcelPluginException(CoreMsg.EXCEL_HANDLE_MAX.getCode(), maxError); + } } + boolean ret = IService.insertBatch(modelList); if(!ret){ // 清空 list @@ -293,15 +298,20 @@ public abstract class BaseRestController modelList = Lists.newArrayList(); try { if(queryWrapper != null){ - // 获得数量 大于 阈值 禁止导出, 防止OOM - int count = IService.count(queryWrapper); - if(count > globalProperties.getExcel().getExportMaxCount()){ - String maxError = StrUtil.format(CoreMsg.EXCEL_HANDLE_MAX.getMessage(), count, - globalProperties.getExcel().getExportMaxCount()); - // 超出最大导出数量 - throw new ExcelPluginException(CoreMsg.EXCEL_HANDLE_MAX.getCode(), maxError); + // 导出数量限制 -1 为无限制 + Integer exportMaxCount = globalProperties.getExcel().getExportMaxCount(); + if(exportMaxCount != null && exportMaxCount > -1){ + // 获得数量 大于 阈值 禁止导出, 防止OOM + int count = IService.count(queryWrapper); + if(count > exportMaxCount){ + String maxError = StrUtil.format(CoreMsg.EXCEL_HANDLE_MAX.getMessage(), count, + exportMaxCount); + // 超出最大导出数量 + throw new ExcelPluginException(CoreMsg.EXCEL_HANDLE_MAX.getCode(), maxError); + } } + List entityList = IService.findList(queryWrapper); // 转化类型 modelList = WrapperUtil.transformInstance(entityList, modelClazz); diff --git a/opsli-starter/src/main/resources/application.yaml b/opsli-starter/src/main/resources/application.yaml index 9abe42f3..d0ce2770 100644 --- a/opsli-starter/src/main/resources/application.yaml +++ b/opsli-starter/src/main/resources/application.yaml @@ -211,7 +211,7 @@ opsli: # Excel excel: - # Excel 最大导入操作数量 防止OOM + # Excel 最大导入操作数量 防止OOM -1为无限制 import-max-count: 5000 - # Excel 最大导出操作数量 防止OOM + # Excel 最大导出操作数量 防止OOM -1为无限制 export-max-count: 50000