From a69aafe60ce001834b981778f12fd74d4af77e23 Mon Sep 17 00:00:00 2001 From: zqy <2522236926@qq.com> Date: 星期日, 23 六月 2024 22:04:42 +0800 Subject: [PATCH] 小医生修改&下载分享数据 --- zhang-content/src/main/java/com/ruoyi/service/impl/ZfCollectionServiceImpl.java | 177 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 164 insertions(+), 13 deletions(-) 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 d3d0f14..2d4c24b 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 @@ -5,29 +5,27 @@ 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.SysUser; +import com.ruoyi.common.core.domain.entity.EsModel; import com.ruoyi.common.utils.MapUtils; -import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.domain.*; 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.util.ArraysUtil; +import com.ruoyi.service.*; 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.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.*; import java.util.stream.Collectors; import static com.ruoyi.constant.MenuAuthority.*; @@ -52,6 +50,18 @@ @Resource ZAuthorityService zAuthorityService; + + @Resource + ZfCollectionMapper zfCollectionMapper; + + @Resource + ZfLogService zfLogService; + + @Resource + EsService esService; + + @Resource + RestHighLevelClient restHighLevelClient; private LambdaQueryWrapper<ZfCollection> buildCondition(ZfCollection zfCollection,List<Long> familyIdList) { LambdaQueryWrapper<ZfCollection> lqw = new LambdaQueryWrapper<>(); @@ -265,7 +275,7 @@ bean.setOwnData(0); } } - ).collect(Collectors.toList()); + ).sorted((a,b)-> b.getOwnData()-a.getOwnData()).collect(Collectors.toList()); } @Override @@ -286,6 +296,11 @@ //瑕佹煡鑷繁瀹跺涵鐨� ZInfoUser myself = zInfoUserService.getMyself(); + if(myself==null) + { + // System.out.println("ssssss"); + return AjaxResult.success("鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�"); + } Long familyId = myself.getFamilyId(); //涔熻鏌ュ埆浜烘巿鏉冪殑 List<ZAuthority> authority = zAuthorityService.getAuthority(); @@ -354,7 +369,7 @@ } 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()); + List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(COLLECTION_LIST_ADD)).map(ZAuthority::getFid).collect(Collectors.toList()); familyIdList.add(familyId); if (zfCollection.getFamilyId()!=null && !familyIdList.contains(zfCollection.getFamilyId())) { @@ -376,6 +391,24 @@ } 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()); + esModel.setFid(familyId); + //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� + esService.insertTable(esModel); + return AjaxResult.success(); } else { return AjaxResult.error(); @@ -399,7 +432,102 @@ throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); } + //鍏堣褰曚笅璋佹洿鏂般�佷綍鏃舵洿鏂般�佹洿鏂颁簡鍝噷 + +// LambdaQueryWrapper<ZfCollection> lqw = new LambdaQueryWrapper<>(); +// lqw.eq(ZfCollection::getId,zfCollection.getId()); +// zfCollectionService.getOne(lqw); +// ZfCollection oldData = getOne(lqw); +// +// String oldJson = JSONObject.toJSONString(oldData); +// String newJson = JSONObject.toJSONString(zfCollection); +// +// Map oldMap = JSONObject.parseObject(oldJson, Map.class); +// Map newMap = JSONObject.parseObject(newJson, Map.class); +// +// for (Object key : oldMap.keySet()) { +// if(newMap.get(key)!=null && !newMap.get(key).equals(oldMap.get(key))){ +// System.out.println(newMap.get(key)+" "+oldMap.get(key)); +// Date date = new Date(); +// System.out.println("鐢ㄦ埛"+myself.getNickName()+"鍦�"+date+"杩欎釜鏃堕棿"+"淇敼浜�<鏀惰棌鑽h獕>妯″潡鐨�"+key+"瀛楁"); +// } +// } + + //鎿嶄綔鍚庡姞鍏ユ棩蹇� + ZfLog zfLog = new ZfLog(); + zfLog.setUpdateTime(LocalDateTime.now()); + zfLog.setModule("鏀惰棌鑽h獕"); + zfLog.setUpdater(zInfoUserService.getMyself().getNickName()); + zfLogService.save(zfLog); + + if(updateById(zfCollection)){ + + //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁 + ZfCollection dataById = getById(zfCollection.getId()); + + //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d + EsModel esResult = esService.findByCtId(dataById.getId().intValue(), "鏀惰棌鍜岃崳瑾�"); + + if (esResult == null){ + return AjaxResult.success(); + } + + //鎿嶄綔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(); @@ -423,13 +551,36 @@ } } + 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(), "鏀惰棌鍜岃崳瑾�"); + + if (esModel != null){ + + 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(); } } + @Override + public AjaxResult listType() { + List<String> result = zfCollectionMapper.listType(); + return AjaxResult.success(result); + } + @Override @Transactional -- Gitblit v1.9.1