summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshizhendong <[email protected]>2023-07-07 10:59:22 +0800
committershizhendong <[email protected]>2023-07-07 10:59:22 +0800
commitad04d58d8a11dd4090e0f146b444a2148bcccd92 (patch)
tree09c3afbb8ed4528dbdce2b299cc5321b09b11391
parentcf220ece1fe624e005b3019ddf3018e938ac10f3 (diff)
fix: NEZ-2884 导入错误格式 json 文件,修改提示信息
-rw-r--r--nz-admin/src/main/java/com/nis/common/utils/CSVUtils.java10
-rw-r--r--nz-admin/src/main/java/com/nis/common/utils/ExcelUtils.java8
-rw-r--r--nz-admin/src/main/java/com/nis/modules/dashboard/service/impl/VisualDashboardServiceImpl.java2
-rw-r--r--nz-admin/src/main/java/com/nis/modules/sys/service/BasicImportAndExportServices.java2
-rw-r--r--nz-admin/src/main/java/com/nis/modules/sys/service/impl/BasicImportAndExportServicesImpl.java12
-rw-r--r--nz-common/src/main/java/com/nis/common/utils/RCode.java1
6 files changed, 23 insertions, 12 deletions
diff --git a/nz-admin/src/main/java/com/nis/common/utils/CSVUtils.java b/nz-admin/src/main/java/com/nis/common/utils/CSVUtils.java
index 95190bf2..afa374fa 100644
--- a/nz-admin/src/main/java/com/nis/common/utils/CSVUtils.java
+++ b/nz-admin/src/main/java/com/nis/common/utils/CSVUtils.java
@@ -7,19 +7,18 @@ import cn.hutool.core.text.csv.CsvData;
import cn.hutool.core.text.csv.CsvReader;
import cn.hutool.core.text.csv.CsvRow;
import cn.hutool.core.text.csv.CsvUtil;
-import cn.hutool.core.util.CharsetUtil;
import cn.hutool.log.Log;
+import com.nis.common.exception.NZException;
import org.apache.commons.io.FileUtils;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
-import java.io.IOException;
import java.util.List;
import java.util.UUID;
public class CSVUtils {
- private static Log logger = Log.get();
+ private final static Log log = Log.get();
static final CsvReader reader = CsvUtil.getReader();
@@ -30,8 +29,9 @@ public class CSVUtils {
FileUtils.copyInputStreamToFile(multipartFile.getInputStream(), tempCsvFile);
//data = reader.read(tempCsvFile);
data = reader.read(ResourceUtil.getReader(tempCsvFile.getPath(), CharsetDetector.detect(tempCsvFile)));
- } catch (IOException e) {
- logger.error(e);
+ } catch (Exception e) {
+ log.error(e, "[getCsvDataFromMultipartFile] [error] [file: {}]", multipartFile.getOriginalFilename());
+ throw new NZException(RCode.IMPORT_FILE_PARSE_ERROR);
} finally {
if (tempCsvFile != null && tempCsvFile.exists()) tempCsvFile.delete();
}
diff --git a/nz-admin/src/main/java/com/nis/common/utils/ExcelUtils.java b/nz-admin/src/main/java/com/nis/common/utils/ExcelUtils.java
index d1e46a12..42678be1 100644
--- a/nz-admin/src/main/java/com/nis/common/utils/ExcelUtils.java
+++ b/nz-admin/src/main/java/com/nis/common/utils/ExcelUtils.java
@@ -2,6 +2,7 @@ package com.nis.common.utils;
import cn.hutool.core.util.StrUtil;
+import cn.hutool.log.Log;
import com.nis.common.exception.NZException;
import org.apache.commons.io.IOUtils;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
@@ -18,7 +19,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -27,6 +27,9 @@ import java.util.Map;
* apache poi excel工具类
*/
public class ExcelUtils {
+
+ private final static Log log = Log.get();
+
// 2003- 版本的excel
private final static String excel2003L = ".xls";
// 2007+ 版本的excel
@@ -269,7 +272,8 @@ public class ExcelUtils {
Workbook work = null;
try {
work = ExcelUtils.getWork(excelFile.getOriginalFilename(), excelFile.getInputStream());
- } catch (IOException e) {
+ } catch (Exception e) {
+ log.error(e, "[getWorkBookFromMultipartFile] [error] [file: {}]", excelFile.getOriginalFilename());
throw new NZException(RCode.EXCELFILE_PARSE_ERROR);
} finally {
if (work != null) {
diff --git a/nz-admin/src/main/java/com/nis/modules/dashboard/service/impl/VisualDashboardServiceImpl.java b/nz-admin/src/main/java/com/nis/modules/dashboard/service/impl/VisualDashboardServiceImpl.java
index 4e29817a..076cada0 100644
--- a/nz-admin/src/main/java/com/nis/modules/dashboard/service/impl/VisualDashboardServiceImpl.java
+++ b/nz-admin/src/main/java/com/nis/modules/dashboard/service/impl/VisualDashboardServiceImpl.java
@@ -701,7 +701,7 @@ public class VisualDashboardServiceImpl extends ServiceImpl<VisualDashboardDao,
importDataList = JSONObject.parseArray(str, LinkedHashMap.class);
} catch (Exception e) {
log.error(e, "[importChartData] [Import file parsing failed] [file: {}]", multipartFile.getOriginalFilename());
- throw new NZException(RCode.EXCELFILE_PARSE_ERROR);
+ throw new NZException(RCode.IMPORT_FILE_PARSE_ERROR);
}
// 表头信息 国际化之后的
diff --git a/nz-admin/src/main/java/com/nis/modules/sys/service/BasicImportAndExportServices.java b/nz-admin/src/main/java/com/nis/modules/sys/service/BasicImportAndExportServices.java
index 17f323dc..58072b89 100644
--- a/nz-admin/src/main/java/com/nis/modules/sys/service/BasicImportAndExportServices.java
+++ b/nz-admin/src/main/java/com/nis/modules/sys/service/BasicImportAndExportServices.java
@@ -13,7 +13,7 @@ public interface BasicImportAndExportServices {
void getTemplate(String sysHeaderJsonStr, String format, String fileName, HttpServletResponse response) throws IOException;
- List<Map<Integer, String>> getImportDataFromMultipartFile(MultipartFile multipartFile, String sysHeaderJsonStr) throws IOException;
+ List<Map<Integer, String>> getImportDataFromMultipartFile(MultipartFile multipartFile, String sysHeaderJsonStr);
void exportDataByFormat(HttpServletResponse response, List<List<String>> exportDataList, String sysHeaderJsonStr, String format, String fileName) throws IOException;
diff --git a/nz-admin/src/main/java/com/nis/modules/sys/service/impl/BasicImportAndExportServicesImpl.java b/nz-admin/src/main/java/com/nis/modules/sys/service/impl/BasicImportAndExportServicesImpl.java
index 88cd3d71..ba347f7b 100644
--- a/nz-admin/src/main/java/com/nis/modules/sys/service/impl/BasicImportAndExportServicesImpl.java
+++ b/nz-admin/src/main/java/com/nis/modules/sys/service/impl/BasicImportAndExportServicesImpl.java
@@ -124,7 +124,7 @@ public class BasicImportAndExportServicesImpl implements BasicImportAndExportSer
}
@Override
- public List<Map<Integer, String>> getImportDataFromMultipartFile(MultipartFile multipartFile, String sysHeaderJsonStr) throws IOException {
+ public List<Map<Integer, String>> getImportDataFromMultipartFile(MultipartFile multipartFile, String sysHeaderJsonStr) {
String fileType = FilenameUtils.getExtension(multipartFile.getOriginalFilename());
Map<String, String> exportHeaderMap = this.getI18nHeaderMap(sysHeaderJsonStr);
@@ -176,8 +176,14 @@ public class BasicImportAndExportServicesImpl implements BasicImportAndExportSer
break;
}
case JSON: {
- String str = IoUtil.read(multipartFile.getInputStream(), CharsetUtil.charset("UTF-8"));
- List<LinkedHashMap> mapList = JSONObject.parseArray(str, LinkedHashMap.class);
+ List<LinkedHashMap> mapList = ListUtil.list(true);
+ try {
+ String str = IoUtil.read(multipartFile.getInputStream(), CharsetUtil.charset("UTF-8"));
+ mapList = JSONObject.parseArray(str, LinkedHashMap.class);
+ } catch (Exception e) {
+ log.error(e, "[getJSONDataFromMultipartFile] [error] [file: {}]", multipartFile.getOriginalFilename());
+ throw new NZException(RCode.IMPORT_FILE_PARSE_ERROR);
+ }
LinkedHashMap map = mapList.get(0);
// 表头校验
List<String> arrayList = new ArrayList<>(map.keySet());
diff --git a/nz-common/src/main/java/com/nis/common/utils/RCode.java b/nz-common/src/main/java/com/nis/common/utils/RCode.java
index 2a12ca74..209c37f2 100644
--- a/nz-common/src/main/java/com/nis/common/utils/RCode.java
+++ b/nz-common/src/main/java/com/nis/common/utils/RCode.java
@@ -954,6 +954,7 @@ public enum RCode {
IMPORT_FIELDS_DUPLICATE(817, "{0} Duplicate ,{1} Duplicate"),
IMPORT_ERROR_STOP(818, "Error stop import"),
IMPORT_SUBNET_VALUE_ERROR(819, "{0} Not in subnet value list"),
+ IMPORT_FILE_PARSE_ERROR(820, "Import file resolution failed"),
/**