From 944a01d60ffd53ca3a3b87ccfcaedc096219aba2 Mon Sep 17 00:00:00 2001 From: whywhyo <1511349576@qq.com> Date: 星期日, 17 九月 2023 23:42:47 +0800 Subject: [PATCH] 77777 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/EsSearchController.java | 45 ++ zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java | 129 +++++- ruoyi-admin/src/test/java/com/ruoyi/esTest.java | 4 zhang-content/src/main/java/com/ruoyi/service/impl/ZfEquipmentServiceImpl.java | 106 +++++ zhang-content/src/main/java/com/ruoyi/service/impl/IZfPropertyServiceImpl.java | 107 +++++ zhang-content/src/main/java/com/ruoyi/service/impl/EsServiceImpl.java | 124 ++++++ /dev/null | 71 --- zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java | 86 ++++ zhang-content/src/main/java/com/ruoyi/service/EsService.java | 23 + zhang-content/src/main/java/com/ruoyi/service/impl/ZfCollectionServiceImpl.java | 108 +++++ ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/EsModel.java | 9 ruoyi-admin/src/main/resources/application-druid.yml | 4 zhang-content/src/main/java/com/ruoyi/service/impl/ZfContactServiceImpl.java | 99 +++++ zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java | 114 +++++ zhang-content/src/main/java/com/ruoyi/service/impl/ZfCleanServiceImpl.java | 105 +++++ 15 files changed, 988 insertions(+), 146 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/EsSearchController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/EsSearchController.java new file mode 100644 index 0000000..1a57cd7 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/EsSearchController.java @@ -0,0 +1,45 @@ +package com.ruoyi.web.controller.zhang; + +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.EsModel; +import com.ruoyi.service.EsService; +import org.springframework.data.elasticsearch.core.SearchHits; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author Jinquan_Ou + * @Description + * @Date 2023-09-17 16:39 + * @Version 1.0.0 + **/ +@RestController +@RequestMapping("/search") +public class EsSearchController { + + @Resource + EsService esService; + + @GetMapping() + public AjaxResult search(String keyword){ + List<EsModel> byCondition = esService.findByCondition(keyword); + return AjaxResult.success(byCondition); + } + + @DeleteMapping + public AjaxResult deleteAllData(){ + esService.deleteAllData(); + return AjaxResult.success(); + } + + @GetMapping("/all") + public AjaxResult getAll(){ + List<EsModel> modelList = esService.getAll(); + return AjaxResult.success(modelList); + } +} diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index ab100dc..b2e66b2 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -6,8 +6,8 @@ druid: # 涓诲簱鏁版嵁婧� master: - #url: jdbc:mysql://47.93.189.255:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 - url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://47.93.189.255:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 +# url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: ZhangApp123! # password: 123456 diff --git a/ruoyi-admin/src/test/java/com/ruoyi/esTest.java b/ruoyi-admin/src/test/java/com/ruoyi/esTest.java index 45355cf..597105a 100644 --- a/ruoyi-admin/src/test/java/com/ruoyi/esTest.java +++ b/ruoyi-admin/src/test/java/com/ruoyi/esTest.java @@ -9,7 +9,7 @@ import com.ruoyi.domain.ZfEvent; import com.ruoyi.mapper.EsRepository; import com.ruoyi.service.ZfEventService; -import com.ruoyi.service.esService; +import com.ruoyi.service.EsService; import org.elasticsearch.client.IndicesClient; import org.junit.jupiter.api.Test; @@ -22,7 +22,7 @@ @SpringBootTest public class esTest { @Autowired - private esService ess; + private EsService ess; @Autowired private EsRepository resp; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/EsModel.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/EsModel.java index fdd5763..d13f7e5 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/EsModel.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/EsModel.java @@ -66,4 +66,13 @@ @Field(type = FieldType.Text,analyzer = "ik_max_word") private String by5; + /** 澶囩敤6 */ + @Field(index = true,type = FieldType.Text,analyzer = "ik_max_word") + private String by6; + + /** 澶囩敤6 */ + @Field(index = true,type = FieldType.Text,analyzer = "ik_max_word") + private String by7; + + } diff --git a/zhang-content/src/main/java/com/ruoyi/service/EsService.java b/zhang-content/src/main/java/com/ruoyi/service/EsService.java new file mode 100644 index 0000000..09c31a0 --- /dev/null +++ b/zhang-content/src/main/java/com/ruoyi/service/EsService.java @@ -0,0 +1,23 @@ +package com.ruoyi.service; + +import com.ruoyi.common.core.domain.entity.EsModel; +import org.springframework.data.elasticsearch.core.SearchHits; + +import java.util.List; + +public interface EsService { + // 鎻掑叆绱㈠紩 + public int insertTable(EsModel esModel); + + // + public List<EsModel> findByCondition(String con); + + public EsModel findByCtId(Integer ctId,String ctTableName); + + public void deleteById(String id); + + void deleteAllData(); + + List<EsModel> getAll(); + +} diff --git a/zhang-content/src/main/java/com/ruoyi/service/esService.java b/zhang-content/src/main/java/com/ruoyi/service/esService.java deleted file mode 100644 index f41663e..0000000 --- a/zhang-content/src/main/java/com/ruoyi/service/esService.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.ruoyi.service; - -import com.ruoyi.common.core.domain.entity.EsModel; - -import java.util.List; - -public interface esService { - // 鎻掑叆绱㈠紩 - public int insertTable(EsModel esModel); - - // - public List<EsModel> findByCondition(String con); -} 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 new file mode 100644 index 0000000..a2ffacc --- /dev/null +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/EsServiceImpl.java @@ -0,0 +1,124 @@ +package com.ruoyi.service.impl; + +import com.ruoyi.common.core.domain.entity.EsModel; +import com.ruoyi.mapper.EsRepository; +import com.ruoyi.service.EsService; + +import org.elasticsearch.index.query.BoolQueryBuilder; +import org.elasticsearch.index.query.MultiMatchQueryBuilder; +import org.elasticsearch.index.query.QueryBuilders; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; +import org.springframework.data.elasticsearch.core.SearchHit; +import org.springframework.data.elasticsearch.core.SearchHits; +import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates; +import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; +import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; +import org.springframework.data.elasticsearch.core.query.Query; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Objects; + +@Service +public class EsServiceImpl implements EsService { + @Resource + private EsRepository esRepository; + @Resource + private ElasticsearchRestTemplate elasticsearchRestTemplate; + @Override + public int insertTable(EsModel esModel) { + try { + esRepository.save(esModel); + // esRepository.searchSimilar() + } catch (Exception e) { + System.out.println(e); + // throw new Exception("ES鏁版嵁鍚屾澶辫触锛岃鑱旂郴绠$悊鍛樺鐞嗭紒"); + } + return 0; + } + + // 鍏ㄦ枃妫�绱� + @Override + public List<EsModel> findByCondition(String con) { + List<EsModel> esm = new ArrayList<>(); + // MatchQueryBuilder matchQueryBuilder = QueryBuilders.matchQuery("title", title); + //澶氬瓧娈佃繘琛屽尮閰� +// MultiMatchQueryBuilder multiMatchQueryBuilder = QueryBuilders.multiMatchQuery(con, "ctName", "ctContent","remark", +// "by1","by2","by3","by4"); + BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); + boolQueryBuilder.should(QueryBuilders.matchQuery("ctName",con)); + boolQueryBuilder.should(QueryBuilders.matchQuery("ctContent",con)); + boolQueryBuilder.should(QueryBuilders.matchQuery("remark",con)); + boolQueryBuilder.should(QueryBuilders.matchQuery("by1",con)); + boolQueryBuilder.should(QueryBuilders.matchQuery("by2",con)); + boolQueryBuilder.should(QueryBuilders.matchQuery("by3",con)); + boolQueryBuilder.should(QueryBuilders.matchQuery("by4",con)); + boolQueryBuilder.should(QueryBuilders.matchQuery("by6",con)); + boolQueryBuilder.should(QueryBuilders.matchQuery("by7",con)); + + NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder() + .withQuery(boolQueryBuilder); + NativeSearchQuery nativeSearchQuery = nativeSearchQueryBuilder.build(); + + // 鎵ц鏌ヨ + SearchHits<EsModel> searchHits = elasticsearchRestTemplate.search(nativeSearchQuery,EsModel.class); + searchHits.getSearchHits().forEach(personSearchHit -> { + EsModel content = personSearchHit.getContent(); + esm.add(content); + // System.out.println(content); + }); + // articleList.forEach(a-> System.out.println(a)) + + return esm; + + } + + //鏍规嵁mysql涓殑id鏌ユ壘淇℃伅 + @Override + public EsModel findByCtId(Integer ctId, String ctTableName) { +// NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() +// .withQuery(QueryBuilders.matchQuery("ctId", ctId)) // 鑷畾涔夋煡璇㈡潯浠� +// .withQuery(QueryBuilders.matchQuery("ctTableName", ctTableName)) // 鑷畾涔夋煡璇㈡潯浠� +// .build(); + BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); + boolQueryBuilder.must(QueryBuilders.matchQuery("ctId", ctId)); + boolQueryBuilder.must(QueryBuilders.matchQuery("ctTableName", ctTableName)); + + NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder() + .withQuery(boolQueryBuilder); + NativeSearchQuery nativeSearchQuery = nativeSearchQueryBuilder.build(); + + return Objects.requireNonNull(elasticsearchRestTemplate.searchOne(nativeSearchQuery, EsModel.class)).getContent(); + + } + + @Override + public void deleteById(String id) { + esRepository.deleteById(id); + } + + @Override + public void deleteAllData() { + esRepository.deleteAll(); + } + + @Override + public List<EsModel> getAll() { + + ArrayList<EsModel> esModels = new ArrayList<>(); + + // 鏋勫缓鏌ヨ璇锋眰 + SearchHits<EsModel> searchHits = elasticsearchRestTemplate.search(Query.findAll(), EsModel.class,IndexCoordinates.of("allsearchdata")); + + Iterator<SearchHit<EsModel>> iterator = searchHits.stream().iterator(); + while (iterator.hasNext()){ + esModels.add(iterator.next().getContent()); + } + // 杩斿洖鏌ヨ缁撴灉 + return esModels; + } +} diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/IZfPropertyServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/IZfPropertyServiceImpl.java index c9bbfa2..9a06fa0 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/IZfPropertyServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/IZfPropertyServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.EsModel; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.SecurityUtils; @@ -13,17 +14,19 @@ import com.ruoyi.constant.MenuAuthority; import com.ruoyi.domain.*; import com.ruoyi.mapper.ZfPropertyMapper; -import com.ruoyi.service.IZfPropertyService; -import com.ruoyi.service.ZAuthorityService; -import com.ruoyi.service.ZInfoUserService; -import com.ruoyi.service.ZfLogService; +import com.ruoyi.service.*; import com.ruoyi.util.ArraysUtil; import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.action.update.UpdateRequest; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDateTime; @@ -53,6 +56,12 @@ @Resource ZfPropertyMapper zfPropertyMapper; + + @Resource + EsService esService; + + @Resource + RestHighLevelClient restHighLevelClient; // private LambdaQueryWrapper<ZfProperty> buildCondition(ZfProperty zfProperty) { @@ -378,6 +387,23 @@ } if (save(zfProperty)) { + + EsModel esModel = new EsModel(); + Integer inte = zfProperty.getId().intValue(); + String uuid = UUID.randomUUID().toString().replace("-",""); + esModel.setId(uuid); + esModel.setCtId(Long.valueOf(inte)); + esModel.setCtTableName("瀹跺涵璧勪骇"); + esModel.setBy1(zfProperty.getType()); + esModel.setBy2(zfProperty.getTitle()); + esModel.setBy3(zfProperty.getLocation()); + esModel.setBy4(zfProperty.getHolder()); + esModel.setBy5("/family/zfProperty"); + esModel.setBy6(zfProperty.getAddress()); + esModel.setRemark(zfProperty.getRemark()); + //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� + esService.insertTable(esModel); + return AjaxResult.success(); } else { return AjaxResult.error(); @@ -411,6 +437,66 @@ zfLogService.save(zfLog); if(updateById(zfProperty)){ + //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁 + ZfProperty dataById = getById(zfProperty.getId()); + + //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d + EsModel esResult = esService.findByCtId(dataById.getId().intValue(), "瀹跺涵璧勪骇"); + + //鎿嶄綔es淇敼鏁版嵁 + EsModel newModel = new EsModel(); + if(zfProperty.getType()!=null){ + newModel.setBy1(zfProperty.getType()); + }else { + newModel.setBy1(dataById.getType()); + } + + if(zfProperty.getTitle()!=null){ + newModel.setBy2(zfProperty.getTitle()); + }else { + newModel.setBy2(dataById.getTitle()); + } + + if(zfProperty.getLocation()!=null){ + newModel.setBy3(zfProperty.getLocation()); + }else { + newModel.setBy3(dataById.getLocation()); + } + + if(zfProperty.getHolder()!=null){ + newModel.setBy4(zfProperty.getHolder()); + }else { + newModel.setBy4(dataById.getHolder()); + } + + if(zfProperty.getAddress()!=null){ + newModel.setBy6(zfProperty.getAddress()); + }else { + newModel.setBy6(dataById.getAddress()); + } + + if(zfProperty.getRemark()!=null){ + newModel.setRemark(zfProperty.getRemark()); + }else { + newModel.setRemark(dataById.getRemark()); + } + + + UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId()); + updateRequest.doc( + "by1",newModel.getBy1(), + "by2",newModel.getBy2(), + "by3",newModel.getBy3(), + "by4",newModel.getBy4(), + "by6",newModel.getBy6(), + "remark",newModel.getRemark() + ); + + try { + restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } return AjaxResult.success(); }else { return AjaxResult.error(); @@ -436,7 +522,20 @@ } } + List<ZfProperty> zfPropertys = listByIds(Arrays.asList(ids)); + if (zfPropertyService.removeByIds(Arrays.asList(ids))) { + + //鍒犻櫎es涓殑鏁版嵁 + zfPropertys.stream().forEach(zfProperty -> { + EsModel esModel = esService.findByCtId(zfProperty.getId().intValue(), "瀹跺涵璧勪骇"); + DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); + try { + restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); return AjaxResult.success(); }else { return AjaxResult.error(); diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfCleanServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfCleanServiceImpl.java index 4b73ee4..a09327c 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfCleanServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfCleanServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.EsModel; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.SecurityUtils; @@ -14,23 +15,22 @@ import com.ruoyi.domain.ZfClean; import com.ruoyi.mapper.ZfCleanMapper; -import com.ruoyi.service.ZAuthorityService; -import com.ruoyi.service.ZInfoUserService; -import com.ruoyi.service.ZfCleanService; +import com.ruoyi.service.*; -import com.ruoyi.service.ZfLogService; import com.ruoyi.util.ArraysUtil; import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.action.update.UpdateRequest; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; import static com.ruoyi.constant.MenuAuthority.*; @@ -58,6 +58,12 @@ @Resource ZfLogService zfLogService; + + @Resource + EsService esService; + + @Resource + RestHighLevelClient restHighLevelClient; private LambdaQueryWrapper<ZfClean> buildCondition(ZfClean zfClean,List<Long> familyIdList) { LambdaQueryWrapper<ZfClean> lqw = new LambdaQueryWrapper<>(); @@ -373,6 +379,22 @@ } if (save(zfClean)) { + EsModel esModel = new EsModel(); + Integer inte = zfClean.getId().intValue(); + String uuid = UUID.randomUUID().toString().replace("-",""); + esModel.setId(uuid); + esModel.setCtId(Long.valueOf(inte)); + esModel.setCtTableName("淇濇磥涓庢敹绾�"); + esModel.setBy1(zfClean.getType()); + esModel.setBy2(zfClean.getMethod()); + esModel.setBy3(zfClean.getPlace()); + esModel.setBy4(zfClean.getSuitable()); + esModel.setBy5("/family/zfClean"); + esModel.setRemark(zfClean.getRemark()); + //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� + esService.insertTable(esModel); + + return AjaxResult.success(); } else { return AjaxResult.error(); @@ -464,6 +486,60 @@ if(updateById(zfClean)){ + + //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁 + ZfClean dataById = getById(zfClean.getId()); + + //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d + EsModel esResult = esService.findByCtId(dataById.getId().intValue(), "淇濇磥涓庢敹绾�"); + + //鎿嶄綔es淇敼鏁版嵁 + EsModel newModel = new EsModel(); + if(zfClean.getType()!=null){ + newModel.setBy1(zfClean.getType()); + }else { + newModel.setBy1(dataById.getType()); + } + + if(zfClean.getMethod()!=null){ + newModel.setBy2(zfClean.getMethod()); + }else { + newModel.setBy2(dataById.getMethod()); + } + + if(zfClean.getPlace()!=null){ + newModel.setBy3(zfClean.getPlace()); + }else { + newModel.setBy3(dataById.getPlace()); + } + + if(zfClean.getSuitable()!=null){ + newModel.setBy4(zfClean.getSuitable()); + }else { + newModel.setBy4(dataById.getSuitable()); + } + + if(zfClean.getRemark()!=null){ + newModel.setRemark(zfClean.getRemark()); + }else { + newModel.setRemark(dataById.getRemark()); + } + + + UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId()); + updateRequest.doc( + "by1",newModel.getBy1(), + "by2",newModel.getBy2(), + "by3",newModel.getBy3(), + "by4",newModel.getBy4(), + "remark",newModel.getRemark() + ); + + try { + restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } return AjaxResult.success(); }else { return AjaxResult.error(); @@ -489,7 +565,20 @@ } } + List<ZfClean> zfCleans = listByIds(Arrays.asList(ids)); + if (zfCleanService.removeByIds(Arrays.asList(ids))) { + + //鍒犻櫎es涓殑鏁版嵁 + zfCleans.stream().forEach(zfClean -> { + EsModel esModel = esService.findByCtId(zfClean.getId().intValue(), "淇濇磥涓庢敹绾�"); + DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); + try { + restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); return AjaxResult.success(); }else { return AjaxResult.error(); diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfCollectionServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfCollectionServiceImpl.java index 415f1c4..95c6744 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfCollectionServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfCollectionServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fasterxml.jackson.core.JsonParser; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.EsModel; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.SecurityUtils; @@ -16,17 +17,19 @@ import com.ruoyi.domain.ZfCollection; import com.ruoyi.domain.ZfCollection; import com.ruoyi.mapper.ZfCollectionMapper; -import com.ruoyi.service.ZAuthorityService; -import com.ruoyi.service.ZInfoUserService; -import com.ruoyi.service.ZfCollectionService; -import com.ruoyi.service.ZfLogService; +import com.ruoyi.service.*; import com.ruoyi.util.ArraysUtil; import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.action.update.UpdateRequest; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -59,6 +62,12 @@ @Resource ZfLogService zfLogService; + + @Resource + EsService esService; + + @Resource + RestHighLevelClient restHighLevelClient; private LambdaQueryWrapper<ZfCollection> buildCondition(ZfCollection zfCollection,List<Long> familyIdList) { LambdaQueryWrapper<ZfCollection> lqw = new LambdaQueryWrapper<>(); @@ -383,6 +392,23 @@ } if (save(zfCollection)) { + + EsModel esModel = new EsModel(); + Integer inte = zfCollection.getId().intValue(); + String uuid = UUID.randomUUID().toString().replace("-",""); + esModel.setId(uuid); + esModel.setCtId(Long.valueOf(inte)); + esModel.setCtTableName("鏀惰棌鍜岃崳瑾�"); + esModel.setBy1(zfCollection.getType()); + esModel.setBy2(zfCollection.getName()); + esModel.setBy3(zfCollection.getSource()); + esModel.setBy4(zfCollection.getOwner()); + esModel.setBy5("/family/zfCollection"); + esModel.setBy6(zfCollection.getLocation()); + esModel.setRemark(zfCollection.getRemark()); + //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� + esService.insertTable(esModel); + return AjaxResult.success(); } else { return AjaxResult.error(); @@ -437,6 +463,67 @@ if(updateById(zfCollection)){ + //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁 + ZfCollection dataById = getById(zfCollection.getId()); + + //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d + EsModel esResult = esService.findByCtId(dataById.getId().intValue(), "鏀惰棌鍜岃崳瑾�"); + + //鎿嶄綔es淇敼鏁版嵁 + EsModel newModel = new EsModel(); + if(zfCollection.getType()!=null){ + newModel.setBy1(zfCollection.getType()); + }else { + newModel.setBy1(dataById.getType()); + } + + if(zfCollection.getName()!=null){ + newModel.setBy2(zfCollection.getName()); + }else { + newModel.setBy2(dataById.getName()); + } + + if(zfCollection.getSource()!=null){ + newModel.setBy3(zfCollection.getSource()); + }else { + newModel.setBy3(dataById.getSource()); + } + + if(zfCollection.getOwner()!=null){ + newModel.setBy4(zfCollection.getOwner()); + }else { + newModel.setBy4(dataById.getOwner()); + } + + if(zfCollection.getLocation()!=null){ + newModel.setBy6(zfCollection.getLocation()); + }else { + newModel.setBy6(dataById.getLocation()); + } + + if(zfCollection.getRemark()!=null){ + newModel.setRemark(zfCollection.getRemark()); + }else { + newModel.setRemark(dataById.getRemark()); + } + + + UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId()); + updateRequest.doc( + "by1",newModel.getBy1(), + "by2",newModel.getBy2(), + "by3",newModel.getBy3(), + "by4",newModel.getBy4(), + "by6",newModel.getBy6(), + "remark",newModel.getRemark() + ); + + try { + restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + return AjaxResult.success(); }else { return AjaxResult.error(); @@ -460,7 +547,20 @@ } } + List<ZfCollection> zfCollections = listByIds(Arrays.asList(ids)); + if (zfCollectionService.removeByIds(Arrays.asList(ids))) { + + //鍒犻櫎es涓殑鏁版嵁 + zfCollections.stream().forEach(zfCollection -> { + EsModel esModel = esService.findByCtId(zfCollection.getId().intValue(), "鏀惰棌鍜岃崳瑾�"); + DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); + try { + restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); return AjaxResult.success(); }else { return AjaxResult.error(); diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfContactServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfContactServiceImpl.java index 171b379..ddfe5d6 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfContactServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfContactServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.EsModel; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.SecurityUtils; @@ -18,16 +19,18 @@ import com.ruoyi.service.ZfContactService; import com.ruoyi.util.ArraysUtil; import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.action.update.UpdateRequest; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; import static com.ruoyi.constant.MenuAuthority.*; @@ -51,6 +54,12 @@ @Resource ZAuthorityService zAuthorityService; + + @Resource + EsService esService; + + @Resource + RestHighLevelClient restHighLevelClient; private LambdaQueryWrapper<ZfContact> buildCondition(ZfContact zfContact,List<Long> familyIdList) { @@ -353,6 +362,21 @@ } if (save(zfContact)) { + + EsModel esModel = new EsModel(); + Integer inte = zfContact.getId().intValue(); + String uuid = UUID.randomUUID().toString().replace("-",""); + esModel.setId(uuid); + esModel.setCtId(Long.valueOf(inte)); + esModel.setCtTableName("閫氳褰�"); + esModel.setBy1(zfContact.getMyName()); + esModel.setBy2(zfContact.getNickName()); + esModel.setBy3(zfContact.getName()); + esModel.setBy4(zfContact.getWork()); + esModel.setBy5("/family/zfContact"); + esModel.setRemark(zfContact.getRemark()); + //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� + esService.insertTable(esModel); return AjaxResult.success(); } else { return AjaxResult.error(); @@ -458,6 +482,60 @@ zfLogService.save(zfLog); if(updateById(zfContact)){ + //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁 + ZfContact dataById = getById(zfContact.getId()); + + //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d + EsModel esResult = esService.findByCtId(dataById.getId().intValue(), "閫氳褰�"); + + //鎿嶄綔es淇敼鏁版嵁 + EsModel newModel = new EsModel(); + if(zfContact.getMyName()!=null){ + newModel.setBy1(zfContact.getMyName()); + }else { + newModel.setBy1(dataById.getMyName()); + } + + if(zfContact.getNickName()!=null){ + newModel.setBy2(zfContact.getNickName()); + }else { + newModel.setBy2(dataById.getNickName()); + } + + if(zfContact.getName()!=null){ + newModel.setBy3(zfContact.getName()); + }else { + newModel.setBy3(dataById.getName()); + } + + if(zfContact.getWork()!=null){ + newModel.setBy4(zfContact.getWork()); + }else { + newModel.setBy4(dataById.getWork()); + } + + if(zfContact.getRemark()!=null){ + newModel.setRemark(zfContact.getRemark()); + }else { + newModel.setRemark(dataById.getRemark()); + } + + + UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId()); + updateRequest.doc( + "by1",newModel.getBy1(), + "by2",newModel.getBy2(), + "by3",newModel.getBy3(), + "by4",newModel.getBy4(), + "remark",newModel.getRemark() + ); + + try { + restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + return AjaxResult.success(); }else { return AjaxResult.error(); @@ -481,7 +559,20 @@ } } + List<ZfContact> zfContacts = listByIds(Arrays.asList(ids)); + if (zfContactService.removeByIds(Arrays.asList(ids))) { + + //鍒犻櫎es涓殑鏁版嵁 + zfContacts.stream().forEach(zfContact -> { + EsModel esModel = esService.findByCtId(zfContact.getId().intValue(), "閫氳褰�"); + DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); + try { + restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); return AjaxResult.success(); }else { return AjaxResult.error(); diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java index fc73747..a89c0df 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.EsModel; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; @@ -13,15 +14,18 @@ import com.ruoyi.service.*; import com.ruoyi.service.ZfDoctorService; import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.action.update.UpdateRequest; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; +import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; import static com.ruoyi.constant.MenuAuthority.*; @@ -49,6 +53,12 @@ @Resource ZfDoctorMapper zfDoctorMapper; + + @Resource + EsService esService; + + @Resource + private RestHighLevelClient restHighLevelClient; @Override public AjaxResult selectDoctorList(ZfDoctor zfDoctor, Integer pageNum, Integer pageSize) { @@ -180,6 +190,22 @@ } if (save(zfDoctor)) { + EsModel esModel = new EsModel(); + Integer inte = zfDoctor.getId().intValue(); + String uuid = UUID.randomUUID().toString().replace("-",""); + esModel.setId(uuid); + esModel.setCtId(Long.valueOf(inte)); + esModel.setCtTableName("瀹跺涵灏忓尰鐢�"); + esModel.setBy1(zfDoctor.getType()); + esModel.setBy2(zfDoctor.getSymptom()); + esModel.setBy3(zfDoctor.getEffect()); + esModel.setBy4(zfDoctor.getSuitable()); + esModel.setBy5("/family/zfDoctor"); + esModel.setBy6(zfDoctor.getCmedical()); + esModel.setBy7(zfDoctor.getWmedical()); + esModel.setRemark(zfDoctor.getRemark()); + //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� + esService.insertTable(esModel); return AjaxResult.success(); } else { return AjaxResult.error(); @@ -213,6 +239,74 @@ zfLogService.save(zfLog); if(updateById(zfDoctor)){ + //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁 + ZfDoctor dataById = getById(zfDoctor.getId()); + + //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d + EsModel esResult = esService.findByCtId(dataById.getId().intValue(), "瀹跺涵灏忓尰鐢�"); + + //鎿嶄綔es淇敼鏁版嵁 + EsModel newModel = new EsModel(); + if(zfDoctor.getType()!=null){ + newModel.setBy1(zfDoctor.getType()); + }else { + newModel.setBy1(dataById.getType()); + } + + if(zfDoctor.getSymptom()!=null){ + newModel.setBy2(zfDoctor.getSymptom()); + }else { + newModel.setBy2(dataById.getSymptom()); + } + + if(zfDoctor.getEffect()!=null){ + newModel.setBy3(zfDoctor.getEffect()); + }else { + newModel.setBy3(dataById.getEffect()); + } + + if(zfDoctor.getSuitable()!=null){ + newModel.setBy4(zfDoctor.getSuitable()); + }else { + newModel.setBy4(dataById.getSuitable()); + } + + if(zfDoctor.getCmedical()!=null){ + newModel.setBy6(zfDoctor.getCmedical()); + }else { + newModel.setBy6(dataById.getCmedical()); + } + + if(zfDoctor.getWmedical()!=null){ + newModel.setBy7(zfDoctor.getWmedical()); + }else { + newModel.setBy7(dataById.getWmedical()); + } + + if(zfDoctor.getRemark()!=null){ + newModel.setRemark(zfDoctor.getRemark()); + }else { + newModel.setRemark(dataById.getRemark()); + } + + + UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId()); + updateRequest.doc( + "by1",newModel.getBy1(), + "by2",newModel.getBy2(), + "by3",newModel.getBy3(), + "by4",newModel.getBy4(), + "by6",newModel.getBy6(), + "by7",newModel.getBy7(), + "remark",newModel.getRemark() + ); + + try { + restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + return AjaxResult.success(); }else { return AjaxResult.error(); @@ -235,8 +329,20 @@ throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); } } + List<ZfDoctor> zfDoctors = listByIds(Arrays.asList(ids)); if (zfDoctorService.removeByIds(Arrays.asList(ids))) { + + //鍒犻櫎es涓殑鏁版嵁 + zfDoctors.stream().forEach(zfDoctor -> { + EsModel esModel = esService.findByCtId(zfDoctor.getId().intValue(), "瀹跺涵灏忓尰鐢�"); + DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); + try { + restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); return AjaxResult.success(); }else { return AjaxResult.error(); diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java index 7fe58d2..4e2b11d 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEconomyServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.EsModel; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.SecurityUtils; @@ -14,22 +15,21 @@ import com.ruoyi.domain.ZfEconomy; import com.ruoyi.domain.ZfEconomy; import com.ruoyi.mapper.ZfEconomyMapper; -import com.ruoyi.service.ZAuthorityService; -import com.ruoyi.service.ZInfoUserService; -import com.ruoyi.service.ZfEconomyService; -import com.ruoyi.service.ZfLogService; +import com.ruoyi.service.*; import com.ruoyi.util.ArraysUtil; import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.action.update.UpdateRequest; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; import static com.ruoyi.constant.MenuAuthority.*; @@ -56,6 +56,12 @@ @Resource ZfEconomyMapper zfEconomyMapper; + + @Resource + EsService esService; + + @Resource + RestHighLevelClient restHighLevelClient; private LambdaQueryWrapper<ZfEconomy> buildCondition(ZfEconomy zfEconomy,List<Long> familyIdList) { LambdaQueryWrapper<ZfEconomy> lqw = new LambdaQueryWrapper<>(); @@ -401,6 +407,18 @@ } if (save(zfEconomy)) { + EsModel esModel = new EsModel(); + Integer inte = zfEconomy.getId().intValue(); + String uuid = UUID.randomUUID().toString().replace("-",""); + esModel.setId(uuid); + esModel.setCtId(Long.valueOf(inte)); + esModel.setCtTableName("瀹跺涵鏀舵敮鍙拌处"); + esModel.setBy1(zfEconomy.getUseFor()); + esModel.setBy2(zfEconomy.getUsePeople()); + esModel.setBy5("/family/zfEconomy"); + esModel.setRemark(zfEconomy.getRemark()); + //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� + esService.insertTable(esModel); return AjaxResult.success(); } else { return AjaxResult.error(); @@ -434,6 +452,46 @@ zfLogService.save(zfLog); if(updateById(zfEconomy)){ + + //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁 + ZfEconomy dataById = getById(zfEconomy.getId()); + + //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d + EsModel esResult = esService.findByCtId(dataById.getId().intValue(), "瀹跺涵鏀舵敮鍙拌处"); + + //鎿嶄綔es淇敼鏁版嵁 + EsModel newModel = new EsModel(); + if(zfEconomy.getUseFor()!=null){ + newModel.setBy1(zfEconomy.getUseFor()); + }else { + newModel.setBy1(dataById.getUseFor()); + } + + if(zfEconomy.getUsePeople()!=null){ + newModel.setBy2(zfEconomy.getUsePeople()); + }else { + newModel.setBy2(dataById.getUsePeople()); + } + + if(zfEconomy.getRemark()!=null){ + newModel.setRemark(zfEconomy.getRemark()); + }else { + newModel.setRemark(dataById.getRemark()); + } + + + UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId()); + updateRequest.doc( + "by1",newModel.getBy1(), + "by2",newModel.getBy2(), + "remark",newModel.getRemark() + ); + + try { + restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } return AjaxResult.success(); }else { return AjaxResult.error(); @@ -456,8 +514,20 @@ throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); } } + List<ZfEconomy> zfEconomys = listByIds(Arrays.asList(ids)); if (zfEconomyService.removeByIds(Arrays.asList(ids))) { + + //鍒犻櫎es涓殑鏁版嵁 + zfEconomys.stream().forEach(zfEconomy -> { + EsModel esModel = esService.findByCtId(zfEconomy.getId().intValue(), "瀹跺涵鏀舵敮鍙拌处"); + DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); + try { + restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); return AjaxResult.success(); }else { return AjaxResult.error(); diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEquipmentServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEquipmentServiceImpl.java index 5ba7087..fbdc87b 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEquipmentServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEquipmentServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.EsModel; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.SecurityUtils; @@ -13,22 +14,21 @@ import com.ruoyi.domain.*; import com.ruoyi.domain.ZfEquipment; import com.ruoyi.mapper.ZfEquipmentMapper; -import com.ruoyi.service.ZAuthorityService; -import com.ruoyi.service.ZInfoUserService; -import com.ruoyi.service.ZfEquipmentService; -import com.ruoyi.service.ZfLogService; +import com.ruoyi.service.*; import com.ruoyi.util.ArraysUtil; import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.action.update.UpdateRequest; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; import static com.ruoyi.constant.MenuAuthority.*; @@ -52,6 +52,12 @@ @Resource ZAuthorityService zAuthorityService; + + @Resource + EsService esService; + + @Resource + private RestHighLevelClient restHighLevelClient; private LambdaQueryWrapper<ZfEquipment> buildCondition(ZfEquipment zfEquipment,List<Long> familyIdList) { LambdaQueryWrapper<ZfEquipment> lqw = new LambdaQueryWrapper<>(); @@ -337,6 +343,22 @@ } if (save(zfEquipment)) { + + EsModel esModel = new EsModel(); + Integer inte = zfEquipment.getId().intValue(); + String uuid = UUID.randomUUID().toString().replace("-",""); + esModel.setId(uuid); + esModel.setCtId(Long.valueOf(inte)); + esModel.setCtTableName("瀹跺涵璁惧"); + esModel.setBy1(zfEquipment.getName()); + esModel.setBy2(zfEquipment.getBuyer()); + esModel.setBy3(zfEquipment.getContent()); + esModel.setBy4(zfEquipment.getLocation()); + esModel.setBy5("/family/zfEquipment"); + esModel.setRemark(zfEquipment.getRemark()); + //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� + esService.insertTable(esModel); + return AjaxResult.success(); } else { return AjaxResult.error(); @@ -409,8 +431,6 @@ // } - - @Override @Transactional public AjaxResult importExcel(MultipartFile file) { @@ -459,6 +479,59 @@ zfLogService.save(zfLog); if(updateById(zfEquipment)){ + //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁 + ZfEquipment dataById = getById(zfEquipment.getId()); + + //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d + EsModel esResult = esService.findByCtId(dataById.getId().intValue(), "瀹跺涵璁惧"); + + //鎿嶄綔es淇敼鏁版嵁 + EsModel newModel = new EsModel(); + if(zfEquipment.getName()!=null){ + newModel.setBy1(zfEquipment.getName()); + }else { + newModel.setBy1(dataById.getName()); + } + + if(zfEquipment.getBuyer()!=null){ + newModel.setBy2(zfEquipment.getBuyer()); + }else { + newModel.setBy2(dataById.getBuyer()); + } + + if(zfEquipment.getContent()!=null){ + newModel.setBy3(zfEquipment.getContent()); + }else { + newModel.setBy3(dataById.getContent()); + } + + if(zfEquipment.getLocation()!=null){ + newModel.setBy4(zfEquipment.getLocation()); + }else { + newModel.setBy4(dataById.getLocation()); + } + + if(zfEquipment.getRemark()!=null){ + newModel.setRemark(zfEquipment.getRemark()); + }else { + newModel.setRemark(dataById.getRemark()); + } + + + UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId()); + updateRequest.doc( + "by1",newModel.getBy1(), + "by2",newModel.getBy2(), + "by3",newModel.getBy3(), + "by4",newModel.getBy4(), + "remark",newModel.getRemark() + ); + + try { + restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } return AjaxResult.success(); }else { return AjaxResult.error(); @@ -484,7 +557,20 @@ } } + List<ZfEquipment> zfEquipments = listByIds(Arrays.asList(ids)); + if (zfEquipmentService.removeByIds(Arrays.asList(ids))) { + + //鍒犻櫎es涓殑鏁版嵁 + zfEquipments.stream().forEach(zfEquipment -> { + EsModel esModel = esService.findByCtId(zfEquipment.getId().intValue(), "瀹跺涵璁惧"); + DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); + try { + restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); return AjaxResult.success(); }else { return AjaxResult.error(); diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java index e3688dd..d6f18db 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.service.impl; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -18,11 +19,18 @@ import com.ruoyi.service.*; import com.ruoyi.util.ArraysUtil; import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.action.update.UpdateRequest; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; +import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; +import org.springframework.security.core.parameters.P; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -51,7 +59,10 @@ ZAuthorityService zAuthorityService; //鍔犲叆鍒癳s涓� @Resource - private esService esSer; + private EsService esSer; + + @Resource + private RestHighLevelClient restHighLevelClient; private LambdaQueryWrapper<ZfEvent> buildCondition(ZfEvent zfEvent,List<Long> familyIdList) { LambdaQueryWrapper<ZfEvent> lqw = new LambdaQueryWrapper<>(); lqw.orderByDesc(ZfEvent::getCreateTime); @@ -313,26 +324,26 @@ @Override public AjaxResult addData(ZfEvent zfEvent) { -// ZInfoUser myself = zInfoUserService.getMyself(); -// Long familyId = myself.getFamilyId(); -// -// if(familyId == null){ -// throw new RuntimeException("鎮ㄨ繕鏈姞鍏ヤ换浣曞搴�"); -// } -// -// List<ZAuthority> authority = zAuthorityService.getAuthority(); -// List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EVENT_LIST_ADD)).map(ZAuthority::getFid).collect(Collectors.toList()); -// familyIdList.add(familyId); -// -// if (zfEvent.getFamilyId()!=null && !familyIdList.contains(zfEvent.getFamilyId())) { -// throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); -// } -// -// -// if(zfEvent.getFamilyId() == null){ -// //榛樿娣诲姞鑷繁瀹跺涵鐨勬暟鎹� -// zfEvent.setFamilyId(familyId); -// } + ZInfoUser myself = zInfoUserService.getMyself(); + Long familyId = myself.getFamilyId(); + + if(familyId == null){ + throw new RuntimeException("鎮ㄨ繕鏈姞鍏ヤ换浣曞搴�"); + } + + List<ZAuthority> authority = zAuthorityService.getAuthority(); + List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EVENT_LIST_ADD)).map(ZAuthority::getFid).collect(Collectors.toList()); + familyIdList.add(familyId); + + if (zfEvent.getFamilyId()!=null && !familyIdList.contains(zfEvent.getFamilyId())) { + throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); + } + + + if(zfEvent.getFamilyId() == null){ + //榛樿娣诲姞鑷繁瀹跺涵鐨勬暟鎹� + zfEvent.setFamilyId(familyId); + } //鍒ゆ柇鏄惁鏈夐噸澶嶆暟鎹� LambdaQueryWrapper<ZfEvent> lqw = uniqueCondition(zfEvent); @@ -343,20 +354,18 @@ } if (save(zfEvent)) { - // 椋� 鍔犲叆 EsModel esModel = new EsModel(); Integer inte = zfEvent.getId(); String uuid = UUID.randomUUID().toString().replace("-",""); esModel.setId(uuid); esModel.setCtId(Long.valueOf(inte)); - esModel.setCtName(zfEvent.getTitle()); - esModel.setCtContent(zfEvent.getAddress()); - esModel.setBy1(zfEvent.getRemark()); + esModel.setCtTableName("瀹跺ぇ浜嬭"); + esModel.setBy1(zfEvent.getAddress()); + esModel.setBy2(zfEvent.getPeople()); + esModel.setBy3(zfEvent.getTitle()); + esModel.setRemark(zfEvent.getRemark()); //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� esModel.setBy5("/family/zfEvent"); - // esModel.setCtTableName("tb_ajk"); - // esModel.setCtName("澶у"); - // esModel.setCtContent("澶у濂斤紝鎵嶆槸鐪熺殑濂�");//澶勪簨鐢� esSer.insertTable(esModel); return AjaxResult.success(); @@ -425,6 +434,7 @@ ZfLogService zfLogService; @Override + @Transactional public AjaxResult updateData(ZfEvent zfEvent) { ZInfoUser myself = zInfoUserService.getMyself(); Long familyId = myself.getFamilyId(); @@ -447,7 +457,54 @@ zfLog.setUpdater(zInfoUserService.getMyself().getNickName()); zfLogService.save(zfLog); - if(updateById(zfEvent)){ + if(zfEventService.updateById(zfEvent)){ + //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁 + ZfEvent dataById = getById(zfEvent.getId()); + + //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d + EsModel esResult = esSer.findByCtId(dataById.getId(), "瀹跺ぇ浜嬭"); + + //鎿嶄綔es淇敼鏁版嵁 + EsModel newModel = new EsModel(); + if(zfEvent.getAddress()!=null){ + newModel.setBy1(zfEvent.getAddress()); + }else { + newModel.setBy1(dataById.getAddress()); + } + + if(zfEvent.getPeople()!=null){ + newModel.setBy2(zfEvent.getPeople()); + }else { + newModel.setBy2(dataById.getPeople()); + } + + if(zfEvent.getTitle()!=null){ + newModel.setBy3(zfEvent.getTitle()); + }else { + newModel.setBy3(dataById.getTitle()); + } + + if(zfEvent.getRemark()!=null){ + newModel.setRemark(zfEvent.getRemark()); + }else { + newModel.setRemark(dataById.getRemark()); + } + + UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId()); + updateRequest.doc( + "by1",newModel.getBy1(), + "by2",newModel.getBy2(), + "by3",newModel.getBy3(), + "by4",newModel.getBy4(), + "remark",newModel.getRemark() + ); + + try { + restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + return AjaxResult.success(); }else { return AjaxResult.error(); @@ -472,7 +529,21 @@ } } + List<ZfEvent> zfEvents = listByIds(Arrays.asList(ids)); + if (zfEventService.removeByIds(Arrays.asList(ids))) { + + //鍒犻櫎es涓殑鏁版嵁 + zfEvents.stream().forEach(zfEvent -> { + EsModel esModel = esSer.findByCtId(zfEvent.getId(), "瀹跺ぇ浜嬭"); + DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); + try { + restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + }); + return AjaxResult.success(); }else { return AjaxResult.error(); 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 deleted file mode 100644 index e043f0b..0000000 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/esServiceImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.ruoyi.service.impl; - -import com.ruoyi.common.core.domain.entity.EsModel; -import com.ruoyi.mapper.EsRepository; -import com.ruoyi.service.esService; - -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.MultiMatchQueryBuilder; -import org.elasticsearch.index.query.QueryBuilders; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; -import org.springframework.data.elasticsearch.core.SearchHits; -import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; -import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; - -@Service -public class esServiceImpl implements esService { - @Resource - private EsRepository esRepository; - @Resource - private ElasticsearchRestTemplate elasticsearchRestTemplate; - @Override - public int insertTable(EsModel esModel) { - try { - esRepository.save(esModel); - // esRepository.searchSimilar() - } catch (Exception e) { - System.out.println(e); - // throw new Exception("ES鏁版嵁鍚屾澶辫触锛岃鑱旂郴绠$悊鍛樺鐞嗭紒"); - } - return 0; - } - // 鍏ㄦ枃妫�绱� - @Override - public List<EsModel> findByCondition(String con) { - List<EsModel> esm = new ArrayList<>(); - // MatchQueryBuilder matchQueryBuilder = QueryBuilders.matchQuery("title", title); - //澶氬瓧娈佃繘琛屽尮閰� -// MultiMatchQueryBuilder multiMatchQueryBuilder = QueryBuilders.multiMatchQuery(con, "ctName", "ctContent","remark", -// "by1","by2","by3","by4"); - BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); - boolQueryBuilder.should(QueryBuilders.matchQuery("ctName",con)); - boolQueryBuilder.should(QueryBuilders.matchQuery("ctContent",con)); - boolQueryBuilder.should(QueryBuilders.matchQuery("remark",con)); - boolQueryBuilder.should(QueryBuilders.matchQuery("by1",con)); - boolQueryBuilder.should(QueryBuilders.matchQuery("by2",con)); - boolQueryBuilder.should(QueryBuilders.matchQuery("by3",con)); - boolQueryBuilder.should(QueryBuilders.matchQuery("by4",con)); - - NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder() - .withQuery(boolQueryBuilder); - NativeSearchQuery nativeSearchQuery = nativeSearchQueryBuilder.build(); - - // 鎵ц鏌ヨ - SearchHits<EsModel> searchHits = elasticsearchRestTemplate.search(nativeSearchQuery,EsModel.class); - searchHits.getSearchHits().forEach(personSearchHit -> { - EsModel content = personSearchHit.getContent(); - esm.add(content); - // System.out.println(content); - }); - // articleList.forEach(a-> System.out.println(a)) - - return esm; - - } -} -- Gitblit v1.9.1