ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/EsModel.java
@@ -27,6 +27,10 @@ @Field(index = true,type = FieldType.Long) private Long ctId; /**** es中对应的数据所属家庭id*/ @Field(index = true,type = FieldType.Long) private Long fid; /**** es中业务数据 对应的业务数据库表名称*/ @Field(type = FieldType.Text,analyzer = "ik_max_word") private String ctTableName; @@ -75,4 +79,6 @@ private String by7; } 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()); //加上自己家庭的id 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)); boolQueryBuilder.filter(QueryBuilders.termsQuery("fid", idList)); NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder() .withQuery(boolQueryBuilder); zhang-content/src/main/java/com/ruoyi/service/impl/ZfCleanServiceImpl.java
@@ -391,6 +391,7 @@ esModel.setBy4(zfClean.getSuitable()); esModel.setBy5("/family/zfClean"); esModel.setRemark(zfClean.getRemark()); esModel.setFid(familyId); //这里存储查询详情的路径 esService.insertTable(esModel); zhang-content/src/main/java/com/ruoyi/service/impl/ZfCollectionServiceImpl.java
@@ -406,6 +406,7 @@ esModel.setBy5("/family/zfCollection"); esModel.setBy6(zfCollection.getLocation()); esModel.setRemark(zfCollection.getRemark()); esModel.setFid(familyId); //这里存储查询详情的路径 esService.insertTable(esModel); zhang-content/src/main/java/com/ruoyi/service/impl/ZfContactServiceImpl.java
@@ -375,6 +375,7 @@ esModel.setBy4(zfContact.getWork()); esModel.setBy5("/family/zfContact"); esModel.setRemark(zfContact.getRemark()); esModel.setFid(familyId); //这里存储查询详情的路径 esService.insertTable(esModel); return AjaxResult.success(); zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java
@@ -204,6 +204,7 @@ esModel.setBy6(zfDoctor.getCmedical()); esModel.setBy7(zfDoctor.getWmedical()); esModel.setRemark(zfDoctor.getRemark()); esModel.setFid(familyId); //这里存储查询详情的路径 esService.insertTable(esModel); return AjaxResult.success(); zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java
@@ -417,6 +417,7 @@ esModel.setBy2(zfEconomy.getUsePeople()); esModel.setBy5("/family/zfEconomy"); esModel.setRemark(zfEconomy.getRemark()); esModel.setFid(familyId); //这里存储查询详情的路径 esService.insertTable(esModel); return AjaxResult.success(); zhang-content/src/main/java/com/ruoyi/service/impl/ZfEquipmentServiceImpl.java
@@ -356,6 +356,7 @@ esModel.setBy4(zfEquipment.getLocation()); esModel.setBy5("/family/zfEquipment"); esModel.setRemark(zfEquipment.getRemark()); esModel.setFid(familyId); //这里存储查询详情的路径 esService.insertTable(esModel); zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java
@@ -366,6 +366,7 @@ esModel.setRemark(zfEvent.getRemark()); //这里存储查询详情的路径 esModel.setBy5("/family/zfEvent"); esModel.setFid(familyId); esSer.insertTable(esModel); return AjaxResult.success();