fix(高级检索): 条款搜索重复数据问题修复

This commit is contained in:
yjz
2024-07-01 16:51:06 +08:00
parent 60a1184fa4
commit 7193c1ca70
@@ -1546,11 +1546,20 @@ public class LawsHomeSearchServiceImpl implements ILawsHomeSearchService {
public List<LawsHomeAdvancedSearchClauseVO> getAdvancedSearchClause(Map<String, Object> parameterMap) {
List<LawsHomeAdvancedSearchClauseVO> lawsHomeAdvancedSearchClauseVOList = new ArrayList<>();
List<Map<String, Object>> data = documentSplitService.queryDocumentSplitDetailByList(parameterMap);
// 过滤已发布数据
List<String> infoIdList = data.stream().map(v -> String.valueOf(v.get("info_id")))
.distinct().collect(Collectors.toList());
List<SarFileSplitInfoEO> list = sarFileSplitInfoService.list(new LambdaQueryWrapper<SarFileSplitInfoEO>()
.in(SarFileSplitInfoEO::getId, infoIdList).isNull(SarFileSplitInfoEO::getPublishBeforeId));
List<String> idList = list.stream().map(v -> v.getId()).collect(Collectors.toList());
// 根据info_id分组
if (!data.isEmpty()){
Map<String, List<Map<String, Object>>> groupMap =
data.stream().collect(Collectors.groupingBy(v -> String.valueOf(v.get("info_id"))));
groupMap.forEach((k, v) -> {
if (!idList.contains(k)){
return;
}
// 封装数据
SarFileSplitInfoEO sarFileSplitInfoEO = sarFileSplitInfoService.queryById(k);
if (!Objects.isNull(sarFileSplitInfoEO)){