From ca054d1db9256bc8d367486b0d78e89cd4fd7fdb Mon Sep 17 00:00:00 2001 From: zqy <2522236926@qq.com> Date: 星期二, 22 十月 2024 20:41:10 +0800 Subject: [PATCH] 删除时会连着分享和下载的数据一起删掉 --- zhang-content/src/main/java/com/ruoyi/service/impl/ZPropertyShareServiceImpl.java | 130 ++++++++++++++++++++++++++++-------------- 1 files changed, 86 insertions(+), 44 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZPropertyShareServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZPropertyShareServiceImpl.java index bde7ff2..206839f 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZPropertyShareServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZPropertyShareServiceImpl.java @@ -4,20 +4,23 @@ 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; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.domain.*; import com.ruoyi.mapper.ZfShareMapper; -import com.ruoyi.service.ZPropertyService; -import com.ruoyi.service.ZPropertyShareService; -import com.ruoyi.service.ZInfoUserService; +import com.ruoyi.service.*; import com.ruoyi.service.ZPropertyShareService; import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -27,13 +30,19 @@ @Service public class ZPropertyShareServiceImpl extends ServiceImpl<ZfShareMapper,ZfShare> implements ZPropertyShareService { - @Resource ZPropertyService zPropertyService; @Resource private ZInfoUserService zInfoUserService; + + @Resource + private RestHighLevelClient restHighLevelClient; + + @Resource + EsService esService; + private LambdaQueryWrapper<ZfShare> uniqueCondition(ZfShare zfShare) { LambdaQueryWrapper<ZfShare> lqw = new LambdaQueryWrapper<>(); @@ -49,26 +58,24 @@ Long userId = user.getUserId(); LambdaQueryWrapper<ZfShare> lqw = new LambdaQueryWrapper<>(); - lqw.eq(ZfShare::getShareId,userId); + lqw.eq(ZfShare::getShareId, userId); return list(lqw); } - public Long getUserId(){ + public Long getUserId() { ZInfoUser myself = zInfoUserService.getMyself(); return myself.getUserId(); } - public void addData(ZfShare za) - { + public void addData(ZfShare za) { LambdaQueryWrapper<ZfShare> lqw = uniqueCondition(za); List<ZfShare> list = list(lqw); - if(list.size()>0){ + if (list.size() > 0) { throw new RuntimeException("璇峰嬁鍒嗕韩閲嶅鏁版嵁"); - } - else { + } else { save(za); } @@ -76,8 +83,8 @@ @Override public AjaxResult saveZa(ShareMore shareMore) { - Long [] shareIds = shareMore.getShareIds(); - Long [] shareContents = shareMore.getShareContents(); + Long[] shareIds = shareMore.getShareIds(); + Long[] shareContents = shareMore.getShareContents(); for (Long shareId : shareIds) { for (Long shareContent : shareContents) { ZfShare za = new ZfShare(); @@ -95,39 +102,38 @@ @Override public AjaxResult listByFidAid(ShareMore shareMore, Integer pageNo, Integer pageSize) { - Long [] shareIds = shareMore.getShareIds(); + Long[] shareIds = shareMore.getShareIds(); List<ZProperty> beanRecord3 = new ArrayList<>(); for (Long shareId : shareIds) { { LambdaQueryWrapper<ZfShare> lqw = new LambdaQueryWrapper<>(); - lqw.eq(ZfShare::getShareId,shareId) - .eq(ZfShare::getSysMenuId,shareMore.getSysMenuId()) + lqw.eq(ZfShare::getShareId, shareId) + .eq(ZfShare::getSysMenuId, shareMore.getSysMenuId()) .eq(ZfShare::getUserId, getUserId()); List<ZfShare> beanRecords = list(lqw); - for (ZfShare beanRecord : beanRecords ) { + for (ZfShare beanRecord : beanRecords) { beanRecord3.add(zPropertyService.getById(beanRecord.getShareContent())); } } } - List<ZProperty> record = beanRecord3.stream().skip((pageNo-1)*pageSize).limit(pageSize).collect(Collectors.toList()); + List<ZProperty> record = beanRecord3.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); - int totalPage = (beanRecord3.size() -1) / pageSize +1; + int totalPage = (beanRecord3.size() - 1) / pageSize + 1; - Page<ZProperty> zPropertyPage = new Page<>(pageNo, pageSize,totalPage); - HashMap<String, Object> data = MapUtils.getShareResult(zPropertyPage, record,beanRecord3.size()); + Page<ZProperty> zPropertyPage = new Page<>(pageNo, pageSize, totalPage); + HashMap<String, Object> data = MapUtils.getShareResult(zPropertyPage, record, beanRecord3.size()); return AjaxResult.success(data); } @Override public AjaxResult deleteZa(ShareMore shareMore) { - Long [] shareIds = shareMore.getShareIds(); - Long [] shareContents = shareMore.getShareContents(); - for(Long shareId : shareIds) - for(Long shareContent: shareContents) - { + Long[] shareIds = shareMore.getShareIds(); + Long[] shareContents = shareMore.getShareContents(); + for (Long shareId : shareIds) + for (Long shareContent : shareContents) { LambdaQueryWrapper<ZfShare> lqw = new LambdaQueryWrapper<>(); - lqw.eq(ZfShare::getShareId,shareId) + lqw.eq(ZfShare::getShareId, shareId) .eq(ZfShare::getShareContent, shareContent) .eq(ZfShare::getSysMenuId, shareMore.getSysMenuId()) .eq(ZfShare::getUserId, getUserId()); @@ -140,15 +146,15 @@ @Override public AjaxResult listByUserId() { - HashMap<Long,List<ZProperty>> bs = new HashMap<>(); + HashMap<Long, List<ZProperty>> bs = new HashMap<>(); LambdaQueryWrapper<ZfShare> lqw = new LambdaQueryWrapper<>(); - lqw.eq(ZfShare::getShareId,getUserId()); - lqw.eq(ZfShare::getSysMenuId,2026L); + lqw.eq(ZfShare::getShareId, getUserId()); + lqw.eq(ZfShare::getSysMenuId, 2026L); List<ZfShare> beanRecords = list(lqw); List<ZProperty> b1 = new ArrayList<>(); - for (ZfShare beanRecord : beanRecords ) { + for (ZfShare beanRecord : beanRecords) { b1.add(zPropertyService.getById(beanRecord.getShareContent())); - bs.put(beanRecord.getUserId(),b1); + bs.put(beanRecord.getUserId(), b1); } log.info("浠庢暟鎹簱涓煡鍒扮殑涓�:{}", bs); return AjaxResult.success(bs); @@ -156,23 +162,23 @@ @Override public AjaxResult listUserId(Integer pageNo, Integer pageSize) { - List<ZProperty> bs = new ArrayList<>(); + List<ZProperty> bs = new ArrayList<>(); LambdaQueryWrapper<ZfShare> lqw = new LambdaQueryWrapper<>(); - lqw.eq(ZfShare::getShareId,getUserId()); - lqw.eq(ZfShare::getSysMenuId,2026L); + lqw.eq(ZfShare::getShareId, getUserId()); + lqw.eq(ZfShare::getSysMenuId, 2026L); List<ZfShare> beanRecords = list(lqw); - for (ZfShare beanRecord : beanRecords ) { + for (ZfShare beanRecord : beanRecords) { ZProperty bs2 = zPropertyService.getById(beanRecord.getShareContent()); bs2.setShareId(beanRecord.getUserId().intValue()); bs.add(bs2); } log.info("浠庢暟鎹簱涓煡鍒扮殑涓�:{}", bs); - List<ZProperty> record = bs.stream().skip((pageNo-1)*pageSize).limit(pageSize).collect(Collectors.toList()); + List<ZProperty> record = bs.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); - int totalPage = (bs.size() -1) / pageSize +1; + int totalPage = (bs.size() - 1) / pageSize + 1; - Page<ZProperty> zPropertyPage = new Page<>(pageNo, pageSize,totalPage); - HashMap<String, Object> data = MapUtils.getShareResult(zPropertyPage, record,bs.size()); + Page<ZProperty> zPropertyPage = new Page<>(pageNo, pageSize, totalPage); + HashMap<String, Object> data = MapUtils.getShareResult(zPropertyPage, record, bs.size()); return AjaxResult.success(data); } @@ -183,11 +189,47 @@ .eq(ZfShare::getShareContent, zfDownload.getDownloadContent()) .eq(ZfShare::getSysMenuId, zfDownload.getSysMenuId()); List<ZfShare> beanRecords = list(lqw); - if (beanRecords.size() != 0){ + if (beanRecords.size() != 0) { return beanRecords.get(0).getUserId(); - } - else { + } else { return null; } } -} + + @Override + public Boolean deleteByContentId(Long[] ids) { + List<Long> id = new ArrayList<>(); + + LambdaQueryWrapper<ZfShare> lqw = new LambdaQueryWrapper<>(); + lqw.in(ids != null, ZfShare::getShareContent, ids) + .eq(ZfShare::getSysMenuId, 2026L); + + List<ZfShare> zfShares = list(lqw); + if (zfShares.size() == 0) { + return true; + } + for (ZfShare zfShare : zfShares) { + id.add(zfShare.getId()); + } + + System.out.println(id); + if (removeByIds(id)) { + //鍒犻櫎es涓殑鏁版嵁 + zfShares.forEach(zfDoctorDownload -> { + EsModel esModel = esService.findByCtId(zfDoctorDownload.getId().intValue(), "涓汉璐骇鍒嗕韩鍒犻櫎"); + if (esModel != null) { + DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); + System.out.println(deleteRequest); + try { + restHighLevelClient.delete(deleteRequest, RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }); + return true; + } else { + return false; + } + } +} \ No newline at end of file -- Gitblit v1.9.1