From 653428e3e805403eeb8d8043f173d6446694f54a Mon Sep 17 00:00:00 2001 From: "DESKTOP-DDTUS3E\\yaxin" Date: Fri, 25 Oct 2024 11:43:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=B1=9E=E6=80=A7hasPrompt?= =?UTF-8?q?=E6=A0=87=E8=AF=86=E5=BD=93=E5=89=8D=E8=AF=81=E6=8D=AE=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E6=9C=89=E6=97=A0=E5=AF=B9=E5=BA=94=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E8=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../police/dto/EvidenceCategoryDTO.java | 17 ++++++++++++----- .../impl/EvidenceCategoryServiceImpl.java | 14 +++++++++++++- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/supervision/police/dto/EvidenceCategoryDTO.java b/src/main/java/com/supervision/police/dto/EvidenceCategoryDTO.java index 9ea6290..60ba796 100644 --- a/src/main/java/com/supervision/police/dto/EvidenceCategoryDTO.java +++ b/src/main/java/com/supervision/police/dto/EvidenceCategoryDTO.java @@ -66,6 +66,12 @@ public class EvidenceCategoryDTO { */ private String categoryId; + /** + * 是否有关联的提示词 + */ + private Boolean hasPrompt = false; + + public EvidenceCategoryDTO() { } @@ -79,21 +85,22 @@ public class EvidenceCategoryDTO { /** * 获取分类的层级 - * @param categoryId 分类id + * + * @param categoryId 分类id * @param currentLevel 当前层级 * @return 分类层级 */ public int evalLevel(String categoryId, int currentLevel) { - if (StrUtil.isEmpty(categoryId)){ + if (StrUtil.isEmpty(categoryId)) { return -1; } - if (StrUtil.equals(this.id, categoryId)){ + if (StrUtil.equals(this.id, categoryId)) { return currentLevel; } - if (CollUtil.isNotEmpty(this.child)){ + if (CollUtil.isNotEmpty(this.child)) { for (EvidenceCategoryDTO evidenceCategoryDTO : child) { int level = evidenceCategoryDTO.evalLevel(categoryId, currentLevel + 1); - if (level != -1){ + if (level != -1) { return level; } } diff --git a/src/main/java/com/supervision/police/service/impl/EvidenceCategoryServiceImpl.java b/src/main/java/com/supervision/police/service/impl/EvidenceCategoryServiceImpl.java index 5622cda..3edd781 100644 --- a/src/main/java/com/supervision/police/service/impl/EvidenceCategoryServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/EvidenceCategoryServiceImpl.java @@ -4,9 +4,12 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.police.domain.EvidenceCategory; +import com.supervision.police.domain.NotePrompt; import com.supervision.police.dto.EvidenceCategoryDTO; import com.supervision.police.service.EvidenceCategoryService; import com.supervision.police.mapper.EvidenceCategoryMapper; +import com.supervision.police.service.NotePromptService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -21,15 +24,24 @@ import java.util.List; public class EvidenceCategoryServiceImpl extends ServiceImpl implements EvidenceCategoryService{ + @Autowired + private NotePromptService notePromptService; + @Override public List listCategoryTree(String caseType) { List list = super.getBaseMapper().listCategoryDTO(caseType); - + List notePrompts = notePromptService.list(); for (EvidenceCategoryDTO categoryDTO : list) { List child = list.stream() .filter(evidenceCategoryDTO -> StrUtil.equals(categoryDTO.getId(), evidenceCategoryDTO.getParentId())).toList(); if (CollUtil.isNotEmpty(child)){ + //遍历child,过滤notePrompts中evidence_category_id与child中id相等的数据,如果存在,则设置hasPrompt为true + child.forEach(evidenceCategoryDTO -> { + List notePromptList = notePrompts.stream() + .filter(notePrompt -> StrUtil.equals(notePrompt.getEvidenceCategoryId(), evidenceCategoryDTO.getId())).toList(); + evidenceCategoryDTO.setHasPrompt(CollUtil.isNotEmpty(notePromptList)); + }); categoryDTO.setChild(child); } }