feat:(REQ-2720) 修改菜单查询逻辑

This commit is contained in:
lilong 2024-07-30 13:50:42 +08:00
parent 4324169606
commit 4ad6bd7306
3 changed files with 40 additions and 1 deletions

View File

@ -106,6 +106,8 @@ public class ProductFeatureRelationServiceImpl extends ServiceImpl<SaasProductMo
saveList.add(relation);
}));
saasProductModuleFeatureRelationDao.saveBatch(saveList);
sendProductPermissionCreatedMsg(req);
return ApiResult.ok(true);
}

View File

@ -5,6 +5,7 @@ import cn.axzo.basics.common.exception.ServiceException;
import cn.axzo.foundation.dao.support.converter.PageConverter;
import cn.axzo.foundation.dao.support.mysql.QueryWrapperHelper;
import cn.axzo.framework.domain.page.PageResp;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
import cn.axzo.tyr.client.common.enums.RoleResourceTypeEnum;
import cn.axzo.tyr.client.common.enums.RoleTypeEnum;
@ -13,6 +14,7 @@ import cn.axzo.tyr.client.model.enums.PermissionGroupType;
import cn.axzo.tyr.client.model.req.ChangeGroupLeaderRoleReq;
import cn.axzo.tyr.client.model.req.FeatureRoleRelationReq;
import cn.axzo.tyr.client.model.req.PagePgroupPermissionRelationReq;
import cn.axzo.tyr.client.model.req.PageSaasFeatureResourceReq;
import cn.axzo.tyr.client.model.req.QueryByIdentityIdTypeReq;
import cn.axzo.tyr.client.model.req.QueryRoleByNameReq;
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
@ -24,6 +26,7 @@ import cn.axzo.tyr.client.model.res.IsSuperAdminRes;
import cn.axzo.tyr.client.model.res.QueryBatchByIdentityIdTypeRes;
import cn.axzo.tyr.client.model.res.QueryRoleByNameResp;
import cn.axzo.tyr.client.model.res.RoleWithUserRes;
import cn.axzo.tyr.client.model.res.SaasFeatureResourceResp;
import cn.axzo.tyr.client.model.res.SaasPermissionRelationRes;
import cn.axzo.tyr.client.model.res.SaasPermissionRes;
import cn.axzo.tyr.client.model.res.SaasRoleGroupRes;
@ -37,6 +40,8 @@ import cn.axzo.tyr.client.model.vo.SaasRoleCategoryVO;
import cn.axzo.tyr.client.model.vo.SaasRoleGroupCodeVO;
import cn.axzo.tyr.client.model.vo.SaasRoleVO;
import cn.axzo.tyr.client.model.vo.SaveOrUpdateRoleVO;
import cn.axzo.tyr.server.config.MqProducer;
import cn.axzo.tyr.server.event.payload.SaasFeatureResourceUpsertPayload;
import cn.axzo.tyr.server.model.ResourcePermission;
import cn.axzo.tyr.server.model.ResourcePermissionQueryDTO;
import cn.axzo.tyr.server.model.RoleFeatureRelation;
@ -94,6 +99,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -111,6 +117,7 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static cn.axzo.tyr.server.event.inner.EventTypeEnum.SAAS_FEATURE_RESOURCE_UPSERT;
import static cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation.NEW_FEATURE;
import static cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation.OLD_FEATURE;
@ -167,6 +174,11 @@ public class RoleServiceImpl extends ServiceImpl<SaasRoleMapper, SaasRole>
@Value("${groupLeader.code:projectTeamGPLeader}")
private String groupLeaderCode;
@Autowired
private final MqProducer mqProducer;
private static final String TARGET_TYPE = "saasFeatureResourceId";
@Override
public List<SaasRoleVO> queryByIdentityIdType(Long identityId, Integer identityType, Long workspaceId, Long ouId, Boolean includePermissionGroup) {
// 查询人关联的角色id
@ -1335,6 +1347,30 @@ public class RoleServiceImpl extends ServiceImpl<SaasRoleMapper, SaasRole>
}
}
}
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

View File

@ -1572,8 +1572,9 @@ public class TyrSaasAuthServiceImpl implements TyrSaasAuthService {
}
//聚合超管和管理员的权限点 直接取角色标签和产品标签相匹配的权限点
Set<Integer> productUnitTypes = adminRoles.stream()
Set<String> productUnitTypes = adminRoles.stream()
.map(SaasRoleUserV2DTO.SaasRole::getProductUnitType)
.map(String::valueOf)
.collect(Collectors.toSet());
return productPermissions.stream()