定时任务、工作流、重试任务、告警通知 列表显示组中文名

This commit is contained in:
zhuangdashia 2025-06-29 23:21:15 +08:00
parent 1dc142e0e7
commit 65d4882397
9 changed files with 189 additions and 10 deletions

View File

@ -12,6 +12,8 @@ import com.aizuda.snailjob.server.web.model.base.PageResult;
import com.aizuda.snailjob.server.web.model.request.JobBatchQueryVO; import com.aizuda.snailjob.server.web.model.request.JobBatchQueryVO;
import com.aizuda.snailjob.server.web.model.request.UserSessionVO; import com.aizuda.snailjob.server.web.model.request.UserSessionVO;
import com.aizuda.snailjob.server.common.vo.JobBatchResponseVO; import com.aizuda.snailjob.server.common.vo.JobBatchResponseVO;
import com.aizuda.snailjob.server.web.model.response.GroupConfigResponseVO;
import com.aizuda.snailjob.server.web.service.GroupConfigService;
import com.aizuda.snailjob.server.web.service.JobBatchService; import com.aizuda.snailjob.server.web.service.JobBatchService;
import com.aizuda.snailjob.server.common.convert.JobBatchResponseVOConverter; import com.aizuda.snailjob.server.common.convert.JobBatchResponseVOConverter;
import com.aizuda.snailjob.server.web.service.handler.JobHandler; import com.aizuda.snailjob.server.web.service.handler.JobHandler;
@ -29,10 +31,8 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Collections; import java.util.*;
import java.util.List; import java.util.stream.Collectors;
import java.util.Objects;
import java.util.Set;
/** /**
* @author: opensnail * @author: opensnail
@ -47,6 +47,7 @@ public class JobBatchServiceImpl implements JobBatchService {
private final JobMapper jobMapper; private final JobMapper jobMapper;
private final WorkflowNodeMapper workflowNodeMapper; private final WorkflowNodeMapper workflowNodeMapper;
private final JobHandler jobHandler; private final JobHandler jobHandler;
private final GroupConfigService groupConfigService;
@Override @Override
public PageResult<List<JobBatchResponseVO>> getJobBatchPage(final JobBatchQueryVO queryVO) { public PageResult<List<JobBatchResponseVO>> getJobBatchPage(final JobBatchQueryVO queryVO) {
@ -73,6 +74,23 @@ public class JobBatchServiceImpl implements JobBatchService {
List<JobBatchResponseDO> batchResponseDOList = jobTaskBatchMapper.selectJobBatchPageList(pageDTO, wrapper); List<JobBatchResponseDO> batchResponseDOList = jobTaskBatchMapper.selectJobBatchPageList(pageDTO, wrapper);
List<JobBatchResponseVO> batchResponseVOList = JobBatchResponseVOConverter.INSTANCE.convertList( List<JobBatchResponseVO> batchResponseVOList = JobBatchResponseVOConverter.INSTANCE.convertList(
batchResponseDOList); batchResponseDOList);
//组中文名显示
Set<String> uniqueGroupNames = batchResponseVOList.stream()
.map(JobBatchResponseVO::getGroupName)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
Map<String, GroupConfigResponseVO> groupConfigMap = groupConfigService.getGroupNameCns(uniqueGroupNames);
// 遍历结果设置groupNameCn
for (JobBatchResponseVO jobResponseVO : batchResponseVOList) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(jobResponseVO.getGroupName());
if (groupConfig != null) {
jobResponseVO.setGroupName(groupConfig.getGroupNameCn());
}
}
return new PageResult<>(pageDTO, batchResponseVOList); return new PageResult<>(pageDTO, batchResponseVOList);
} }

View File

@ -25,7 +25,9 @@ import com.aizuda.snailjob.server.job.task.support.JobTaskConverter;
import com.aizuda.snailjob.server.job.task.support.cache.ResidentTaskCache; import com.aizuda.snailjob.server.job.task.support.cache.ResidentTaskCache;
import com.aizuda.snailjob.server.web.model.base.PageResult; import com.aizuda.snailjob.server.web.model.base.PageResult;
import com.aizuda.snailjob.server.web.model.request.*; import com.aizuda.snailjob.server.web.model.request.*;
import com.aizuda.snailjob.server.web.model.response.GroupConfigResponseVO;
import com.aizuda.snailjob.server.web.model.response.JobResponseVO; import com.aizuda.snailjob.server.web.model.response.JobResponseVO;
import com.aizuda.snailjob.server.web.service.GroupConfigService;
import com.aizuda.snailjob.server.web.service.JobService; import com.aizuda.snailjob.server.web.service.JobService;
import com.aizuda.snailjob.server.web.service.convert.JobConverter; import com.aizuda.snailjob.server.web.service.convert.JobConverter;
import com.aizuda.snailjob.server.web.service.convert.JobResponseVOConverter; import com.aizuda.snailjob.server.web.service.convert.JobResponseVOConverter;
@ -51,6 +53,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @author opensnail * @author opensnail
@ -70,6 +73,7 @@ public class JobServiceImpl implements JobService {
private final GroupHandler groupHandler; private final GroupHandler groupHandler;
private final JobSummaryMapper jobSummaryMapper; private final JobSummaryMapper jobSummaryMapper;
private final SystemUserMapper systemUserMapper; private final SystemUserMapper systemUserMapper;
private final GroupConfigService groupConfigService;
private static Long calculateNextTriggerAt(final JobRequestVO jobRequestVO, Long time) { private static Long calculateNextTriggerAt(final JobRequestVO jobRequestVO, Long time) {
if (Objects.equals(jobRequestVO.getTriggerType(), SystemConstants.WORKFLOW_TRIGGER_TYPE)) { if (Objects.equals(jobRequestVO.getTriggerType(), SystemConstants.WORKFLOW_TRIGGER_TYPE)) {
@ -109,6 +113,22 @@ public class JobServiceImpl implements JobService {
jobResponseVO.setOwnerName(systemUser.getUsername()); jobResponseVO.setOwnerName(systemUser.getUsername());
} }
} }
//组中文名显示
Set<String> uniqueGroupNames = jobResponseList.stream()
.map(JobResponseVO::getGroupName)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
Map<String, GroupConfigResponseVO> groupConfigMap = groupConfigService.getGroupNameCns(uniqueGroupNames);
// 遍历结果设置groupNameCn
for (JobResponseVO jobResponseVO : jobResponseList) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(jobResponseVO.getGroupName());
if (groupConfig != null) {
jobResponseVO.setGroupName(groupConfig.getGroupNameCn());
}
}
return new PageResult<>(pageDTO, jobResponseList); return new PageResult<>(pageDTO, jobResponseList);
} }

View File

@ -9,7 +9,9 @@ import com.aizuda.snailjob.server.web.model.base.PageResult;
import com.aizuda.snailjob.server.web.model.request.NotifyConfigQueryVO; import com.aizuda.snailjob.server.web.model.request.NotifyConfigQueryVO;
import com.aizuda.snailjob.server.web.model.request.NotifyConfigRequestVO; import com.aizuda.snailjob.server.web.model.request.NotifyConfigRequestVO;
import com.aizuda.snailjob.server.web.model.request.UserSessionVO; import com.aizuda.snailjob.server.web.model.request.UserSessionVO;
import com.aizuda.snailjob.server.web.model.response.GroupConfigResponseVO;
import com.aizuda.snailjob.server.web.model.response.NotifyConfigResponseVO; import com.aizuda.snailjob.server.web.model.response.NotifyConfigResponseVO;
import com.aizuda.snailjob.server.web.service.GroupConfigService;
import com.aizuda.snailjob.server.web.service.NotifyConfigService; import com.aizuda.snailjob.server.web.service.NotifyConfigService;
import com.aizuda.snailjob.server.web.service.convert.NotifyConfigConverter; import com.aizuda.snailjob.server.web.service.convert.NotifyConfigConverter;
import com.aizuda.snailjob.server.web.service.convert.NotifyConfigResponseVOConverter; import com.aizuda.snailjob.server.web.service.convert.NotifyConfigResponseVOConverter;
@ -27,8 +29,10 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors;
/** /**
* @author: opensnail * @author: opensnail
@ -39,6 +43,7 @@ import java.util.Set;
public class NotifyConfigServiceImpl implements NotifyConfigService { public class NotifyConfigServiceImpl implements NotifyConfigService {
private final AccessTemplate accessTemplate; private final AccessTemplate accessTemplate;
private final GroupConfigService groupConfigService;
@Override @Override
public PageResult<List<NotifyConfigResponseVO>> getNotifyConfigList(NotifyConfigQueryVO queryVO) { public PageResult<List<NotifyConfigResponseVO>> getNotifyConfigList(NotifyConfigQueryVO queryVO) {
@ -64,6 +69,22 @@ public class NotifyConfigServiceImpl implements NotifyConfigService {
List<NotifyConfigResponseVO> notifyConfigResponseVOS = NotifyConfigResponseVOConverter.INSTANCE.convertList( List<NotifyConfigResponseVO> notifyConfigResponseVOS = NotifyConfigResponseVOConverter.INSTANCE.convertList(
notifyConfigs); notifyConfigs);
//组中文名显示
Set<String> uniqueGroupNames = notifyConfigResponseVOS.stream()
.map(NotifyConfigResponseVO::getGroupName)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
Map<String, GroupConfigResponseVO> groupConfigMap = groupConfigService.getGroupNameCns(uniqueGroupNames);
// 遍历结果设置groupNameCn
for (NotifyConfigResponseVO responseVO : notifyConfigResponseVOS) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(responseVO.getGroupName());
if (groupConfig != null) {
responseVO.setGroupName(groupConfig.getGroupNameCn());
}
}
return new PageResult<>(pageDTO, notifyConfigResponseVOS); return new PageResult<>(pageDTO, notifyConfigResponseVOS);
} }

View File

@ -18,7 +18,9 @@ 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.BatchDeleteRetryDeadLetterVO;
import com.aizuda.snailjob.server.web.model.request.BatchRollBackRetryDeadLetterVO; 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.RetryDeadLetterQueryVO;
import com.aizuda.snailjob.server.web.model.response.GroupConfigResponseVO;
import com.aizuda.snailjob.server.web.model.response.RetryDeadLetterResponseVO; import com.aizuda.snailjob.server.web.model.response.RetryDeadLetterResponseVO;
import com.aizuda.snailjob.server.web.service.GroupConfigService;
import com.aizuda.snailjob.server.web.service.RetryDeadLetterService; import com.aizuda.snailjob.server.web.service.RetryDeadLetterService;
import com.aizuda.snailjob.server.web.service.convert.RetryDeadLetterResponseVOConverter; import com.aizuda.snailjob.server.web.service.convert.RetryDeadLetterResponseVOConverter;
import com.aizuda.snailjob.server.web.util.UserSessionUtils; import com.aizuda.snailjob.server.web.util.UserSessionUtils;
@ -38,6 +40,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors;
/** /**
* @author: opensnail * @author: opensnail
@ -48,6 +51,7 @@ import java.util.Set;
public class RetryDeadLetterServiceImpl implements RetryDeadLetterService { public class RetryDeadLetterServiceImpl implements RetryDeadLetterService {
private final AccessTemplate accessTemplate; private final AccessTemplate accessTemplate;
private final SystemProperties systemProperties; private final SystemProperties systemProperties;
private final GroupConfigService groupConfigService;
@Override @Override
public PageResult<List<RetryDeadLetterResponseVO>> getRetryDeadLetterPage(RetryDeadLetterQueryVO queryVO) { public PageResult<List<RetryDeadLetterResponseVO>> getRetryDeadLetterPage(RetryDeadLetterQueryVO queryVO) {
@ -66,9 +70,25 @@ public class RetryDeadLetterServiceImpl implements RetryDeadLetterService {
.between(ObjUtil.isAllNotEmpty(queryVO.getStartDt(), queryVO.getEndDt()), .between(ObjUtil.isAllNotEmpty(queryVO.getStartDt(), queryVO.getEndDt()),
RetryDeadLetter::getCreateDt, queryVO.getStartDt(), queryVO.getEndDt()) RetryDeadLetter::getCreateDt, queryVO.getStartDt(), queryVO.getEndDt())
.orderByDesc(RetryDeadLetter::getId)); .orderByDesc(RetryDeadLetter::getId));
List<RetryDeadLetterResponseVO> retryDeadLetterResponseVOS = RetryDeadLetterResponseVOConverter.INSTANCE.convertList(retryDeadLetterPageDTO.getRecords());
return new PageResult<>(retryDeadLetterPageDTO, //组中文名显示
RetryDeadLetterResponseVOConverter.INSTANCE.convertList(retryDeadLetterPageDTO.getRecords())); Set<String> uniqueGroupNames = retryDeadLetterResponseVOS.stream()
.map(RetryDeadLetterResponseVO::getGroupName)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
Map<String, GroupConfigResponseVO> groupConfigMap = groupConfigService.getGroupNameCns(uniqueGroupNames);
// 遍历结果设置groupNameCn
for (RetryDeadLetterResponseVO responseVO : retryDeadLetterResponseVOS) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(responseVO.getGroupName());
if (groupConfig != null) {
responseVO.setGroupName(groupConfig.getGroupNameCn());
}
}
return new PageResult<>(retryDeadLetterPageDTO, retryDeadLetterResponseVOS);
} }
@Override @Override

View File

@ -1,5 +1,7 @@
package com.aizuda.snailjob.server.web.service.impl; package com.aizuda.snailjob.server.web.service.impl;
import com.aizuda.snailjob.server.web.model.response.GroupConfigResponseVO;
import com.aizuda.snailjob.server.web.service.GroupConfigService;
import org.apache.pekko.actor.ActorRef; import org.apache.pekko.actor.ActorRef;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
@ -60,6 +62,7 @@ import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static com.aizuda.snailjob.common.core.enums.RetryStatusEnum.ALLOW_DELETE_STATUS; import static com.aizuda.snailjob.common.core.enums.RetryStatusEnum.ALLOW_DELETE_STATUS;
@ -84,6 +87,8 @@ public class RetryServiceImpl implements RetryService {
private RetryTaskLogMessageMapper retryTaskLogMessageMapper; private RetryTaskLogMessageMapper retryTaskLogMessageMapper;
@Autowired @Autowired
private TransactionTemplate transactionTemplate; private TransactionTemplate transactionTemplate;
@Autowired
private GroupConfigService groupConfigService;
@Override @Override
public PageResult<List<RetryResponseVO>> getRetryPage(RetryQueryVO queryVO) { public PageResult<List<RetryResponseVO>> getRetryPage(RetryQueryVO queryVO) {
@ -126,6 +131,22 @@ public class RetryServiceImpl implements RetryService {
} }
} }
//组中文名显示
Set<String> uniqueGroupNames = retryResponseList.stream()
.map(RetryResponseVO::getGroupName)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
Map<String, GroupConfigResponseVO> groupConfigMap = groupConfigService.getGroupNameCns(uniqueGroupNames);
// 遍历结果设置groupNameCn
for (RetryResponseVO retryResponseVO : retryResponseList) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(retryResponseVO.getGroupName());
if (groupConfig != null) {
retryResponseVO.setGroupName(groupConfig.getGroupNameCn());
}
}
return new PageResult<>(pageDTO, retryResponseList); return new PageResult<>(pageDTO, retryResponseList);
} }

View File

@ -20,8 +20,9 @@ import com.aizuda.snailjob.server.web.model.event.WsSendEvent;
import com.aizuda.snailjob.server.web.model.request.RetryTaskLogMessageQueryVO; import com.aizuda.snailjob.server.web.model.request.RetryTaskLogMessageQueryVO;
import com.aizuda.snailjob.server.web.model.request.RetryTaskQueryVO; import com.aizuda.snailjob.server.web.model.request.RetryTaskQueryVO;
import com.aizuda.snailjob.server.web.model.request.UserSessionVO; import com.aizuda.snailjob.server.web.model.request.UserSessionVO;
import com.aizuda.snailjob.server.web.model.response.RetryTaskLogMessageResponseVO; import com.aizuda.snailjob.server.web.model.response.GroupConfigResponseVO;
import com.aizuda.snailjob.server.web.model.response.RetryTaskResponseVO; import com.aizuda.snailjob.server.web.model.response.RetryTaskResponseVO;
import com.aizuda.snailjob.server.web.service.GroupConfigService;
import com.aizuda.snailjob.server.web.service.RetryTaskService; import com.aizuda.snailjob.server.web.service.RetryTaskService;
import com.aizuda.snailjob.server.retry.task.convert.RetryConverter; import com.aizuda.snailjob.server.retry.task.convert.RetryConverter;
import com.aizuda.snailjob.server.web.service.convert.LogMessagePartitionTaskConverter; import com.aizuda.snailjob.server.web.service.convert.LogMessagePartitionTaskConverter;
@ -67,6 +68,7 @@ public class RetryTaskServiceImpl implements RetryTaskService {
private final RetryTaskLogMessageMapper retryTaskLogMessageMapper; private final RetryTaskLogMessageMapper retryTaskLogMessageMapper;
private final RetryTaskStopHandler retryTaskStopHandler; private final RetryTaskStopHandler retryTaskStopHandler;
private final AccessTemplate accessTemplate; private final AccessTemplate accessTemplate;
private final GroupConfigService groupConfigService;
@Override @Override
public PageResult<List<RetryTaskResponseVO>> getRetryTaskLogPage(RetryTaskQueryVO queryVO) { public PageResult<List<RetryTaskResponseVO>> getRetryTaskLogPage(RetryTaskQueryVO queryVO) {
@ -90,8 +92,26 @@ public class RetryTaskServiceImpl implements RetryTaskService {
.orderByDesc(RetryTask::getCreateDt); .orderByDesc(RetryTask::getCreateDt);
PageDTO<RetryTask> retryTaskPageDTO = retryTaskMapper.selectPage(pageDTO, wrapper); PageDTO<RetryTask> retryTaskPageDTO = retryTaskMapper.selectPage(pageDTO, wrapper);
return new PageResult<>(retryTaskPageDTO,
RetryTaskLogResponseVOConverter.INSTANCE.convertList(retryTaskPageDTO.getRecords())); List<RetryTaskResponseVO> retryTaskResponseVOS = RetryTaskLogResponseVOConverter.INSTANCE.convertList(retryTaskPageDTO.getRecords());
//组中文名显示
Set<String> uniqueGroupNames = retryTaskResponseVOS.stream()
.map(RetryTaskResponseVO::getGroupName)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
Map<String, GroupConfigResponseVO> groupConfigMap = groupConfigService.getGroupNameCns(uniqueGroupNames);
// 遍历结果设置groupNameCn
for (RetryTaskResponseVO responseVO : retryTaskResponseVOS) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(responseVO.getGroupName());
if (groupConfig != null) {
responseVO.setGroupName(groupConfig.getGroupNameCn());
}
}
return new PageResult<>(retryTaskPageDTO,retryTaskResponseVOS);
} }

View File

@ -16,7 +16,9 @@ import com.aizuda.snailjob.server.web.model.request.ExportSceneVO;
import com.aizuda.snailjob.server.web.model.request.SceneConfigQueryVO; import com.aizuda.snailjob.server.web.model.request.SceneConfigQueryVO;
import com.aizuda.snailjob.server.web.model.request.SceneConfigRequestVO; import com.aizuda.snailjob.server.web.model.request.SceneConfigRequestVO;
import com.aizuda.snailjob.server.web.model.request.UserSessionVO; import com.aizuda.snailjob.server.web.model.request.UserSessionVO;
import com.aizuda.snailjob.server.web.model.response.GroupConfigResponseVO;
import com.aizuda.snailjob.server.web.model.response.SceneConfigResponseVO; import com.aizuda.snailjob.server.web.model.response.SceneConfigResponseVO;
import com.aizuda.snailjob.server.web.service.GroupConfigService;
import com.aizuda.snailjob.server.web.service.SceneConfigService; import com.aizuda.snailjob.server.web.service.SceneConfigService;
import com.aizuda.snailjob.server.web.service.convert.SceneConfigConverter; import com.aizuda.snailjob.server.web.service.convert.SceneConfigConverter;
import com.aizuda.snailjob.server.web.service.convert.SceneConfigResponseVOConverter; import com.aizuda.snailjob.server.web.service.convert.SceneConfigResponseVOConverter;
@ -46,6 +48,7 @@ import org.springframework.validation.annotation.Validated;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @author: opensnail * @author: opensnail
@ -59,6 +62,7 @@ public class SceneConfigServiceImpl implements SceneConfigService {
private final AccessTemplate accessTemplate; private final AccessTemplate accessTemplate;
private final GroupHandler groupHandler; private final GroupHandler groupHandler;
private final RetrySummaryMapper retrySummaryMapper; private final RetrySummaryMapper retrySummaryMapper;
private final GroupConfigService groupConfigService;
@ -77,7 +81,25 @@ public class SceneConfigServiceImpl implements SceneConfigService {
.likeRight(StrUtil.isNotBlank(queryVO.getSceneName()), RetrySceneConfig::getSceneName, StrUtil.trim(queryVO.getSceneName())) .likeRight(StrUtil.isNotBlank(queryVO.getSceneName()), RetrySceneConfig::getSceneName, StrUtil.trim(queryVO.getSceneName()))
.orderByDesc(RetrySceneConfig::getCreateDt)); .orderByDesc(RetrySceneConfig::getCreateDt));
return new PageResult<>(pageDTO, SceneConfigResponseVOConverter.INSTANCE.convertList(pageDTO.getRecords())); List<SceneConfigResponseVO> sceneConfigResponseVOS = SceneConfigResponseVOConverter.INSTANCE.convertList(pageDTO.getRecords());
//组中文名显示
Set<String> uniqueGroupNames = sceneConfigResponseVOS.stream()
.map(SceneConfigResponseVO::getGroupName)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
Map<String, GroupConfigResponseVO> groupConfigMap = groupConfigService.getGroupNameCns(uniqueGroupNames);
// 遍历结果设置groupNameCn
for (SceneConfigResponseVO responseVO : sceneConfigResponseVOS) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(responseVO.getGroupName());
if (groupConfig != null) {
responseVO.setGroupName(groupConfig.getGroupNameCn());
}
}
return new PageResult<>(pageDTO, sceneConfigResponseVOS);
} }
@Override @Override

View File

@ -19,6 +19,8 @@ import com.aizuda.snailjob.server.web.model.request.WorkflowBatchQueryVO;
import com.aizuda.snailjob.server.common.vo.JobBatchResponseVO; import com.aizuda.snailjob.server.common.vo.JobBatchResponseVO;
import com.aizuda.snailjob.server.common.vo.WorkflowBatchResponseVO; import com.aizuda.snailjob.server.common.vo.WorkflowBatchResponseVO;
import com.aizuda.snailjob.server.common.vo.WorkflowDetailResponseVO; import com.aizuda.snailjob.server.common.vo.WorkflowDetailResponseVO;
import com.aizuda.snailjob.server.web.model.response.GroupConfigResponseVO;
import com.aizuda.snailjob.server.web.service.GroupConfigService;
import com.aizuda.snailjob.server.web.service.WorkflowBatchService; import com.aizuda.snailjob.server.web.service.WorkflowBatchService;
import com.aizuda.snailjob.server.common.convert.JobBatchResponseVOConverter; import com.aizuda.snailjob.server.common.convert.JobBatchResponseVOConverter;
import com.aizuda.snailjob.server.common.convert.WorkflowConverter; import com.aizuda.snailjob.server.common.convert.WorkflowConverter;
@ -62,6 +64,7 @@ public class WorkflowBatchServiceImpl implements WorkflowBatchService {
private final WorkflowBatchHandler workflowBatchHandler; private final WorkflowBatchHandler workflowBatchHandler;
private final JobMapper jobMapper; private final JobMapper jobMapper;
private final JobHandler jobHandler; private final JobHandler jobHandler;
private final GroupConfigService groupConfigService;
private static boolean isNoOperation(JobTaskBatch i) { private static boolean isNoOperation(JobTaskBatch i) {
return JobOperationReasonEnum.WORKFLOW_SUCCESSOR_SKIP_EXECUTION.contains(i.getOperationReason()) return JobOperationReasonEnum.WORKFLOW_SUCCESSOR_SKIP_EXECUTION.contains(i.getOperationReason())
@ -95,6 +98,22 @@ public class WorkflowBatchServiceImpl implements WorkflowBatchService {
List<WorkflowBatchResponseVO> batchResponseVOList = List<WorkflowBatchResponseVO> batchResponseVOList =
WorkflowConverter.INSTANCE.convertListToWorkflowBatchList(batchResponseDOList); WorkflowConverter.INSTANCE.convertListToWorkflowBatchList(batchResponseDOList);
//组中文名显示
Set<String> uniqueGroupNames = batchResponseVOList.stream()
.map(WorkflowBatchResponseVO::getGroupName)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
Map<String, GroupConfigResponseVO> groupConfigMap = groupConfigService.getGroupNameCns(uniqueGroupNames);
// 遍历结果设置groupNameCn
for (WorkflowBatchResponseVO workflowBatchResponseVO : batchResponseVOList) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(workflowBatchResponseVO.getGroupName());
if (groupConfig != null) {
workflowBatchResponseVO.setGroupName(groupConfig.getGroupNameCn());
}
}
return new PageResult<>(pageDTO, batchResponseVOList); return new PageResult<>(pageDTO, batchResponseVOList);
} }

View File

@ -34,6 +34,8 @@ import com.aizuda.snailjob.server.web.model.request.*;
import com.aizuda.snailjob.server.common.vo.request.WorkflowRequestVO.NodeConfig; import com.aizuda.snailjob.server.common.vo.request.WorkflowRequestVO.NodeConfig;
import com.aizuda.snailjob.server.common.vo.WorkflowDetailResponseVO; import com.aizuda.snailjob.server.common.vo.WorkflowDetailResponseVO;
import com.aizuda.snailjob.server.common.vo.WorkflowResponseVO; import com.aizuda.snailjob.server.common.vo.WorkflowResponseVO;
import com.aizuda.snailjob.server.web.model.response.GroupConfigResponseVO;
import com.aizuda.snailjob.server.web.service.GroupConfigService;
import com.aizuda.snailjob.server.web.service.WorkflowService; import com.aizuda.snailjob.server.web.service.WorkflowService;
import com.aizuda.snailjob.server.common.convert.WorkflowConverter; import com.aizuda.snailjob.server.common.convert.WorkflowConverter;
import com.aizuda.snailjob.server.web.service.handler.GroupHandler; import com.aizuda.snailjob.server.web.service.handler.GroupHandler;
@ -85,6 +87,7 @@ public class WorkflowServiceImpl implements WorkflowService {
private final AccessTemplate accessTemplate; private final AccessTemplate accessTemplate;
private final GroupHandler groupHandler; private final GroupHandler groupHandler;
private final JobSummaryMapper jobSummaryMapper; private final JobSummaryMapper jobSummaryMapper;
private final GroupConfigService groupConfigService;
@Autowired @Autowired
private VariableReplacementUtil variableReplacementUtil; private VariableReplacementUtil variableReplacementUtil;
private static Long calculateNextTriggerAt(final WorkflowRequestVO workflowRequestVO, Long time) { private static Long calculateNextTriggerAt(final WorkflowRequestVO workflowRequestVO, Long time) {
@ -201,6 +204,21 @@ public class WorkflowServiceImpl implements WorkflowService {
List<WorkflowResponseVO> jobResponseList = WorkflowConverter.INSTANCE.convertListToWorkflowList(page.getRecords()); List<WorkflowResponseVO> jobResponseList = WorkflowConverter.INSTANCE.convertListToWorkflowList(page.getRecords());
Set<String> uniqueGroupNames = jobResponseList.stream()
.map(WorkflowResponseVO::getGroupName)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toSet());
Map<String, GroupConfigResponseVO> groupConfigMap = groupConfigService.getGroupNameCns(uniqueGroupNames);
// 遍历结果设置groupNameCn
for (WorkflowResponseVO workflowResponseVO : jobResponseList) {
GroupConfigResponseVO groupConfig = groupConfigMap.get(workflowResponseVO.getGroupName());
if (groupConfig != null) {
workflowResponseVO.setGroupName(groupConfig.getGroupNameCn());
}
}
return new PageResult<>(pageDTO, jobResponseList); return new PageResult<>(pageDTO, jobResponseList);
} }