Merge branch 'feature/REQ-2545' into 'master'

feat(REQ-2545): 查询页面元素权限增加非鉴权逻辑

See merge request universal/infrastructure/backend/tyr!75
This commit is contained in:
李龙 2024-07-22 07:06:58 +00:00
commit 71af009c22

View File

@ -33,13 +33,12 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.function.Function;
@ -50,6 +49,7 @@ import java.util.stream.Collectors;
* @version 1.0
* @date 2024/6/18
*/
@RefreshScope
@Slf4j
@Service
@RequiredArgsConstructor
@ -63,6 +63,8 @@ public class SaasPageElementServiceImpl implements SaasPageElementService {
@Qualifier("asyncExecutor")
@Autowired
private ExecutorService asyncExecutor;
@Value("${not.auth.featureCodes:}")
private Set<String> notAuthFeatureCodes;
@Override
@Transactional(rollbackFor = Exception.class)
@ -188,6 +190,12 @@ public class SaasPageElementServiceImpl implements SaasPageElementService {
@Override
public GetUserHasPermissionPageElementResp getUserHasPermissionPageElement(GetUserHasPermissionPageElementReq request) {
if (CollectionUtils.isNotEmpty(notAuthFeatureCodes) && notAuthFeatureCodes.contains(request.getPageElementCode())) {
List<String> pageElementCodes = saasPageElementDao.listByGroupCodesAndExcludeIds(Lists.newArrayList(request.getPageElementCode()),null, request.getTerminal(), null)
.stream().map(SaasPageElement::getCode).distinct().collect(Collectors.toList());
return GetUserHasPermissionPageElementResp.builder().pageElementCodes(pageElementCodes).build();
}
// 页面绑定的所有关系包含页面路由的绑定默认绑定关系
List<SaasPageElementFeatureResourceRelation> relations = saasPageElementFeatureResourceRelationDao.listByPageElementCode(request.getPageElementCode(), request.getTerminal(), Lists.newArrayList(PageElementFeatureResourceRelationTypeEnum.PAGE_ROUTE.getValue(), PageElementFeatureResourceRelationTypeEnum.DEFAULT.getValue()));
if (CollectionUtils.isEmpty(relations)) {