From ba59aa415898370549072bac25d1bd5fba4bdb0d Mon Sep 17 00:00:00 2001 From: taojinlong Date: Thu, 16 Jun 2022 14:10:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=A0=A1=E9=AA=8C=E9=A9=B1=E5=8A=A8ID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/service/datasource/DriverService.java | 8 +++++++- backend/src/main/resources/i18n/messages_en_US.properties | 3 ++- backend/src/main/resources/i18n/messages_zh_CN.properties | 1 + backend/src/main/resources/i18n/messages_zh_TW.properties | 3 ++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/datasource/DriverService.java b/backend/src/main/java/io/dataease/service/datasource/DriverService.java index df44a4fef3..eef7f8df4d 100644 --- a/backend/src/main/java/io/dataease/service/datasource/DriverService.java +++ b/backend/src/main/java/io/dataease/service/datasource/DriverService.java @@ -105,6 +105,9 @@ public class DriverService { public void deleteDriverFile(String driverFileId) throws Exception{ DeDriverDetails deDriverDetails = deDriverDetailsMapper.selectByPrimaryKey(driverFileId); DeDriver deDriver = deDriverMapper.selectByPrimaryKey(deDriverDetails.getDeDriverId()); + if(deDriver == null){ + throw new Exception(Translator.get("I18N_DRIVER_NOT_FOUND")); + } DeFileUtils.deleteFile(DRIVER_PATH + deDriverDetails.getDeDriverId() + "/" + deDriverDetails.getFileName()); SysLogDTO sysLogDTO = DeLogUtils.buildLog(SysLogConstants.OPERATE_TYPE.DELETE, SysLogConstants.SOURCE_TYPE.DRIVER_FILE, deDriverDetails.getId(), deDriverDetails.getDeDriverId(), null, null); DeLogUtils.save(sysLogDTO); @@ -114,6 +117,10 @@ public class DriverService { } public DeDriverDetails saveJar(MultipartFile file, String driverId) throws Exception { + DeDriver deDriver = deDriverMapper.selectByPrimaryKey(driverId); + if(deDriver == null){ + throw new Exception(Translator.get("I18N_DRIVER_NOT_FOUND")); + } String filename = file.getOriginalFilename(); String dirPath = DRIVER_PATH + driverId + "/"; String filePath = dirPath + filename; @@ -138,7 +145,6 @@ public class DriverService { deDriverDetailsMapper.insert(deDriverDetails); SysLogDTO sysLogDTO = DeLogUtils.buildLog(SysLogConstants.OPERATE_TYPE.UPLOADFILE, SysLogConstants.SOURCE_TYPE.DRIVER_FILE, deDriverDetails.getId(), driverId, null, null); DeLogUtils.save(sysLogDTO); - DeDriver deDriver = deDriverMapper.selectByPrimaryKey(driverId); DefaultJdbcProvider defaultJdbcProvider = (DefaultJdbcProvider)ProviderFactory.getProvider(deDriver.getType()); defaultJdbcProvider.reloadCustomJdbcClassLoader(deDriver); return deDriverDetails; diff --git a/backend/src/main/resources/i18n/messages_en_US.properties b/backend/src/main/resources/i18n/messages_en_US.properties index 7c5fa0cfc6..27be07bb0c 100644 --- a/backend/src/main/resources/i18n/messages_en_US.properties +++ b/backend/src/main/resources/i18n/messages_en_US.properties @@ -155,4 +155,5 @@ SOURCE_TYPE_DRIVER_FILE=DRIVER FILE SOURCE_TYPE_MENU=MENU I18N_DRIVER_NOT_DELETE=Drivers in use cannot be deleted -I18N_DRIVER_REPEAT_NAME=Driver name cannot be same. \ No newline at end of file +I18N_DRIVER_REPEAT_NAME=Driver name cannot be same. +I18N_DRIVER_NOT_FOUND=Cannot find driver. \ No newline at end of file diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties index ab615dae2a..01258ce785 100644 --- a/backend/src/main/resources/i18n/messages_zh_CN.properties +++ b/backend/src/main/resources/i18n/messages_zh_CN.properties @@ -159,3 +159,4 @@ I18N_TIME=操作时间 I18N_DRIVER_NOT_DELETE=使用中的驱动不允许删除 I18N_DRIVER_REPEAT_NAME=名称重复 +I18N_DRIVER_NOT_FOUND=未找到驱动 diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties index 33343c94ec..607079419e 100644 --- a/backend/src/main/resources/i18n/messages_zh_TW.properties +++ b/backend/src/main/resources/i18n/messages_zh_TW.properties @@ -154,4 +154,5 @@ SOURCE_TYPE_DRIVER_FILE=驅動文件 SOURCE_TYPE_MENU=菜單 I18N_DRIVER_NOT_DELETE=使用中的驅動不允許删除 -I18N_DRIVER_REPEAT_NAME=名稱重複 \ No newline at end of file +I18N_DRIVER_REPEAT_NAME=名稱重複 +I18N_DRIVER_NOT_FOUND=未找到驅動 \ No newline at end of file