From b02beccf4567068cb47a3f1181a00039456c872d Mon Sep 17 00:00:00 2001 From: zqy <2522236926@qq.com> Date: 星期三, 06 八月 2025 15:37:20 +0800 Subject: [PATCH] 用户修改姓名和电话同步修改uaid --- zhang-content/src/main/java/com/ruoyi/service/impl/ZfContactServiceImpl.java | 82 ++++++++++++++++++++++++++++++++++------- 1 files changed, 68 insertions(+), 14 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 a1a34fc..a768486 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 @@ -6,18 +6,14 @@ 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.common.utils.poi.ExcelUtil; import com.ruoyi.domain.*; import com.ruoyi.domain.ZfContact; -import com.ruoyi.domain.ZfContact; import com.ruoyi.mapper.ZfContactMapper; import com.ruoyi.service.*; import com.ruoyi.service.ZfContactService; -import com.ruoyi.util.ArraysUtil; import lombok.extern.slf4j.Slf4j; import org.elasticsearch.action.delete.DeleteRequest; import org.elasticsearch.action.update.UpdateRequest; @@ -60,6 +56,12 @@ @Resource RestHighLevelClient restHighLevelClient; + + @Resource + ZfContactShraServiceImpl zfContactShraService; + + @Resource + ZfContactDownlService zfContactDownlService; private LambdaQueryWrapper<ZfContact> buildCondition(ZfContact zfContact,List<Long> familyIdList) { @@ -212,16 +214,33 @@ //瑕佹煡鑷繁瀹跺涵鐨� 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.getInfoById(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); + List<Long> fms = zInfoUserService.findByUaidToFaid(myself.getUaid()).stream().map(ZInfoUser::getFamilyId).collect(Collectors.toList()); + if(!fms.isEmpty()) + { + idList.addAll(fms); + } 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 @@ -252,10 +271,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 (Objects.equals(bean.getFamilyId(), familyId) ||(fatherFamilyId!=0L && fatherFamilyId.equals(familyId))||(motherFamilyId!=0L && motherFamilyId.equals(familyId))) { bean.setOwnData(1); } else { bean.setOwnData(0); @@ -282,12 +301,35 @@ //瑕佹煡鑷繁瀹跺涵鐨� ZInfoUser myself = zInfoUserService.getMyself(); + if(myself==null) + { + // System.out.println("ssssss"); + 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.getInfoById(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); + List<Long> fms = zInfoUserService.findByUaidToFaid(myself.getUaid()).stream().map(ZInfoUser::getFamilyId).collect(Collectors.toList()); + if(!fms.isEmpty()) + { + idList.addAll(fms); + } // String familyIds = listFamilyIds(); // String secondFamilyAuthority = listSecondFamilyIds(); LambdaQueryWrapper<ZfContact> lqw = buildCondition(zfContact, idList); @@ -298,7 +340,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); @@ -449,7 +491,7 @@ log.info("鏁版嵁鍒楄〃涓猴細{}", dataList); for (ZfContact zfContact : dataList) { - zfContactService.addData(zfContact); + zfContactService.addData(zfContact); } return AjaxResult.success("瀵煎叆鏁版嵁鎴愬姛"); @@ -488,6 +530,10 @@ //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d EsModel esResult = esService.findByCtId(dataById.getId().intValue(), "閫氳褰�"); + + if (esResult == null){ + return AjaxResult.success(); + } //鎿嶄綔es淇敼鏁版嵁 EsModel newModel = new EsModel(); @@ -562,17 +608,25 @@ List<ZfContact> zfContacts = listByIds(Arrays.asList(ids)); + if (! (zfContactDownlService.deleteData(ids) && zfContactShraService.deleteByContentId(ids) ) ){ + return AjaxResult.error(); + } if (zfContactService.removeByIds(Arrays.asList(ids))) { //鍒犻櫎es涓殑鏁版嵁 zfContacts.stream().forEach(zfContact -> { EsModel esModel = esService.findByCtId(zfContact.getId().intValue(), "閫氳褰�"); - DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); - try { - restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT); - } catch (IOException e) { - throw new RuntimeException(e); + + 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 { -- Gitblit v1.9.1