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/IZfPropertyServiceImpl.java |   72 ++++++++++++++++++++++++++++++++----
 1 files changed, 64 insertions(+), 8 deletions(-)

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 9a06fa0..0903b1e 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
@@ -1,11 +1,13 @@
 package com.ruoyi.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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;
@@ -62,6 +64,12 @@
     
     @Resource
     RestHighLevelClient restHighLevelClient;
+
+    @Resource
+    private IZfPropertyDownloadService zfPropertyDownloadService;
+
+    @Resource
+    private IZfPropertyShareService iZfPropertyShareService;
 
 
 //    private LambdaQueryWrapper<ZfProperty> buildCondition(ZfProperty zfProperty) {
@@ -222,17 +230,31 @@
         //瑕佹煡鑷繁瀹跺涵鐨�
         ZInfoUser myself = zInfoUserService.getMyself();
         Long familyId = myself.getFamilyId();
+
+        //鏌ョ湅鐖舵瘝瀹跺涵鐨勬暟鎹�
+        Long fatherFaId = 0L;
+        if(myself.getFatherId()!=null)
+            fatherFaId = zInfoUserService.getInfoById(myself.getFatherId()).getFamilyId();
+        Long motherFaId = 0L;
+        if(myself.getMomId()!=null)
+            motherFaId = zInfoUserService.getInfoBysysId(myself.getMomId()).getFamilyId();
+
         //涔熻鏌ュ埆浜烘巿鏉冪殑
         List<ZAuthority> authority = zAuthorityService.getAuthority();
         List<Long> idList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(PROPERTY_LIST)).map(ZAuthority::getFid).collect(Collectors.toList());
         //鍔犱笂鑷繁瀹跺涵鐨刬d
         idList.add(familyId);
+
+        //鍔犱笂鐖舵瘝瀹舵棌id
+        idList.add(fatherFaId);
+        idList.add(motherFaId);
+
 //        String familyIds = listFamilyIds();
 //        String secondFamilyAuthority = listSecondFamilyIds();
         LambdaQueryWrapper<ZfProperty> lqw = buildCondition(zfProperty, idList);
         List<ZfProperty> beanRecords = list(lqw);
         log.info("浠庢暟鎹簱涓煡鍒扮殑涓�:{}", beanRecords);
-        return markOwnData(familyId, beanRecords);
+        return markOwnData(familyId, fatherFaId, motherFaId, beanRecords);
     }
 
 //    private static List<ZfProperty> markOwnData(String familyIds, List<ZfProperty> beanRecords) {
@@ -258,12 +280,31 @@
 
         //瑕佹煡鑷繁瀹跺涵鐨�
         ZInfoUser myself = zInfoUserService.getMyself();
+        if(myself==null)
+        {
+            //   System.out.println("ssssss");
+            return AjaxResult.success("鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�");
+        }
         Long familyId = myself.getFamilyId();
         //涔熻鏌ュ埆浜烘巿鏉冪殑
         List<ZAuthority> authority = zAuthorityService.getAuthority();
         List<Long> idList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(PROPERTY_LIST)).map(ZAuthority::getFid).collect(Collectors.toList());
+
+        //鏌ョ湅鐖舵瘝鐨勬暟鎹細
+        Long fatherFaId = 0L;
+        if(myself.getFatherId()!=null)
+            fatherFaId = zInfoUserService.getInfoById(myself.getFatherId()).getFamilyId();
+        Long motherFaId = 0L;
+        if(myself.getMomId()!=null)
+            motherFaId = zInfoUserService.getInfoBysysId(myself.getMomId()).getFamilyId();
+
         //鍔犱笂鑷繁瀹跺涵鐨刬d
         idList.add(familyId);
+
+        //鍔犱笂鐖舵瘝瀹舵棌id
+        idList.add(fatherFaId);
+        idList.add(motherFaId);
+
 //        String familyIds = listFamilyIds();
 //        String secondFamilyAuthority = listSecondFamilyIds();
         LambdaQueryWrapper<ZfProperty> lqw = buildCondition(zfProperty, idList);
@@ -273,16 +314,16 @@
 
         List<ZfProperty> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹�
 
-        List<ZfProperty> dtoResult = markOwnData(familyId, beanRecords);
+        List<ZfProperty> dtoResult = markOwnData(familyId,fatherFaId, motherFaId, beanRecords);
 
         HashMap<String, Object> data = MapUtils.getResult(pageResult, dtoResult);
         return AjaxResult.success(data);
     }
 
-    public List<ZfProperty> markOwnData(Long familyId,List<ZfProperty> beanRecords){
+    public List<ZfProperty> markOwnData(Long familyId,Long fatherFamilyId, Long motherFamilyId,List<ZfProperty> beanRecords){
         return beanRecords.stream().peek(
                 bean -> {
-                    if (bean.getFamilyId() == familyId) {
+                    if (bean.getFamilyId() == familyId||(fatherFamilyId!=0L && fatherFamilyId==familyId)||(motherFamilyId!=0L && motherFamilyId==familyId)) {
                         bean.setOwnData(1);
                     } else {
                         bean.setOwnData(0);
@@ -299,6 +340,12 @@
         else
             list = list();
         return list;
+    }
+
+    @Override
+    public AjaxResult selectType() {
+        List<String> lis = list(new QueryWrapper<ZfProperty>().select("distinct (type)").lambda()).stream().map(ZfProperty::getType).collect(Collectors.toList());
+        return AjaxResult.success(lis);
     }
 
     @Override
@@ -416,8 +463,9 @@
     @Override
     public AjaxResult updateData(ZfProperty zfProperty) {
         ZInfoUser myself = zInfoUserService.getMyself();
-        Long familyId = myself.getFamilyId();
 
+        Long familyId = myself.getFamilyId();
+      //  System.out.println("sssssssssssss");
         //鍏堟牴鎹甶d鏌ヨ鍑烘暟鎹殑familyId锛岀湅鐪嬫湁娌℃湁鏉冮檺鎿嶄綔
         Long dataFamilyId = getById(zfProperty.getId()).getFamilyId();
 
@@ -439,9 +487,11 @@
         if(updateById(zfProperty)){
             //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁
             ZfProperty dataById = getById(zfProperty.getId());
-
             //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d
             EsModel esResult = esService.findByCtId(dataById.getId().intValue(), "瀹跺涵璧勪骇");
+            if (esResult == null){
+                return AjaxResult.success();
+            }
 
             //鎿嶄綔es淇敼鏁版嵁
             EsModel newModel = new EsModel();
@@ -491,7 +541,6 @@
                     "by6",newModel.getBy6(),
                     "remark",newModel.getRemark()
             );
-
             try {
                 restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT);
             } catch (IOException e) {
@@ -524,18 +573,25 @@
 
         List<ZfProperty> zfPropertys = listByIds(Arrays.asList(ids));
 
+        if (! (zfPropertyDownloadService.deleteData(ids) && iZfPropertyShareService.deleteByContentId(ids)  ) ){
+            return AjaxResult.error();
+        }
         if (zfPropertyService.removeByIds(Arrays.asList(ids))) {
 
             //鍒犻櫎es涓殑鏁版嵁
             zfPropertys.stream().forEach(zfProperty -> {
                 EsModel esModel = esService.findByCtId(zfProperty.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);
-                }
+                }}
             });
+            System.out.println("15165132165346153246153");
+
             return AjaxResult.success();
         }else {
             return AjaxResult.error();

--
Gitblit v1.9.1