From ed6efac8b7adbeac572ceff6d5d6229865471104 Mon Sep 17 00:00:00 2001 From: zhaojun1998 Date: Fri, 5 Mar 2021 23:00:15 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E4=BF=AE=E5=A4=8D=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E7=AD=96=E7=95=A5=E6=97=B6=EF=BC=8C=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E5=8F=82=E6=95=B0=E5=80=BC=E5=8C=B9=E9=85=8D=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E7=9A=84=20BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../im/zhaojun/zfile/service/DriveConfigService.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/im/zhaojun/zfile/service/DriveConfigService.java b/src/main/java/im/zhaojun/zfile/service/DriveConfigService.java index 5786c97..b92f622 100644 --- a/src/main/java/im/zhaojun/zfile/service/DriveConfigService.java +++ b/src/main/java/im/zhaojun/zfile/service/DriveConfigService.java @@ -191,6 +191,16 @@ public class DriveConfigService { List storageConfigList; if (updateFlag) { storageConfigList = storageConfigRepository.findByDriveId(driveConfigDTO.getId()); + // 如果从数据库获取到的数据不为空, 则校验数据是否和当前存储类型一直, 如不一直则进行矫正. + if (CollectionUtil.isNotEmpty(storageConfigList)) { + StorageConfig storageConfig = storageConfigList.get(0); + StorageTypeEnum type = storageConfig.getType(); + + if (!Objects.equals(type, storageType)) { + storageConfigRepository.deleteByDriveId(driveConfigDTO.getId()); + storageConfigList = storageTypeService.storageStrategyConfigList(); + } + } } else { storageConfigList = storageTypeService.storageStrategyConfigList(); } @@ -255,6 +265,7 @@ public class DriveConfigService { */ @Transactional public void updateId(Integer updateId, Integer newId) { + zFileCache.clear(updateId); driverConfigRepository.updateId(updateId, newId); storageConfigRepository.updateDriveId(updateId, newId); filterConfigRepository.updateDriveId(updateId, newId);