fix: 校验驱动ID

This commit is contained in:
taojinlong 2022-06-16 14:10:08 +08:00
parent b2db00d30c
commit 2284cad01c
4 changed files with 12 additions and 3 deletions

View File

@ -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;

View File

@ -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.
I18N_DRIVER_REPEAT_NAME=Driver name cannot be same.
I18N_DRIVER_NOT_FOUND=Cannot find driver.

View File

@ -159,3 +159,4 @@ I18N_TIME=操作时间
I18N_DRIVER_NOT_DELETE=使用中的驱动不允许删除
I18N_DRIVER_REPEAT_NAME=名称重复
I18N_DRIVER_NOT_FOUND=未找到驱动

View File

@ -154,4 +154,5 @@ SOURCE_TYPE_DRIVER_FILE=驅動文件
SOURCE_TYPE_MENU=菜單
I18N_DRIVER_NOT_DELETE=使用中的驅動不允許删除
I18N_DRIVER_REPEAT_NAME=名稱重複
I18N_DRIVER_REPEAT_NAME=名稱重複
I18N_DRIVER_NOT_FOUND=未找到驅動