From 4ad6bd73061a034e52ede0f10867179d0d19e196 Mon Sep 17 00:00:00 2001 From: lilong Date: Tue, 30 Jul 2024 13:50:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:(REQ-2720)=20=E4=BF=AE=E6=94=B9=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProductFeatureRelationServiceImpl.java | 2 ++ .../server/service/impl/RoleServiceImpl.java | 36 +++++++++++++++++++ .../service/impl/TyrSaasAuthServiceImpl.java | 3 +- 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductFeatureRelationServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductFeatureRelationServiceImpl.java index 072cc28d..8e0f0258 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductFeatureRelationServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/ProductFeatureRelationServiceImpl.java @@ -106,6 +106,8 @@ public class ProductFeatureRelationServiceImpl extends ServiceImpl @Value("${groupLeader.code:projectTeamGPLeader}") private String groupLeaderCode; + @Autowired + private final MqProducer mqProducer; + + private static final String TARGET_TYPE = "saasFeatureResourceId"; + @Override public List queryByIdentityIdType(Long identityId, Integer identityType, Long workspaceId, Long ouId, Boolean includePermissionGroup) { // 查询人关联的角色id @@ -1335,6 +1347,30 @@ public class RoleServiceImpl extends ServiceImpl } } } + + if (CollectionUtils.isEmpty(req)) { + return; + } + // 入参的terminal不是必填,所以根据第一个id查询terminal,目前不会是所有端一起更新 + PageSaasFeatureResourceReq listSaasFeatureResourceParam = PageSaasFeatureResourceReq.builder() + .ids(Lists.newArrayList(req.get(0).getFeatureId())) + .build(); + String terminal = saasFeatureResourceService.list(listSaasFeatureResourceParam).stream() + .findFirst() + .map(SaasFeatureResourceResp::getTerminal) + .orElse(null); + if (StringUtils.isBlank(terminal)) { + return; + } + + Event event = Event.builder() + .targetType(TARGET_TYPE) + .eventCode(SAAS_FEATURE_RESOURCE_UPSERT.getEventCode()) + .data(SaasFeatureResourceUpsertPayload.builder() + .terminal(terminal) + .build()) + .build(); + mqProducer.send(event); } @Override diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/TyrSaasAuthServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/TyrSaasAuthServiceImpl.java index 82b83c43..ce43f82e 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/TyrSaasAuthServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/TyrSaasAuthServiceImpl.java @@ -1572,8 +1572,9 @@ public class TyrSaasAuthServiceImpl implements TyrSaasAuthService { } //聚合超管和管理员的权限点: 直接取角色标签和产品标签相匹配的权限点 - Set productUnitTypes = adminRoles.stream() + Set productUnitTypes = adminRoles.stream() .map(SaasRoleUserV2DTO.SaasRole::getProductUnitType) + .map(String::valueOf) .collect(Collectors.toSet()); return productPermissions.stream()