TASK: library关联分类;
This commit is contained in:
@@ -15,7 +15,7 @@ public class ClassificationDTO extends Classification {
|
||||
@ApiModelProperty("分类ID列表")
|
||||
private List<Long> classificationIdList;
|
||||
@ApiModelProperty("LibraryID")
|
||||
private Long libraryId;
|
||||
private List<Long> libraryIdList;
|
||||
@ApiModelProperty("分类删除校验1:校验0:不校验")
|
||||
private Integer deleteConfirm;
|
||||
}
|
||||
|
||||
@@ -125,35 +125,39 @@ public class ClassificationServiceImpl implements ClassificationService {
|
||||
|
||||
@Override
|
||||
public Boolean relationLibrary(ClassificationDTO classificationDTO) {
|
||||
QueryWrapper<ClassificationRelLibrary> qw = new QueryWrapper<>();
|
||||
qw.lambda().eq(ClassificationRelLibrary::getLibraryId, classificationDTO.getLibraryId());
|
||||
List<ClassificationRelLibrary> classificationRelLibraryList = classificationRelLibraryMapper.selectList(qw);
|
||||
List<Long> unchangedIds = classificationRelLibraryList.stream()
|
||||
.map(ClassificationRelLibrary::getClassificationId)
|
||||
.filter(classificationId -> classificationDTO.getClassificationIdList().contains(classificationId))
|
||||
.collect(Collectors.toList());
|
||||
List<Long> deleteIds = classificationRelLibraryList.stream()
|
||||
.map(ClassificationRelLibrary::getClassificationId)
|
||||
.filter(classificationId -> !unchangedIds.contains(classificationId))
|
||||
.collect(Collectors.toList());
|
||||
List<Long> addIds = classificationDTO.getClassificationIdList().stream()
|
||||
.filter(classificationId -> !unchangedIds.contains(classificationId))
|
||||
.collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(deleteIds)) {
|
||||
QueryWrapper<ClassificationRelLibrary> 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<ClassificationRelLibrary> qw = new QueryWrapper<>();
|
||||
qw.lambda().eq(ClassificationRelLibrary::getLibraryId, libraryId);
|
||||
List<ClassificationRelLibrary> classificationRelLibraryList = classificationRelLibraryMapper.selectList(qw);
|
||||
List<Long> unchangedIds = classificationRelLibraryList.stream()
|
||||
.map(ClassificationRelLibrary::getClassificationId)
|
||||
.filter(classificationId -> classificationDTO.getClassificationIdList().contains(classificationId))
|
||||
.collect(Collectors.toList());
|
||||
List<Long> deleteIds = classificationRelLibraryList.stream()
|
||||
.map(ClassificationRelLibrary::getClassificationId)
|
||||
.filter(classificationId -> !unchangedIds.contains(classificationId))
|
||||
.collect(Collectors.toList());
|
||||
List<Long> addIds = classificationDTO.getClassificationIdList().stream()
|
||||
.filter(classificationId -> !unchangedIds.contains(classificationId))
|
||||
.collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(deleteIds)) {
|
||||
QueryWrapper<ClassificationRelLibrary> 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;
|
||||
|
||||
Reference in New Issue
Block a user