|
@@ -650,14 +650,18 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
Integer type = vo.getType();
|
|
|
String condition = vo.getSearchQuery();
|
|
|
|
|
|
+ //最终数据
|
|
|
List<GetAllPersonDTO> personDTOList = new ArrayList<>();
|
|
|
+ //合并的名称数据
|
|
|
List<GetAllPersonDTO> mergePersonList = new ArrayList<>();
|
|
|
+ //es获取的名称
|
|
|
List<GetAllPersonDTO> personList = new ArrayList<>();
|
|
|
|
|
|
-
|
|
|
+ //获取被 合并的名称
|
|
|
List<String> mergedList = new ArrayList<>();
|
|
|
List<MergePerson> mergePeopleList = mergePersonMapper.selectList(new LambdaQueryWrapper<MergePerson>()
|
|
|
- .eq(MergePerson::getProjectId, projectId));
|
|
|
+ .eq(MergePerson::getProjectId, projectId)
|
|
|
+ .eq(MergePerson::getType, type));
|
|
|
int size = mergePeopleList.size();
|
|
|
int mergedCount = 0;
|
|
|
if (!CollectionUtils.isEmpty(mergePeopleList)) {
|
|
@@ -682,7 +686,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
SearchRequest.Builder builder = new SearchRequest.Builder();
|
|
|
//设置查询索引
|
|
|
builder.index("patent");
|
|
|
- builder.size(0);
|
|
|
+// builder.size(0);
|
|
|
if (StringUtils.isNotEmpty(condition)) {
|
|
|
//1. 解析检索条件
|
|
|
treeNode tree = expressManager.getInstance().Parse(condition, false);
|
|
@@ -831,23 +835,37 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
Aggregate totalAgg = response.aggregations().get("totalAgg");
|
|
|
Aggregate totalAggregate = totalAgg.nested().aggregations().get("statsBucket");
|
|
|
long total = totalAggregate.statsBucket().count();
|
|
|
+
|
|
|
List<String> mergeList = new ArrayList<>();
|
|
|
- Aggregate agg = response.aggregations().get("Agg");
|
|
|
- Aggregate nestedAgg = agg.nested().aggregations().get("nestedAgg");
|
|
|
- List<StringTermsBucket> buckets = nestedAgg.sterms().buckets().array();
|
|
|
- for (StringTermsBucket bucket : buckets) {
|
|
|
- String value = bucket.key().stringValue();
|
|
|
- mergeList.add(value);
|
|
|
- }
|
|
|
- Aggregate rightAgg = response.aggregations().get("rightAgg");
|
|
|
- Aggregate rightNestedAgg = rightAgg.nested().aggregations().get("rightNestedAgg");
|
|
|
- List<StringTermsBucket> bucketList = rightNestedAgg.sterms().buckets().array();
|
|
|
- if (!CollectionUtils.isEmpty(bucketList)) {
|
|
|
- for (StringTermsBucket bucket : bucketList) {
|
|
|
+ if (type == 0) {
|
|
|
+ Aggregate agg = response.aggregations().get("Agg");
|
|
|
+ Aggregate nestedAgg = agg.nested().aggregations().get("nestedAgg");
|
|
|
+ List<StringTermsBucket> buckets = nestedAgg.sterms().buckets().array();
|
|
|
+ for (StringTermsBucket bucket : buckets) {
|
|
|
String value = bucket.key().stringValue();
|
|
|
mergeList.add(value);
|
|
|
}
|
|
|
+ Aggregate rightAgg = response.aggregations().get("rightAgg");
|
|
|
+ Aggregate rightNestedAgg = rightAgg.nested().aggregations().get("rightNestedAgg");
|
|
|
+ List<StringTermsBucket> bucketList = rightNestedAgg.sterms().buckets().array();
|
|
|
+ if (!CollectionUtils.isEmpty(bucketList)) {
|
|
|
+ for (StringTermsBucket bucket : bucketList) {
|
|
|
+ String value = bucket.key().stringValue();
|
|
|
+ mergeList.add(value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ Aggregate inventorAgg = response.aggregations().get("Agg");
|
|
|
+ Aggregate inventorNestedAgg = inventorAgg.nested().aggregations().get("nestedAgg");
|
|
|
+ List<StringTermsBucket> bucketList = inventorNestedAgg.sterms().buckets().array();
|
|
|
+ if (!CollectionUtils.isEmpty(bucketList)) {
|
|
|
+ for (StringTermsBucket bucket : bucketList) {
|
|
|
+ String value = bucket.key().stringValue();
|
|
|
+ mergeList.add(value);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
List<String> nameList = mergeList.stream().distinct().collect(Collectors.toList());
|
|
|
if (!CollectionUtils.isEmpty(nameList)) {
|
|
|
for (String name : nameList) {
|