fix(sj_1.0.0): 修复查询权限问题

This commit is contained in:
opensnail 2024-06-07 00:02:45 +08:00
parent 73a79e8ff3
commit c1071d82f4
8 changed files with 30 additions and 24 deletions

View File

@ -182,6 +182,7 @@ public class GroupConfigServiceImpl implements GroupConfigService {
UserSessionVO userSessionVO = UserSessionUtils.currentUserSession();
String namespaceId = userSessionVO.getNamespaceId();
List<String> groupNames = UserSessionUtils.getGroupNames(queryVO.getGroupName());
ConfigAccess<GroupConfig> groupConfigAccess = accessTemplate.getGroupConfigAccess();
PageDTO<GroupConfig> groupConfigPageDTO = groupConfigAccess.listPage(
@ -189,7 +190,7 @@ public class GroupConfigServiceImpl implements GroupConfigService {
new LambdaQueryWrapper<GroupConfig>()
.eq(GroupConfig::getNamespaceId, namespaceId)
.eq(Objects.nonNull(queryVO.getGroupStatus()), GroupConfig::getGroupStatus, queryVO.getGroupStatus())
.in(userSessionVO.isUser(), GroupConfig::getGroupName, userSessionVO.getGroupNames())
.in(CollUtil.isNotEmpty(groupNames), GroupConfig::getGroupName, groupNames)
.likeRight(StrUtil.isNotBlank(queryVO.getGroupName()), GroupConfig::getGroupName,
StrUtil.trim(queryVO.getGroupName()))
.orderByDesc(GroupConfig::getId));

View File

@ -44,10 +44,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.*;
/**
* @author opensnail
@ -83,11 +80,12 @@ public class JobServiceImpl implements JobService {
PageDTO<Job> pageDTO = new PageDTO<>(queryVO.getPage(), queryVO.getSize());
UserSessionVO userSessionVO = UserSessionUtils.currentUserSession();
List<String> groupNames = UserSessionUtils.getGroupNames(queryVO.getGroupName());
PageDTO<Job> selectPage = jobMapper.selectPage(pageDTO,
new LambdaQueryWrapper<Job>()
.eq(Job::getNamespaceId, userSessionVO.getNamespaceId())
.in(userSessionVO.isUser(), Job::getGroupName, userSessionVO.getGroupNames())
.eq(StrUtil.isNotBlank(queryVO.getGroupName()), Job::getGroupName, queryVO.getGroupName())
.in(CollUtil.isNotEmpty(groupNames), Job::getGroupName, groupNames)
.likeRight(StrUtil.isNotBlank(queryVO.getJobName()), Job::getJobName,
StrUtil.trim(queryVO.getJobName()))
.eq(Objects.nonNull(queryVO.getJobStatus()), Job::getJobStatus, queryVO.getJobStatus())

View File

@ -55,12 +55,13 @@ public class NotifyConfigServiceImpl implements NotifyConfigService {
@Override
public PageResult<List<NotifyConfigResponseVO>> getNotifyConfigList(NotifyConfigQueryVO queryVO) {
PageDTO<NotifyConfig> pageDTO = new PageDTO<>();
List<String> groupNames = UserSessionUtils.getGroupNames(queryVO.getGroupName());
UserSessionVO userSessionVO = UserSessionUtils.currentUserSession();
List<NotifyConfig> notifyConfigs = accessTemplate.getNotifyConfigAccess().listPage(pageDTO,
new LambdaQueryWrapper<NotifyConfig>()
.eq(NotifyConfig::getNamespaceId, userSessionVO.getNamespaceId())
.in(userSessionVO.isUser(), NotifyConfig::getGroupName, userSessionVO.getGroupNames())
.in(CollUtil.isNotEmpty(groupNames), NotifyConfig::getGroupName, groupNames)
.eq(StrUtil.isNotBlank(queryVO.getGroupName()), NotifyConfig::getGroupName, queryVO.getGroupName())
.eq(StrUtil.isNotBlank(queryVO.getSceneName()), NotifyConfig::getBusinessId, queryVO.getSceneName())
.orderByDesc(NotifyConfig::getId))

View File

@ -1,5 +1,6 @@
package com.aizuda.snailjob.server.web.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import com.aizuda.snailjob.common.core.enums.RetryStatusEnum;
@ -15,6 +16,7 @@ import com.aizuda.snailjob.server.web.model.base.PageResult;
import com.aizuda.snailjob.server.web.model.request.BatchDeleteRetryDeadLetterVO;
import com.aizuda.snailjob.server.web.model.request.BatchRollBackRetryDeadLetterVO;
import com.aizuda.snailjob.server.web.model.request.RetryDeadLetterQueryVO;
import com.aizuda.snailjob.server.web.model.request.UserSessionVO;
import com.aizuda.snailjob.server.web.model.response.RetryDeadLetterResponseVO;
import com.aizuda.snailjob.server.web.service.RetryDeadLetterService;
import com.aizuda.snailjob.server.web.service.convert.RetryDeadLetterResponseVOConverter;
@ -35,10 +37,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
/**
* @author: opensnail
@ -59,13 +58,15 @@ public class RetryDeadLetterServiceImpl implements RetryDeadLetterService {
if (StrUtil.isBlank(queryVO.getGroupName())) {
return new PageResult<>(pageDTO, new ArrayList<>());
}
String namespaceId = UserSessionUtils.currentUserSession().getNamespaceId();
List<String> groupNames = UserSessionUtils.getGroupNames(queryVO.getGroupName());
String namespaceId = UserSessionUtils.currentUserSession().getNamespaceId();
PageDTO<RetryDeadLetter> retryDeadLetterPageDTO = accessTemplate.getRetryDeadLetterAccess()
.listPage(queryVO.getGroupName(), namespaceId, pageDTO,
new LambdaQueryWrapper<RetryDeadLetter>()
.eq(RetryDeadLetter::getNamespaceId, namespaceId)
.eq(RetryDeadLetter::getGroupName, queryVO.getGroupName())
.in(CollUtil.isNotEmpty(groupNames), RetryDeadLetter::getGroupName, groupNames)
.eq(StrUtil.isNotBlank(queryVO.getSceneName()), RetryDeadLetter::getSceneName, queryVO.getSceneName())
.eq(StrUtil.isNotBlank(queryVO.getBizNo()), RetryDeadLetter::getBizNo, queryVO.getBizNo())
.eq(StrUtil.isNotBlank(queryVO.getIdempotentId()), RetryDeadLetter::getIdempotentId, queryVO.getIdempotentId())

View File

@ -43,14 +43,16 @@ public class RetryTaskLogServiceImpl implements RetryTaskLogService {
@Override
public PageResult<List<RetryTaskLogResponseVO>> getRetryTaskLogPage(RetryTaskLogQueryVO queryVO) {
PageDTO<RetryTaskLog> pageDTO = new PageDTO<>(queryVO.getPage(), queryVO.getSize());
UserSessionVO userSessionVO = UserSessionUtils.currentUserSession();
String namespaceId = userSessionVO.getNamespaceId();
PageDTO<RetryTaskLog> pageDTO = new PageDTO<>(queryVO.getPage(), queryVO.getSize());
List<String> groupNames = UserSessionUtils.getGroupNames(queryVO.getGroupName());
LambdaQueryWrapper<RetryTaskLog> retryTaskLogLambdaQueryWrapper = new LambdaQueryWrapper<RetryTaskLog>()
.eq(RetryTaskLog::getNamespaceId, namespaceId)
.in(userSessionVO.isUser(), RetryTaskLog::getGroupName, userSessionVO.getGroupNames())
.eq(StrUtil.isNotBlank(queryVO.getGroupName()), RetryTaskLog::getGroupName, queryVO.getGroupName())
.in(CollUtil.isNotEmpty(groupNames), RetryTaskLog::getGroupName, groupNames)
.eq(StrUtil.isNotBlank(queryVO.getSceneName()), RetryTaskLog::getSceneName, queryVO.getSceneName())
.eq(StrUtil.isNotBlank(queryVO.getBizNo()), RetryTaskLog::getBizNo, queryVO.getBizNo())
.eq(StrUtil.isNotBlank(queryVO.getUniqueId()), RetryTaskLog::getUniqueId, queryVO.getUniqueId())

View File

@ -86,9 +86,11 @@ public class RetryTaskServiceImpl implements RetryTaskService {
return new PageResult<>(pageDTO, new ArrayList<>());
}
List<String> groupNames = UserSessionUtils.getGroupNames(queryVO.getGroupName());
LambdaQueryWrapper<RetryTask> queryWrapper = new LambdaQueryWrapper<RetryTask>()
.eq(RetryTask::getNamespaceId, namespaceId)
.eq(RetryTask::getGroupName, queryVO.getGroupName())
.in(CollUtil.isNotEmpty(groupNames), RetryTask::getGroupName, groupNames)
.eq(StrUtil.isNotBlank(queryVO.getSceneName()), RetryTask::getSceneName, queryVO.getSceneName())
.eq(StrUtil.isNotBlank(queryVO.getBizNo()), RetryTask::getBizNo, queryVO.getBizNo())
.eq(StrUtil.isNotBlank(queryVO.getIdempotentId()), RetryTask::getIdempotentId, queryVO.getIdempotentId())

View File

@ -75,14 +75,13 @@ public class SceneConfigServiceImpl implements SceneConfigService {
PageDTO<RetrySceneConfig> pageDTO = new PageDTO<>(queryVO.getPage(), queryVO.getSize());
UserSessionVO userSessionVO = UserSessionUtils.currentUserSession();
String namespaceId = userSessionVO.getNamespaceId();
List<String> groupNames = UserSessionUtils.getGroupNames(queryVO.getGroupName());
pageDTO = accessTemplate.getSceneConfigAccess().listPage(pageDTO,
new LambdaQueryWrapper<RetrySceneConfig>()
.eq(RetrySceneConfig::getNamespaceId, namespaceId)
.in(userSessionVO.isUser(), RetrySceneConfig::getGroupName, userSessionVO.getGroupNames())
.eq(RetrySceneConfig::getNamespaceId, userSessionVO.getNamespaceId())
.in(CollUtil.isNotEmpty(groupNames), RetrySceneConfig::getGroupName, groupNames)
.eq(Objects.nonNull(queryVO.getSceneStatus()), RetrySceneConfig::getSceneStatus, queryVO.getSceneStatus())
.eq(StrUtil.isNotBlank(queryVO.getGroupName()),
RetrySceneConfig::getGroupName, StrUtil.trim(queryVO.getGroupName()))
.likeRight(StrUtil.isNotBlank(queryVO.getSceneName()),
RetrySceneConfig::getSceneName, StrUtil.trim(queryVO.getSceneName()))
.orderByDesc(RetrySceneConfig::getCreateDt));

View File

@ -178,11 +178,13 @@ public class WorkflowServiceImpl implements WorkflowService {
PageDTO<Workflow> pageDTO = new PageDTO<>(queryVO.getPage(), queryVO.getSize());
UserSessionVO userSessionVO = UserSessionUtils.currentUserSession();
List<String> groupNames = UserSessionUtils.getGroupNames(queryVO.getGroupName());
PageDTO<Workflow> page = workflowMapper.selectPage(pageDTO,
new LambdaQueryWrapper<Workflow>()
.eq(Workflow::getDeleted, StatusEnum.NO.getStatus())
.eq(Workflow::getNamespaceId, userSessionVO.getNamespaceId())
.eq(StrUtil.isNotBlank(queryVO.getGroupName()), Workflow::getGroupName, queryVO.getGroupName())
.in(CollUtil.isNotEmpty(groupNames), Workflow::getGroupName, groupNames)
.like(StrUtil.isNotBlank(queryVO.getWorkflowName()), Workflow::getWorkflowName,
queryVO.getWorkflowName())
.eq(Objects.nonNull(queryVO.getWorkflowStatus()), Workflow::getWorkflowStatus,