From bcfcb5da12b0831d2cdc5e29d5edcb38bd3ca914 Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Mon, 13 Nov 2023 14:21:28 +0800 Subject: [PATCH] =?UTF-8?q?TASK:=20library=E5=85=B3=E8=81=94=E5=88=86?= =?UTF-8?q?=E7=B1=BB;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/model/dto/ClassificationDTO.java | 2 +- .../impl/ClassificationServiceImpl.java | 60 ++++++++++--------- 2 files changed, 33 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/ai/da/model/dto/ClassificationDTO.java b/src/main/java/com/ai/da/model/dto/ClassificationDTO.java index edbe7f37..22abc61d 100644 --- a/src/main/java/com/ai/da/model/dto/ClassificationDTO.java +++ b/src/main/java/com/ai/da/model/dto/ClassificationDTO.java @@ -15,7 +15,7 @@ public class ClassificationDTO extends Classification { @ApiModelProperty("分类ID列表") private List classificationIdList; @ApiModelProperty("LibraryID") - private Long libraryId; + private List libraryIdList; @ApiModelProperty("分类删除校验1:校验0:不校验") private Integer deleteConfirm; } diff --git a/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java b/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java index c6fb8ab7..e5e50672 100644 --- a/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/ClassificationServiceImpl.java @@ -125,35 +125,39 @@ public class ClassificationServiceImpl implements ClassificationService { @Override public Boolean relationLibrary(ClassificationDTO classificationDTO) { - QueryWrapper qw = new QueryWrapper<>(); - qw.lambda().eq(ClassificationRelLibrary::getLibraryId, classificationDTO.getLibraryId()); - List classificationRelLibraryList = classificationRelLibraryMapper.selectList(qw); - List unchangedIds = classificationRelLibraryList.stream() - .map(ClassificationRelLibrary::getClassificationId) - .filter(classificationId -> classificationDTO.getClassificationIdList().contains(classificationId)) - .collect(Collectors.toList()); - List deleteIds = classificationRelLibraryList.stream() - .map(ClassificationRelLibrary::getClassificationId) - .filter(classificationId -> !unchangedIds.contains(classificationId)) - .collect(Collectors.toList()); - List addIds = classificationDTO.getClassificationIdList().stream() - .filter(classificationId -> !unchangedIds.contains(classificationId)) - .collect(Collectors.toList()); - if (CollectionUtil.isNotEmpty(deleteIds)) { - QueryWrapper deleteQw = new QueryWrapper<>(); - deleteQw.lambda().eq(ClassificationRelLibrary::getLibraryId, classificationDTO.getLibraryId()); - deleteQw.lambda().in(ClassificationRelLibrary::getClassificationId, deleteIds); - classificationRelLibraryMapper.delete(deleteQw); - } - if (CollectionUtil.isNotEmpty(addIds)) { - for (Long addId : addIds) { - ClassificationRelLibrary classificationRelLibrary = new ClassificationRelLibrary(); - classificationRelLibrary.setClassificationId(addId); - classificationRelLibrary.setLibraryId(classificationDTO.getLibraryId()); - classificationRelLibrary.setCreateTime(LocalDateTime.now()); - classificationRelLibrary.setIsDeleted(0); + if (CollectionUtil.isNotEmpty(classificationDTO.getLibraryIdList())) { + for (Long libraryId : classificationDTO.getLibraryIdList()) { + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(ClassificationRelLibrary::getLibraryId, libraryId); + List classificationRelLibraryList = classificationRelLibraryMapper.selectList(qw); + List unchangedIds = classificationRelLibraryList.stream() + .map(ClassificationRelLibrary::getClassificationId) + .filter(classificationId -> classificationDTO.getClassificationIdList().contains(classificationId)) + .collect(Collectors.toList()); + List deleteIds = classificationRelLibraryList.stream() + .map(ClassificationRelLibrary::getClassificationId) + .filter(classificationId -> !unchangedIds.contains(classificationId)) + .collect(Collectors.toList()); + List addIds = classificationDTO.getClassificationIdList().stream() + .filter(classificationId -> !unchangedIds.contains(classificationId)) + .collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(deleteIds)) { + QueryWrapper deleteQw = new QueryWrapper<>(); + deleteQw.lambda().eq(ClassificationRelLibrary::getLibraryId, libraryId); + deleteQw.lambda().in(ClassificationRelLibrary::getClassificationId, deleteIds); + classificationRelLibraryMapper.delete(deleteQw); + } + if (CollectionUtil.isNotEmpty(addIds)) { + for (Long addId : addIds) { + ClassificationRelLibrary classificationRelLibrary = new ClassificationRelLibrary(); + classificationRelLibrary.setClassificationId(addId); + classificationRelLibrary.setLibraryId(libraryId); + classificationRelLibrary.setCreateTime(LocalDateTime.now()); + classificationRelLibrary.setIsDeleted(0); // classificationRelLibrary.setUserId(); - classificationRelLibraryMapper.insert(classificationRelLibrary); + classificationRelLibraryMapper.insert(classificationRelLibrary); + } + } } } return Boolean.TRUE;