From 944a01d60ffd53ca3a3b87ccfcaedc096219aba2 Mon Sep 17 00:00:00 2001 From: whywhyo <1511349576@qq.com> Date: 星期日, 17 九月 2023 23:42:47 +0800 Subject: [PATCH] 77777 --- zhang-content/src/main/java/com/ruoyi/service/impl/ZfDoctorServiceImpl.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 110 insertions(+), 4 deletions(-) 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(); -- Gitblit v1.9.1