f6e6517d by 荆蔚杰

目录保存修改逻辑调整

1 parent d4499e93
...@@ -250,32 +250,36 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi ...@@ -250,32 +250,36 @@ public class DgArchivesServiceImpl extends ServiceImpl<DgArchivesMapper, DgArchi
250 List<UpdateDgArchivesCatalogRequest> updateCatalogs = requests.stream().filter(item -> !StrUtil.isNullOrUndefined(item.getBsmCatalog())).collect(Collectors.toList()); 250 List<UpdateDgArchivesCatalogRequest> updateCatalogs = requests.stream().filter(item -> !StrUtil.isNullOrUndefined(item.getBsmCatalog())).collect(Collectors.toList());
251 List<UpdateDgArchivesCatalogRequest> addCatalogs = requests.stream().filter(item -> StrUtil.isNullOrUndefined(item.getBsmCatalog())).collect(Collectors.toList()); 251 List<UpdateDgArchivesCatalogRequest> addCatalogs = requests.stream().filter(item -> StrUtil.isNullOrUndefined(item.getBsmCatalog())).collect(Collectors.toList());
252 252
253 boolean flag = false;
254
253 //存量数据更新. 255 //存量数据更新.
254 String bsmArchive = updateCatalogs.stream().map(UpdateDgArchivesCatalogRequest::getBsmArchives).findFirst().orElse(null); 256 if (updateCatalogs.size() != 0) {
255 QueryWrapper<DgArchivesCatalogDO> catalogWrapper = new QueryWrapper<>(); 257 String bsmArchive = updateCatalogs.stream().map(UpdateDgArchivesCatalogRequest::getBsmArchives).findFirst().orElse(null);
256 catalogWrapper.lambda().eq(DgArchivesCatalogDO::getBsmArchives, bsmArchive); 258 QueryWrapper<DgArchivesCatalogDO> catalogWrapper = new QueryWrapper<>();
257 List<DgArchivesCatalogDO> catalogsAlreadyExist = catalogService.list(catalogWrapper); 259 catalogWrapper.lambda().eq(DgArchivesCatalogDO::getBsmArchives, bsmArchive);
258 //入参的存量数据小于数据库内数据,删除数据库内多余数据 260 List<DgArchivesCatalogDO> catalogsAlreadyExist = catalogService.list(catalogWrapper);
259 if (updateCatalogs.size() < catalogsAlreadyExist.size()) { 261 //入参的存量数据小于数据库内数据,删除数据库内多余数据
260 List<String> updateBsmCatalogs = updateCatalogs.stream().map(UpdateDgArchivesCatalogRequest::getBsmCatalog).collect(Collectors.toList()); 262 if (updateCatalogs.size() < catalogsAlreadyExist.size()) {
261 List<String> alreadyExistBsmCatalogs = catalogsAlreadyExist.stream().map(DgArchivesCatalogDO::getBsmCatalog).collect(Collectors.toList()); 263 List<String> updateBsmCatalogs = updateCatalogs.stream().map(UpdateDgArchivesCatalogRequest::getBsmCatalog).collect(Collectors.toList());
262 //过滤数据 264 List<String> alreadyExistBsmCatalogs = catalogsAlreadyExist.stream().map(DgArchivesCatalogDO::getBsmCatalog).collect(Collectors.toList());
263 List<String> deleteBsmCatalogs = alreadyExistBsmCatalogs.stream().filter(item -> !updateBsmCatalogs.contains(item)).collect(Collectors.toList()); 265 //过滤数据
264 //删除附件表数据 266 List<String> deleteBsmCatalogs = alreadyExistBsmCatalogs.stream().filter(item -> !updateBsmCatalogs.contains(item)).collect(Collectors.toList());
265 QueryWrapper<DgFileDO> fileWrapper = new QueryWrapper<>(); 267 //删除附件表数据
266 fileWrapper.lambda().in(DgFileDO::getBsmCatalog, deleteBsmCatalogs); 268 QueryWrapper<DgFileDO> fileWrapper = new QueryWrapper<>();
267 dgFileService.remove(fileWrapper); 269 fileWrapper.lambda().in(DgFileDO::getBsmCatalog, deleteBsmCatalogs);
268 //删除目录表多余数据 270 dgFileService.remove(fileWrapper);
269 catalogWrapper.lambda().in(DgArchivesCatalogDO::getBsmCatalog,deleteBsmCatalogs); 271 //删除目录表多余数据
270 catalogService.remove(catalogWrapper); 272 catalogWrapper.lambda().in(DgArchivesCatalogDO::getBsmCatalog,deleteBsmCatalogs);
273 catalogService.remove(catalogWrapper);
274 }
275 List<DgArchivesCatalogDO> updateCatalogDOs = catalogConverter.updateList2DO(updateCatalogs);
276 flag = catalogService.updateBatchById(updateCatalogDOs);
271 } 277 }
272 List<DgArchivesCatalogDO> updateCatalogDOs = catalogConverter.updateList2DO(updateCatalogs);
273 boolean flag = catalogService.updateBatchById(updateCatalogDOs);
274 278
275 if (addCatalogs.size() != 0) { 279 if (addCatalogs.size() != 0) {
276 //新增数据 280 //新增数据
277 List<DgArchivesCatalogDO> addCatalogDOs = catalogConverter.updateList2DO(addCatalogs); 281 List<DgArchivesCatalogDO> addCatalogDOs = catalogConverter.updateList2DO(addCatalogs);
278 return catalogService.saveBatch(addCatalogDOs); 282 flag = catalogService.saveBatch(addCatalogDOs);
279 } 283 }
280 return flag; 284 return flag;
281 285
......