f6e6517d by 荆蔚杰

目录保存修改逻辑调整

1 parent d4499e93
......@@ -250,32 +250,36 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi
List<UpdateDgArchivesCatalogRequest> updateCatalogs = requests.stream().filter(item -> !StrUtil.isNullOrUndefined(item.getBsmCatalog())).collect(Collectors.toList());
List<UpdateDgArchivesCatalogRequest> addCatalogs = requests.stream().filter(item -> StrUtil.isNullOrUndefined(item.getBsmCatalog())).collect(Collectors.toList());
boolean flag = false;
//存量数据更新.
String bsmArchive = updateCatalogs.stream().map(UpdateDgArchivesCatalogRequest::getBsmArchives).findFirst().orElse(null);
QueryWrapper<DgArchivesCatalogDO> catalogWrapper = new QueryWrapper<>();
catalogWrapper.lambda().eq(DgArchivesCatalogDO::getBsmArchives, bsmArchive);
List<DgArchivesCatalogDO> catalogsAlreadyExist = catalogService.list(catalogWrapper);
//入参的存量数据小于数据库内数据,删除数据库内多余数据
if (updateCatalogs.size() < catalogsAlreadyExist.size()) {
List<String> updateBsmCatalogs = updateCatalogs.stream().map(UpdateDgArchivesCatalogRequest::getBsmCatalog).collect(Collectors.toList());
List<String> alreadyExistBsmCatalogs = catalogsAlreadyExist.stream().map(DgArchivesCatalogDO::getBsmCatalog).collect(Collectors.toList());
//过滤数据
List<String> deleteBsmCatalogs = alreadyExistBsmCatalogs.stream().filter(item -> !updateBsmCatalogs.contains(item)).collect(Collectors.toList());
//删除附件表数据
QueryWrapper<DgFileDO> fileWrapper = new QueryWrapper<>();
fileWrapper.lambda().in(DgFileDO::getBsmCatalog, deleteBsmCatalogs);
dgFileService.remove(fileWrapper);
//删除目录表多余数据
catalogWrapper.lambda().in(DgArchivesCatalogDO::getBsmCatalog,deleteBsmCatalogs);
catalogService.remove(catalogWrapper);
if (updateCatalogs.size() != 0) {
String bsmArchive = updateCatalogs.stream().map(UpdateDgArchivesCatalogRequest::getBsmArchives).findFirst().orElse(null);
QueryWrapper<DgArchivesCatalogDO> catalogWrapper = new QueryWrapper<>();
catalogWrapper.lambda().eq(DgArchivesCatalogDO::getBsmArchives, bsmArchive);
List<DgArchivesCatalogDO> catalogsAlreadyExist = catalogService.list(catalogWrapper);
//入参的存量数据小于数据库内数据,删除数据库内多余数据
if (updateCatalogs.size() < catalogsAlreadyExist.size()) {
List<String> updateBsmCatalogs = updateCatalogs.stream().map(UpdateDgArchivesCatalogRequest::getBsmCatalog).collect(Collectors.toList());
List<String> alreadyExistBsmCatalogs = catalogsAlreadyExist.stream().map(DgArchivesCatalogDO::getBsmCatalog).collect(Collectors.toList());
//过滤数据
List<String> deleteBsmCatalogs = alreadyExistBsmCatalogs.stream().filter(item -> !updateBsmCatalogs.contains(item)).collect(Collectors.toList());
//删除附件表数据
QueryWrapper<DgFileDO> fileWrapper = new QueryWrapper<>();
fileWrapper.lambda().in(DgFileDO::getBsmCatalog, deleteBsmCatalogs);
dgFileService.remove(fileWrapper);
//删除目录表多余数据
catalogWrapper.lambda().in(DgArchivesCatalogDO::getBsmCatalog,deleteBsmCatalogs);
catalogService.remove(catalogWrapper);
}
List<DgArchivesCatalogDO> updateCatalogDOs = catalogConverter.updateList2DO(updateCatalogs);
flag = catalogService.updateBatchById(updateCatalogDOs);
}
List<DgArchivesCatalogDO> updateCatalogDOs = catalogConverter.updateList2DO(updateCatalogs);
boolean flag = catalogService.updateBatchById(updateCatalogDOs);
if (addCatalogs.size() != 0) {
//新增数据
List<DgArchivesCatalogDO> addCatalogDOs = catalogConverter.updateList2DO(addCatalogs);
return catalogService.saveBatch(addCatalogDOs);
flag = catalogService.saveBatch(addCatalogDOs);
}
return flag;
......