From 3df5e3e2e940a5c971bb87c28199ae860fe66a53 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 24 Jan 2024 16:51:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=9A=E6=97=B6=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=94=AF=E6=8C=81=E5=9C=A8=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8F=98=E5=8A=A8=E5=90=8E=E5=A2=9E=E9=87=8F?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=88=B0doris=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/commons/utils/ExcelXlsReader.java | 3 +++ .../service/dataset/DataSetTableService.java | 3 +++ .../service/dataset/ExtractDataService.java | 16 +++++++++------- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/core/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java b/core/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java index 6b0a0dfd22..2258b28c07 100644 --- a/core/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java +++ b/core/backend/src/main/java/io/dataease/commons/utils/ExcelXlsReader.java @@ -370,6 +370,9 @@ public class ExcelXlsReader implements HSSFListener { private String checkType(String str, int thisColumn) { + if (str.length() > 19) { + return "TEXT"; + } String type = null; try { double d = Double.valueOf(str); diff --git a/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 8476693844..0e0f9b8720 100644 --- a/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -2949,6 +2949,9 @@ public class DataSetTableService { } private String cellType(String value) { + if (value.length() > 19) { + return "TEXT"; + } try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); sdf.parse(value); diff --git a/core/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/core/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index 634c13593f..8e11509010 100644 --- a/core/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/core/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -479,9 +479,10 @@ public class ExtractDataService { } private void extractApiData(DatasetTable datasetTable, Datasource datasource, List datasetTableFields, String extractType) throws Exception { + DataTableInfoDTO dataTableInfoDTO = new Gson().fromJson(datasetTable.getInfo(), DataTableInfoDTO.class); List lists = new Gson().fromJson(datasource.getConfiguration(), new TypeToken>() { }.getType()); - lists = lists.stream().filter(item -> item.getName().equalsIgnoreCase(new Gson().fromJson(datasetTable.getInfo(), DataTableInfoDTO.class).getTable())).collect(Collectors.toList()); + lists = lists.stream().filter(item -> item.getName().equalsIgnoreCase(dataTableInfoDTO.getTable())).collect(Collectors.toList()); if (CollectionUtils.isEmpty(lists)) { throw new Exception("未找到API数据表"); } @@ -521,15 +522,16 @@ public class ExtractDataService { script = String.format(streamLoadScript, dorisConfiguration.getUsername(), dorisConfiguration.getPassword(), System.currentTimeMillis(), separator, columns, "APPEND", dataFile, dorisConfiguration.getHost(), dorisConfiguration.getHttpPort(), dorisConfiguration.getDataBase(), TableUtils.tableName(datasetTable.getId()), dataFile); break; } - - BufferedWriter bw = new BufferedWriter(new FileWriter(dataFile)); for (String[] strings : dataList) { String content = ""; for (int i = 0; i < strings.length; i++) { - content = content + strings[i] + separator; + content = i != strings.length - 1 ? content + strings[i] + separator : content + strings[i]; + } + boolean isSetKey = dataTableInfoDTO.isSetKey() && CollectionUtils.isNotEmpty(dataTableInfoDTO.getKeys()); + if (!isSetKey) { + content = Md5Utils.md5(content) + separator + content; } - content = content + Md5Utils.md5(content); bw.write(content); bw.newLine(); } @@ -565,8 +567,8 @@ public class ExtractDataService { } catch (Exception e) { throw e; } finally { - File deleteFile = new File(root_path + datasetTable.getId() + ".sh"); - FileUtils.forceDelete(deleteFile); +// File deleteFile = new File(root_path + datasetTable.getId() + ".sh"); +// FileUtils.forceDelete(deleteFile); } }