|
@@ -643,235 +643,24 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
- public Records getMergePerson(GetAllPersonVO vo) throws Exception {
|
|
|
+ public Records getAllMergePerson(GetAllPersonVO vo) throws Exception {
|
|
|
Integer projectId = vo.getProjectId();
|
|
|
Long pageNum = vo.getPageNum();
|
|
|
Long pageSize = vo.getPageSize();
|
|
|
Integer type = vo.getType();
|
|
|
String condition = vo.getSearchQuery();
|
|
|
|
|
|
- List<String> conditionList = new ArrayList<>();
|
|
|
- long total = 0l;
|
|
|
- if (StringUtils.isNotEmpty(condition)) {
|
|
|
- String s = condition.substring(condition.indexOf("=") + 1);
|
|
|
- if (s.contains("or")) {
|
|
|
- String[] split = s.split("or");
|
|
|
- conditionList.addAll(Arrays.asList(split));
|
|
|
- } else {
|
|
|
- conditionList.add(s);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- List<GetEsAllPersonDTO> personDTOS = new ArrayList<>();
|
|
|
- SearchRequest.Builder builder = new SearchRequest.Builder();
|
|
|
- //设置查询索引
|
|
|
- builder.index("patent");
|
|
|
-// Query query11 = null;
|
|
|
-// if (type == 0) {
|
|
|
-// if (StringUtils.isNotEmpty(condition)) {
|
|
|
-// String s = condition.substring(condition.indexOf("=")+1);
|
|
|
-// //1. 解析检索条件
|
|
|
-// treeNode tree = expressManager.getInstance().Parse(condition, false);
|
|
|
-// //2. 从es中检索数据
|
|
|
-// query11 = formatQueryService.EsQueryToQuery((operateNode) tree, "patent",projectId);
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-//
|
|
|
-// }
|
|
|
-
|
|
|
- if (!CollectionUtils.isEmpty(conditionList)) {
|
|
|
- for (String name : conditionList) {
|
|
|
- List<Query> queries = new ArrayList<>();
|
|
|
- if (type == 0) {
|
|
|
- //合并申请人
|
|
|
- Query idQ1 = QueryBuilders.term(i -> i.field("merge_applicant.project_id").value(projectId));
|
|
|
- Query q1 = QueryBuilders.term(i -> i.field("merge_applicant.name.raw").value(name));
|
|
|
- Query bool = QueryBuilders.bool(i -> i.must(idQ1, q1));
|
|
|
- Query query1 = QueryBuilders.nested(i -> i.path("merge_applicant").query(bool));
|
|
|
- Query childQ1 = QueryBuilders.hasChild(i -> i.type("merge_applicat").query(query1));
|
|
|
- //合并权利人
|
|
|
- Query idQ2 = QueryBuilders.term(i -> i.field("merge_right_holder.project_id").value(projectId));
|
|
|
- Query q2 = QueryBuilders.term(i -> i.field("merge_right_holder.name.raw").value(name));
|
|
|
- Query bool1 = QueryBuilders.bool(i -> i.must(idQ2, q2));
|
|
|
- Query query2 = QueryBuilders.nested(i -> i.path("merge_right_holder").query(bool1));
|
|
|
- Query childQ2 = QueryBuilders.hasChild(i -> i.type("merge_right_holder").query(query2));
|
|
|
- queries.add(childQ1);
|
|
|
- queries.add(childQ2);
|
|
|
- } else {
|
|
|
- Query idQ = QueryBuilders.term(i -> i.field("merge_inventor.project_id").value(projectId));
|
|
|
- Query q = QueryBuilders.term(i -> i.field("merge_inventor.name.raw").value(name));
|
|
|
- Query bool = QueryBuilders.bool(i -> i.must(idQ, q));
|
|
|
- Query query = QueryBuilders.nested(i -> i.path("merge_inventor").query(bool));
|
|
|
- Query childQ = QueryBuilders.hasChild(i -> i.type("merge_inventor").query(query));
|
|
|
- queries.add(childQ);
|
|
|
- }
|
|
|
- Query bool = QueryBuilders.bool(i -> i.should(queries));
|
|
|
- builder.query(bool);
|
|
|
- //分页
|
|
|
- if (pageNum > 0 && pageSize > 0) {
|
|
|
- builder.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue());
|
|
|
- }
|
|
|
-// builder.trackTotalHits(i -> i.enabled(true));
|
|
|
- SearchResponse<Patent> response = client.search(builder.build(), Patent.class);
|
|
|
- total = response.hits().total().value();
|
|
|
- List<Hit<Patent>> hits = response.hits().hits();
|
|
|
- Map<String, Patent> map = new HashMap<>();
|
|
|
- for (Hit<Patent> hit : hits) {
|
|
|
- String id = hit.id();
|
|
|
- map.put(id, hit.source());
|
|
|
- }
|
|
|
-
|
|
|
- if (!CollectionUtils.isEmpty(map)) {
|
|
|
- for (String id : map.keySet()) {
|
|
|
- GetEsAllPersonDTO personDTO = new GetEsAllPersonDTO();
|
|
|
- if (type == 0) {
|
|
|
- //申请人
|
|
|
- Map<String, List<PatentMergePerson>> appMap = this.getChildMergePerson(id, projectId, "merge_applicant");
|
|
|
- if (!CollectionUtils.isEmpty(appMap)) {
|
|
|
- for (String appId : appMap.keySet()) {
|
|
|
- List<PatentMergePerson> appList = appMap.get(appId);
|
|
|
- List<String> collect = appList.stream().map(PatentMergePerson::getName).collect(Collectors.toList());
|
|
|
- personDTO.setMergeApplicant(collect);
|
|
|
- }
|
|
|
- }
|
|
|
- //权利人
|
|
|
- Map<String, List<PatentMergePerson>> rightMap = this.getChildMergePerson(id, projectId, "merge_right_holder");
|
|
|
- if (!CollectionUtils.isEmpty(rightMap)) {
|
|
|
- for (String rightId : rightMap.keySet()) {
|
|
|
- List<PatentMergePerson> rightList = rightMap.get(rightId);
|
|
|
- List<String> collect = rightList.stream().map(PatentMergePerson::getName).collect(Collectors.toList());
|
|
|
- personDTO.setMergeRightHolder(collect);
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- //发明人
|
|
|
- Map<String, List<PatentMergePerson>> inventorMap = this.getChildMergePerson(id, projectId, "merge_inventor");
|
|
|
- if (!CollectionUtils.isEmpty(inventorMap)) {
|
|
|
- for (String inventorId : inventorMap.keySet()) {
|
|
|
- List<PatentMergePerson> inventorList = inventorMap.get(inventorId);
|
|
|
- List<String> collect = inventorList.stream().map(PatentMergePerson::getName).collect(Collectors.toList());
|
|
|
- personDTO.setMergeInventor(collect);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- personDTOS.add(personDTO);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- List<Query> queries = new ArrayList<>();
|
|
|
- if (type == 0) {
|
|
|
- Query q1 = QueryBuilders.term(i -> i.field("merge_applicant.project_id").value(projectId));
|
|
|
- Query query1 = QueryBuilders.nested(i -> i.path("merge_applicant").query(q1));
|
|
|
- Query childQ1 = QueryBuilders.hasChild(i -> i.type("merge_applicat").query(query1));
|
|
|
- queries.add(childQ1);
|
|
|
-
|
|
|
- Query q2 = QueryBuilders.term(i -> i.field("merge_right_holder.project_id").value(projectId));
|
|
|
- Query query2 = QueryBuilders.nested(i -> i.path("merge_right_holder").query(q2));
|
|
|
- Query childQ2 = QueryBuilders.hasChild(i -> i.type("merge_right_holder").query(query2));
|
|
|
- queries.add(childQ2);
|
|
|
- } else {
|
|
|
- Query q = QueryBuilders.term(i -> i.field("merge_inventor.project_id").value(projectId));
|
|
|
- Query query = QueryBuilders.nested(i -> i.path("merge_inventor").query(q));
|
|
|
- Query childQ = QueryBuilders.hasChild(i -> i.type("merge_inventor").query(query));
|
|
|
- queries.add(childQ);
|
|
|
- }
|
|
|
- Query bool = QueryBuilders.bool(i -> i.should(queries));
|
|
|
-// builder.size(99);
|
|
|
- builder.query(bool);
|
|
|
- //分页
|
|
|
- if (pageNum > 0 && pageSize > 0) {
|
|
|
- builder.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue());
|
|
|
- }
|
|
|
-
|
|
|
- builder.trackTotalHits(i -> i.enabled(true));
|
|
|
- SearchResponse<Patent> response = client.search(builder.build(), Patent.class);
|
|
|
- List<Hit<Patent>> hits = response.hits().hits();
|
|
|
- total = response.hits().total().value();
|
|
|
- Map<String, Patent> map = new HashMap<>();
|
|
|
- for (Hit<Patent> hit : hits) {
|
|
|
- String id = hit.id();
|
|
|
- map.put(id, hit.source());
|
|
|
- }
|
|
|
-
|
|
|
- if (!CollectionUtils.isEmpty(map)) {
|
|
|
- for (String id : map.keySet()) {
|
|
|
- GetEsAllPersonDTO personDTO = new GetEsAllPersonDTO();
|
|
|
- if (type == 0) {
|
|
|
- //申请人
|
|
|
- Map<String, List<PatentMergePerson>> appMap = this.getChildMergePerson(id, projectId, "merge_applicant");
|
|
|
- if (!CollectionUtils.isEmpty(appMap)) {
|
|
|
- for (String appId : appMap.keySet()) {
|
|
|
- List<PatentMergePerson> appList = appMap.get(appId);
|
|
|
- List<String> collect = appList.stream().map(PatentMergePerson::getName).collect(Collectors.toList());
|
|
|
- personDTO.setMergeApplicant(collect);
|
|
|
- }
|
|
|
- }
|
|
|
- //权利人
|
|
|
- Map<String, List<PatentMergePerson>> rightMap = this.getChildMergePerson(id, projectId, "merge_right_holder");
|
|
|
- if (!CollectionUtils.isEmpty(rightMap)) {
|
|
|
- for (String rightId : rightMap.keySet()) {
|
|
|
- List<PatentMergePerson> rightList = rightMap.get(rightId);
|
|
|
- List<String> collect = rightList.stream().map(PatentMergePerson::getName).collect(Collectors.toList());
|
|
|
- personDTO.setMergeRightHolder(collect);
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- //发明人
|
|
|
- Map<String, List<PatentMergePerson>> inventorMap = this.getChildMergePerson(id, projectId, "merge_inventor");
|
|
|
- if (!CollectionUtils.isEmpty(inventorMap)) {
|
|
|
- for (String inventorId : inventorMap.keySet()) {
|
|
|
- List<PatentMergePerson> inventorList = inventorMap.get(inventorId);
|
|
|
- List<String> collect = inventorList.stream().map(PatentMergePerson::getName).collect(Collectors.toList());
|
|
|
- personDTO.setMergeInventor(collect);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- personDTOS.add(personDTO);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- //es申请人/权利人
|
|
|
- List<String> mergeList = new ArrayList<>();
|
|
|
- if (!CollectionUtils.isEmpty(personDTOS)) {
|
|
|
- if (type == 0) {
|
|
|
- for (GetEsAllPersonDTO personDTO : personDTOS) {
|
|
|
- List<String> appList = new ArrayList<>();
|
|
|
- if (!CollectionUtils.isEmpty(personDTO.getMergeApplicant())) {
|
|
|
- appList = personDTO.getMergeApplicant();
|
|
|
- mergeList.addAll(appList);
|
|
|
- }
|
|
|
- List<String> rightList = new ArrayList<>();
|
|
|
- if (!CollectionUtils.isEmpty(personDTO.getMergeRightHolder())) {
|
|
|
- rightList = personDTO.getMergeRightHolder();
|
|
|
- mergeList.addAll(rightList);
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- for (GetEsAllPersonDTO personDTO : personDTOS) {
|
|
|
- List<String> inventorList = new ArrayList<>();
|
|
|
- if (!CollectionUtils.isEmpty(personDTO.getMergeInventor())) {
|
|
|
- inventorList = personDTO.getMergeInventor();
|
|
|
- mergeList.addAll(inventorList);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
List<GetAllPersonDTO> personDTOList = new ArrayList<>();
|
|
|
List<GetAllPersonDTO> mergePersonList = new ArrayList<>();
|
|
|
List<GetAllPersonDTO> personList = new ArrayList<>();
|
|
|
|
|
|
- List<String> nameList = mergeList.stream().distinct().collect(Collectors.toList());
|
|
|
+
|
|
|
List<String> mergedList = new ArrayList<>();
|
|
|
- for (String key : nameList) {
|
|
|
- MergePerson person = mergePersonMapper.selectOne(new LambdaQueryWrapper<MergePerson>()
|
|
|
- .eq(MergePerson::getName, key)
|
|
|
- .eq(MergePerson::getProjectId, projectId));
|
|
|
- if (ObjectUtils.isNotEmpty(person)) {
|
|
|
+ List<MergePerson> mergePeopleList = mergePersonMapper.selectList(new LambdaQueryWrapper<MergePerson>()
|
|
|
+ .eq(MergePerson::getProjectId, projectId));
|
|
|
+ int size = mergePeopleList.size();
|
|
|
+ if (!CollectionUtils.isEmpty(mergePeopleList)) {
|
|
|
+ for (MergePerson person : mergePeopleList) {
|
|
|
GetAllPersonDTO dto = new GetAllPersonDTO();
|
|
|
dto.setName(person.getName());
|
|
|
dto.setMergeId(person.getId());
|
|
@@ -885,61 +674,21 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
List<String> getNames = JSONArray.parseArray(mergedName, String.class);
|
|
|
mergedList.addAll(getNames);
|
|
|
mergePersonList.add(dto);
|
|
|
- } else {
|
|
|
- GetAllPersonDTO dto = new GetAllPersonDTO();
|
|
|
- dto.setName(key);
|
|
|
- personList.add(dto);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (!CollectionUtils.isEmpty(mergePersonList)) {
|
|
|
- List<GetAllPersonDTO> collect = mergePersonList.stream().sorted(Comparator.comparing(GetAllPersonDTO::getName)).collect(Collectors.toList());
|
|
|
- personDTOList.addAll(collect);
|
|
|
- }
|
|
|
-
|
|
|
- if (!CollectionUtils.isEmpty(personList)) {
|
|
|
- if (!CollectionUtils.isEmpty(mergedList)) {
|
|
|
- for (String s : mergedList) {
|
|
|
- personList.removeIf(i -> i.getName().equals(s));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- List<GetAllPersonDTO> collect = personList.stream().filter(i -> !StringUtils.isEmpty(i.getName())).collect(Collectors.toList());
|
|
|
- List<GetAllPersonDTO> list = collect.stream().sorted(Comparator.comparing(GetAllPersonDTO::getName)).collect(Collectors.toList());
|
|
|
-
|
|
|
- personDTOList.addAll(list);
|
|
|
- }
|
|
|
-
|
|
|
-// List<GetAllPersonDTO> collect = personDTOList.stream().skip((pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
|
|
-
|
|
|
- Records records = new Records();
|
|
|
- records.setCurrent(pageNum);
|
|
|
- records.setSize(pageSize);
|
|
|
- records.setData(personDTOList);
|
|
|
- records.setTotal(total);
|
|
|
- return records;
|
|
|
- }
|
|
|
-
|
|
|
- public Records getAllMergePerson(GetAllPersonVO vo) throws Exception {
|
|
|
- Integer projectId = vo.getProjectId();
|
|
|
- Long pageNum = vo.getPageNum();
|
|
|
- Long pageSize = vo.getPageSize();
|
|
|
- Integer type = vo.getType();
|
|
|
- String condition = vo.getSearchQuery();
|
|
|
-
|
|
|
SearchRequest.Builder builder = new SearchRequest.Builder();
|
|
|
//设置查询索引
|
|
|
builder.index("patent");
|
|
|
builder.size(0);
|
|
|
- String searchCondition = "";
|
|
|
if (StringUtils.isNotEmpty(condition)) {
|
|
|
//1. 解析检索条件
|
|
|
treeNode tree = expressManager.getInstance().Parse(condition, false);
|
|
|
//3. 从es中检索数据
|
|
|
- Query q = formatQueryService.EsQueryToQuery((operateNode) tree, "patent",projectId);
|
|
|
+ Query q = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", projectId);
|
|
|
builder.query(q);
|
|
|
if (type == 0) {
|
|
|
- Aggregation bucketSort = AggregationBuilders.bucketSort(i -> i.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue()));
|
|
|
+ Aggregation bucketSort = AggregationBuilders.bucketSort(i -> i.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue() + size));
|
|
|
Aggregation termAgg = new Aggregation.Builder().terms(i -> i.field("merge_applicant.name.raw").size(100000))
|
|
|
.aggregations(new HashMap() {{
|
|
|
put("termAgg", bucketSort);
|
|
@@ -960,7 +709,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
builder.aggregations("totalAgg", totalAgg);
|
|
|
|
|
|
//权利人
|
|
|
- Aggregation bucketSort1 = AggregationBuilders.bucketSort(i -> i.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue()));
|
|
|
+ Aggregation bucketSort1 = AggregationBuilders.bucketSort(i -> i.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue() + size));
|
|
|
Aggregation termAgg1 = new Aggregation.Builder().terms(i -> i.field("merge_right_holder.name.raw").size(100000))
|
|
|
.aggregations(new HashMap() {{
|
|
|
put("rightTermAgg", bucketSort1);
|
|
@@ -972,7 +721,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
}}).build();
|
|
|
builder.aggregations("rightAgg", aggregation1);
|
|
|
} else {
|
|
|
- Aggregation bucketSort = AggregationBuilders.bucketSort(i -> i.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue()));
|
|
|
+ Aggregation bucketSort = AggregationBuilders.bucketSort(i -> i.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue() + size));
|
|
|
Aggregation termAgg = new Aggregation.Builder().terms(i -> i.field("merge_inventor.name.raw").size(100000))
|
|
|
.aggregations(new HashMap() {{
|
|
|
put("termAgg", bucketSort);
|
|
@@ -1001,7 +750,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
Query nestedQ2 = QueryBuilders.nested(i -> i.path("merge_right_holder").query(q2));
|
|
|
Query bool = QueryBuilders.bool(i -> i.should(nestedQ1, nestedQ2));
|
|
|
builder.query(bool);
|
|
|
- Aggregation bucketSort = AggregationBuilders.bucketSort(i -> i.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue()));
|
|
|
+ Aggregation bucketSort = AggregationBuilders.bucketSort(i -> i.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue() + size));
|
|
|
Aggregation termAgg = new Aggregation.Builder().terms(i -> i.field("merge_applicant.name.raw").size(100000))
|
|
|
.aggregations(new HashMap() {{
|
|
|
put("termAgg", bucketSort);
|
|
@@ -1022,7 +771,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
builder.aggregations("totalAgg", totalAgg);
|
|
|
|
|
|
//权利人
|
|
|
- Aggregation bucketSort1 = AggregationBuilders.bucketSort(i -> i.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue()));
|
|
|
+ Aggregation bucketSort1 = AggregationBuilders.bucketSort(i -> i.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue() + size));
|
|
|
Aggregation termAgg1 = new Aggregation.Builder().terms(i -> i.field("merge_right_holder.name.raw").size(100000))
|
|
|
.aggregations(new HashMap() {{
|
|
|
put("rightTermAgg", bucketSort1);
|
|
@@ -1037,7 +786,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
Query q = QueryBuilders.term(i -> i.field("merge_inventor.project_id").value(projectId));
|
|
|
Query nestedQ = QueryBuilders.nested(i -> i.path("merge_inventor").query(q));
|
|
|
builder.query(nestedQ);
|
|
|
- Aggregation bucketSort = AggregationBuilders.bucketSort(i -> i.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue()));
|
|
|
+ Aggregation bucketSort = AggregationBuilders.bucketSort(i -> i.from((pageNum.intValue() - 1) * pageSize.intValue()).size(pageSize.intValue() + size));
|
|
|
Aggregation termAgg = new Aggregation.Builder().terms(i -> i.field("merge_inventor.name.raw").size(100000))
|
|
|
.aggregations(new HashMap() {{
|
|
|
put("termAgg", bucketSort);
|
|
@@ -1081,31 +830,8 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
mergeList.add(value);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- List<GetAllPersonDTO> personDTOList = new ArrayList<>();
|
|
|
- List<GetAllPersonDTO> mergePersonList = new ArrayList<>();
|
|
|
- List<GetAllPersonDTO> personList = new ArrayList<>();
|
|
|
-
|
|
|
List<String> nameList = mergeList.stream().distinct().collect(Collectors.toList());
|
|
|
- if (nameList.size() > pageSize) {
|
|
|
- nameList.remove(nameList.size() - 1);
|
|
|
- }
|
|
|
- List<MergePerson> mergePeopleList = mergePersonMapper.selectList(new LambdaQueryWrapper<MergePerson>()
|
|
|
- .eq(MergePerson::getProjectId, projectId));
|
|
|
- if (!CollectionUtils.isEmpty(mergePeopleList)) {
|
|
|
- for (MergePerson person : mergePeopleList) {
|
|
|
- GetAllPersonDTO dto = new GetAllPersonDTO();
|
|
|
- dto.setName(person.getName());
|
|
|
- dto.setMergeId(person.getId());
|
|
|
- dto.setType(person.getType());
|
|
|
- dto.setRemark(person.getRemark());
|
|
|
- dto.setAbbreviation(person.getAbbreviation());
|
|
|
- dto.setCountry(person.getCountry());
|
|
|
- dto.setProvince(person.getProvince());
|
|
|
- dto.setAddress(person.getAddress());
|
|
|
- mergePersonList.add(dto);
|
|
|
- }
|
|
|
- } else {
|
|
|
+ if (!CollectionUtils.isEmpty(nameList)) {
|
|
|
for (String name : nameList) {
|
|
|
GetAllPersonDTO dto = new GetAllPersonDTO();
|
|
|
dto.setName(name);
|
|
@@ -1118,11 +844,29 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
personDTOList.addAll(collect);
|
|
|
}
|
|
|
if (!CollectionUtils.isEmpty(personList)) {
|
|
|
+ if (!CollectionUtils.isEmpty(mergedList)) {
|
|
|
+ List<String> mergedList1 = mergedList.stream().distinct().collect(Collectors.toList());
|
|
|
+ for (String s : mergedList1) {
|
|
|
+ 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) {
|
|
|
+ collect.remove(collect.size() - 1); // 从列表末尾开始删除
|
|
|
+ }
|
|
|
+
|
|
|
List<GetAllPersonDTO> list = collect.stream().sorted(Comparator.comparing(GetAllPersonDTO::getName).reversed()).collect(Collectors.toList());
|
|
|
personDTOList.addAll(list);
|
|
|
}
|
|
|
|
|
|
+// if (personDTOList.size() > pageSize) {
|
|
|
+// personDTOList.remove(personDTOList.size() - 1);
|
|
|
+// }
|
|
|
+ while (personDTOList.size() > pageSize) {
|
|
|
+ personDTOList.remove(personDTOList.size() - 1); // 从列表末尾开始删除
|
|
|
+ }
|
|
|
+
|
|
|
Records records = new Records();
|
|
|
records.setCurrent(pageNum);
|
|
|
records.setSize(pageSize);
|