From 57081da59de75e5ae202017151dc5616b3f4f5fe Mon Sep 17 00:00:00 2001
From: zqy <2522236926@qq.com>
Date: 星期二, 15 十月 2024 19:49:13 +0800
Subject: [PATCH] bug-孩子能看到父母家族的数据

---
 zhang-content/src/main/java/com/ruoyi/service/impl/ZfContactServiceImpl.java |   35 +++++++++++++++++++++++++++++++----
 1 files changed, 31 insertions(+), 4 deletions(-)

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 429131d..adad208 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
@@ -208,16 +208,29 @@
         //瑕佹煡鑷繁瀹跺涵鐨�
         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(CONTACT_LIST)).map(ZAuthority::getFid).collect(Collectors.toList());
         //鍔犱笂鑷繁瀹跺涵鐨刬d
         idList.add(familyId);
 
+        //鍔犱笂鐖舵瘝瀹舵棌id
+        idList.add(fatherFaId);
+        idList.add(motherFaId);
+
         LambdaQueryWrapper<ZfContact> lambdaQueryWrapper = buildCondition(zfContact, idList);
         List<ZfContact> beanRecords = list(lambdaQueryWrapper);
         log.info("浠庢暟鎹簱涓煡鍒扮殑涓�:{}", beanRecords);
-        return markOwnData(familyId, beanRecords);
+        return markOwnData(familyId,fatherFaId, motherFaId, beanRecords);
     }
 
     @Override
@@ -248,10 +261,10 @@
 //        }).collect(Collectors.toList());
 //    }
 
-    public List<ZfContact> markOwnData(Long familyId,List<ZfContact> beanRecords){
+    public List<ZfContact> markOwnData(Long familyId,Long fatherFamilyId, Long motherFamilyId, List<ZfContact> 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);
@@ -284,11 +297,25 @@
             return AjaxResult.success("鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�");
         }
         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(CONTACT_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<ZfContact> lqw = buildCondition(zfContact, idList);
@@ -299,7 +326,7 @@
 
         List<ZfContact> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹�
 
-        List<ZfContact> dtoResult = markOwnData(familyId, beanRecords);
+        List<ZfContact> dtoResult = markOwnData(familyId,fatherFaId, motherFaId, beanRecords);
 
         HashMap<String, Object> data = MapUtils.getResult(pageResult, dtoResult);
         return AjaxResult.success(data);

--
Gitblit v1.9.1