Преглед изворни кода

Merge remote-tracking branch 'origin/master'

lwhhszx пре 1 година
родитељ
комит
f1ffedcecc

+ 7 - 1
src/main/java/cn/cslg/pas/controller/CustomFieldController.java

@@ -87,7 +87,13 @@ public class CustomFieldController {
             try {
                 id = (Integer) business.updateMessage(updateCustomFieldDTO);
             } catch (Exception e) {
-                return Response.error(e.getMessage());
+                if (e instanceof XiaoShiException) {
+                    return Response.error(e.getMessage());
+                } else if (e instanceof UnLoginException) {
+                    return Response.unLogin(e.getMessage());
+                } else if (e instanceof ConditionException) {
+                    return Response.conditionError(e.getMessage());
+                }
             }
             return Response.success(id);
         } else {

+ 39 - 15
src/main/java/cn/cslg/pas/service/business/MergePersonService.java

@@ -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) {
@@ -868,6 +886,12 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
                     personList.removeIf(i -> i.getName().equals(s));
                 }
             }
+            if (!CollectionUtils.isEmpty(mergePeopleList)) {
+                List<String> mergePeopleList1 = mergePeopleList.stream().map(MergePerson::getName).distinct().collect(Collectors.toList());
+                for (String s : mergePeopleList1) {
+                    personList.removeIf(i -> i.getName().equals(s));
+                }
+            }
             List<GetAllPersonDTO> collect = personList.stream().filter(i -> !StringUtils.isEmpty(i.getName())).collect(Collectors.toList());
 
             while (collect.size() > pageSize) {