From f4d94c23e5af616b230c1efaf8863891e5b929e5 Mon Sep 17 00:00:00 2001 From: godot Date: Fri, 8 Jul 2022 18:09:59 +0800 Subject: [PATCH] =?UTF-8?q?perf[storage]:=20=E7=BB=9F=E4=B8=80=E4=BD=BF?= =?UTF-8?q?=E7=94=A8valueOf=E6=9E=84=E9=80=A0=E6=96=B0=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zfoo/storage/model/resource/ResourceData.java | 8 ++++++++ .../zfoo/storage/model/resource/ResourceHeader.java | 13 ++++++------- .../com/zfoo/storage/util/ExcelToJsonUtils.java | 10 +++------- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/storage/src/main/java/com/zfoo/storage/model/resource/ResourceData.java b/storage/src/main/java/com/zfoo/storage/model/resource/ResourceData.java index 020d5f8c..3b1fdb11 100644 --- a/storage/src/main/java/com/zfoo/storage/model/resource/ResourceData.java +++ b/storage/src/main/java/com/zfoo/storage/model/resource/ResourceData.java @@ -29,6 +29,14 @@ public class ResourceData { // 配置表数据 private List rows = new ArrayList<>(); + public static ResourceData valueOf(String name, List headers, List rows) { + var resourceData = new ResourceData(); + resourceData.name = name; + resourceData.headers = headers; + resourceData.rows = rows; + return resourceData; + } + public String getName() { return name; } diff --git a/storage/src/main/java/com/zfoo/storage/model/resource/ResourceHeader.java b/storage/src/main/java/com/zfoo/storage/model/resource/ResourceHeader.java index 9ca387aa..89f0627a 100644 --- a/storage/src/main/java/com/zfoo/storage/model/resource/ResourceHeader.java +++ b/storage/src/main/java/com/zfoo/storage/model/resource/ResourceHeader.java @@ -25,13 +25,12 @@ public class ResourceHeader { //列 private int index; - public ResourceHeader() { - } - - public ResourceHeader(String name, String type, int index) { - this.name = name; - this.type = type; - this.index = index; + public static ResourceHeader valueOf(String name, String type, int index) { + var resourceHeader = new ResourceHeader(); + resourceHeader.name = name; + resourceHeader.type = type; + resourceHeader.index = index; + return resourceHeader; } public String getName() { diff --git a/storage/src/main/java/com/zfoo/storage/util/ExcelToJsonUtils.java b/storage/src/main/java/com/zfoo/storage/util/ExcelToJsonUtils.java index e6c24f24..dab02835 100644 --- a/storage/src/main/java/com/zfoo/storage/util/ExcelToJsonUtils.java +++ b/storage/src/main/java/com/zfoo/storage/util/ExcelToJsonUtils.java @@ -61,13 +61,10 @@ public class ExcelToJsonUtils { public static ResourceData readResourceDataFromExcel(InputStream inputStream, String fileName) { // 只读取代码里写的字段 var wb = createWorkbook(inputStream, fileName); - var resource = new ResourceData(); - resource.setName(fileName); // 默认取到第一个sheet页 var sheet = wb.getSheetAt(0); //设置所有列 var headers = getHeaders(sheet, fileName); - resource.setHeaders(headers); // 行数定位到有效数据行,默认是第四行为有效数据行 var iterator = sheet.iterator(); @@ -84,10 +81,9 @@ public class ExcelToJsonUtils { var content = CellUtils.getCellStringValue(cell); columns.add(content); } - rows.add(ResourceRow.valueOf(row.getRowNum(), columns)); + rows.add(ResourceRow.valueOf(row.getRowNum() + 1, columns)); } - resource.setRows(rows); - return resource; + return ResourceData.valueOf(fileName, headers, rows); } // 只读取代码里写的字段 @@ -127,7 +123,7 @@ public class ExcelToJsonUtils { if (Objects.nonNull(previousValue)) { throw new RunException("资源[class:{}]的Excel文件出现重复的属性控制列[field:{}]", fileName, fieldName); } - headerList.add(new ResourceHeader(fieldName, typeName, i)); + headerList.add(ResourceHeader.valueOf(fieldName, typeName, i)); } return headerList; }