From 0d46b1b1eb6c5744f2b224444f82ecc6a5e74102 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=98=86=E9=B9=8F?= Date: Wed, 3 Jul 2024 11:19:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(REQ-2545):=20=E9=A1=B5=E9=9D=A2=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E5=85=B3=E7=B3=BB=E5=A2=9E=E5=8A=A0=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/tyr/client/model/req/GetPageElementReq.java | 9 +++++++++ .../dao/SaasPageElementFeatureResourceRelationDao.java | 3 ++- .../server/service/impl/SaasPageElementServiceImpl.java | 6 +++--- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/GetPageElementReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/GetPageElementReq.java index d7ef36f5..56d0c85d 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/GetPageElementReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/GetPageElementReq.java @@ -1,5 +1,6 @@ package cn.axzo.tyr.client.model.req; +import com.google.common.collect.Lists; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -7,6 +8,7 @@ import lombok.NoArgsConstructor; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; +import java.util.List; /** * @author likunpeng @@ -31,4 +33,11 @@ public class GetPageElementReq { */ @Builder.Default private Boolean querySelectedOnly = Boolean.FALSE; + + /** + * 查询的关联类型,默认全查 + * 如果要过滤页面路由的,relationTypes传[0] + */ + @Builder.Default + private List relationTypes = Lists.newArrayList(0, 1); } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/SaasPageElementFeatureResourceRelationDao.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/SaasPageElementFeatureResourceRelationDao.java index 226c20f2..c52bc145 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/SaasPageElementFeatureResourceRelationDao.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/dao/SaasPageElementFeatureResourceRelationDao.java @@ -28,10 +28,11 @@ public class SaasPageElementFeatureResourceRelationDao extends ServiceImpl listByUniCodeAndTerminal(List featureResourceUniCodes, String terminal) { + public List listByUniCodeAndTerminal(List featureResourceUniCodes, String terminal, List types) { return lambdaQuery() .eq(SaasPageElementFeatureResourceRelation::getIsDelete, DeleteEnum.NORMAL.getValue()) .in(SaasPageElementFeatureResourceRelation::getFeatureResourceUniCode, featureResourceUniCodes) + .in(CollectionUtils.isNotEmpty(types), SaasPageElementFeatureResourceRelation::getType, types) .eq(SaasPageElementFeatureResourceRelation::getTerminal, terminal) .list(); } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasPageElementServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasPageElementServiceImpl.java index 99f2423f..f42a02f5 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasPageElementServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasPageElementServiceImpl.java @@ -91,7 +91,7 @@ public class SaasPageElementServiceImpl implements SaasPageElementService { .one(); AssertUtil.notNull(saasFeatureResource, "页面或组件信息不存在"); - List relations = saasPageElementFeatureResourceRelationDao.listByUniCodeAndTerminal(Lists.newArrayList(saasFeatureResource.getUniCode()), saasFeatureResource.getTerminal()); + List relations = saasPageElementFeatureResourceRelationDao.listByUniCodeAndTerminal(Lists.newArrayList(saasFeatureResource.getUniCode()), saasFeatureResource.getTerminal(), request.getRelationTypes()); if (CollectionUtils.isEmpty(relations)) { return Collections.emptyList(); } @@ -114,7 +114,7 @@ public class SaasPageElementServiceImpl implements SaasPageElementService { @Override public List getByTerminalAndUniCode(String terminal, String featureResourceUniCode) { - List relations = saasPageElementFeatureResourceRelationDao.listByUniCodeAndTerminal(Lists.newArrayList(featureResourceUniCode), terminal); + List relations = saasPageElementFeatureResourceRelationDao.listByUniCodeAndTerminal(Lists.newArrayList(featureResourceUniCode), terminal, null); if (CollectionUtils.isEmpty(relations)) { return Collections.emptyList(); } @@ -203,7 +203,7 @@ public class SaasPageElementServiceImpl implements SaasPageElementService { if (CollectionUtils.isEmpty(saasFeatureResources)) { return null; } - List resourceRelations = saasPageElementFeatureResourceRelationDao.listByUniCodeAndTerminal(saasFeatureResources.stream().map(SaasFeatureResource::getUniCode).collect(Collectors.toList()), request.getTerminal()); + List resourceRelations = saasPageElementFeatureResourceRelationDao.listByUniCodeAndTerminal(saasFeatureResources.stream().map(SaasFeatureResource::getUniCode).collect(Collectors.toList()), request.getTerminal(), null); if (CollectionUtils.isNotEmpty(resourceRelations)) { // 这里会存在重复的数据,下面在过滤转为Set的时候做了去重 relations.addAll(resourceRelations);