From cedaeeed6d401aefebf93ea6ea21cc9e06d5f5db Mon Sep 17 00:00:00 2001
From: zqy <2522236926@qq.com>
Date: 星期二, 02 十二月 2025 10:36:48 +0800
Subject: [PATCH] 新增搜索 模块+同伴+时间
---
zhang-content/src/main/java/com/ruoyi/service/impl/EsServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++--
1 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/EsServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/EsServiceImpl.java
index a2ffacc..7ed3c3b 100644
--- a/zhang-content/src/main/java/com/ruoyi/service/impl/EsServiceImpl.java
+++ b/zhang-content/src/main/java/com/ruoyi/service/impl/EsServiceImpl.java
@@ -1,9 +1,13 @@
package com.ruoyi.service.impl;
import com.ruoyi.common.core.domain.entity.EsModel;
+import com.ruoyi.domain.ZAuthority;
+import com.ruoyi.domain.ZInfoUser;
import com.ruoyi.mapper.EsRepository;
import com.ruoyi.service.EsService;
+import com.ruoyi.service.ZAuthorityService;
+import com.ruoyi.service.ZInfoUserService;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.MultiMatchQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
@@ -22,6 +26,9 @@
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
+
+import static com.ruoyi.constant.MenuAuthority.EQUIPMENT_LIST;
@Service
public class EsServiceImpl implements EsService {
@@ -29,6 +36,13 @@
private EsRepository esRepository;
@Resource
private ElasticsearchRestTemplate elasticsearchRestTemplate;
+
+ @Resource
+ private ZInfoUserService zInfoUserService;
+
+ @Resource
+ private ZAuthorityService zAuthorityService;
+
@Override
public int insertTable(EsModel esModel) {
try {
@@ -49,6 +63,18 @@
//澶氬瓧娈佃繘琛屽尮閰�
// MultiMatchQueryBuilder multiMatchQueryBuilder = QueryBuilders.multiMatchQuery(con, "ctName", "ctContent","remark",
// "by1","by2","by3","by4");
+
+
+ //瑕佹煡鑷繁瀹跺涵鐨�
+ ZInfoUser myself = zInfoUserService.getMyself();
+ Long familyId = myself.getFamilyId();
+ //涔熻鏌ュ埆浜烘巿鏉冪殑
+ List<ZAuthority> authority = zAuthorityService.getAuthority();
+ List<Long> idList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EQUIPMENT_LIST)).map(ZAuthority::getFid).collect(Collectors.toList());
+ //鍔犱笂鑷繁瀹跺涵鐨刬d
+ idList.add(familyId);
+
+
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.should(QueryBuilders.matchQuery("ctName",con));
boolQueryBuilder.should(QueryBuilders.matchQuery("ctContent",con));
@@ -59,6 +85,7 @@
boolQueryBuilder.should(QueryBuilders.matchQuery("by4",con));
boolQueryBuilder.should(QueryBuilders.matchQuery("by6",con));
boolQueryBuilder.should(QueryBuilders.matchQuery("by7",con));
+
NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder()
.withQuery(boolQueryBuilder);
@@ -73,7 +100,9 @@
});
// articleList.forEach(a-> System.out.println(a))
- return esm;
+ return esm.stream().filter(esModel -> {
+ return idList.contains(esModel.getFid());
+ }).collect(Collectors.toList());
}
@@ -92,7 +121,11 @@
.withQuery(boolQueryBuilder);
NativeSearchQuery nativeSearchQuery = nativeSearchQueryBuilder.build();
- return Objects.requireNonNull(elasticsearchRestTemplate.searchOne(nativeSearchQuery, EsModel.class)).getContent();
+ SearchHit<EsModel> esModelSearchHit = elasticsearchRestTemplate.searchOne(nativeSearchQuery, EsModel.class);
+ if(esModelSearchHit != null){
+ return esModelSearchHit.getContent();
+ }
+ return null;
}
--
Gitblit v1.9.1