From 9bd7de1934692a0bd7ca3ce9f94fa0c8ab34b37e Mon Sep 17 00:00:00 2001 From: taojinlong Date: Fri, 7 May 2021 18:08:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8A=BD=E5=8F=96=20excel=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/service/dataset/DataSetTableService.java | 4 +++- .../io/dataease/service/dataset/ExtractDataService.java | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 4acac7aea5..71d969f8af 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -647,12 +647,14 @@ public class DataSetTableService { private String saveFile(MultipartFile file) throws Exception { String filename = file.getOriginalFilename(); + String suffix = filename.substring(filename.lastIndexOf(".") + 1); + filename = Md5Utils.md5(filename.substring(0, filename.length() - suffix.length())); String dirPath = path + AuthUtils.getUser().getUsername() + "/"; File p = new File(dirPath); if (!p.exists()) { p.mkdirs(); } - String filePath = dirPath + filename; + String filePath = dirPath + filename + "." + suffix; File f = new File(filePath); FileOutputStream fileOutputStream = new FileOutputStream(f); fileOutputStream.write(file.getBytes()); diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index 28a4bd5fe5..d6101d2ad0 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -273,11 +273,11 @@ public class ExtractDataService { jobExecutionConfiguration.setRepository(repository); String lastCarteObjectId = Job.sendToSlaveServer(jobMeta, jobExecutionConfiguration, repository, null); SlaveServerJobStatus jobStatus = null; - boolean running = true; - while(running) { + boolean executing = true; + while(executing) { jobStatus = remoteSlaveServer.getJobStatus(jobMeta.getName(), lastCarteObjectId, 0); - running = jobStatus.isRunning(); - if(!running) + executing = jobStatus.isRunning() || jobStatus.isWaiting(); + if(!executing) break; Thread.sleep(1000); }