diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobBatchServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobBatchServiceImpl.java index 3c81eea7..e22083b4 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobBatchServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobBatchServiceImpl.java @@ -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.UserSessionVO; 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.common.convert.JobBatchResponseVOConverter; import com.aizuda.snailjob.server.web.service.handler.JobHandler; @@ -29,10 +31,8 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Collections; -import java.util.List; -import java.util.Objects; -import java.util.Set; +import java.util.*; +import java.util.stream.Collectors; /** * @author: opensnail @@ -47,6 +47,7 @@ public class JobBatchServiceImpl implements JobBatchService { private final JobMapper jobMapper; private final WorkflowNodeMapper workflowNodeMapper; private final JobHandler jobHandler; + private final GroupConfigService groupConfigService; @Override public PageResult> getJobBatchPage(final JobBatchQueryVO queryVO) { @@ -73,6 +74,23 @@ public class JobBatchServiceImpl implements JobBatchService { List batchResponseDOList = jobTaskBatchMapper.selectJobBatchPageList(pageDTO, wrapper); List batchResponseVOList = JobBatchResponseVOConverter.INSTANCE.convertList( batchResponseDOList); + + //组中文名显示 + Set uniqueGroupNames = batchResponseVOList.stream() + .map(JobBatchResponseVO::getGroupName) + .filter(StrUtil::isNotBlank) + .collect(Collectors.toSet()); + + Map 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); } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobServiceImpl.java index 91b673aa..3417f210 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobServiceImpl.java @@ -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.web.model.base.PageResult; 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.service.GroupConfigService; 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.JobResponseVOConverter; @@ -51,6 +53,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import java.util.*; +import java.util.stream.Collectors; /** * @author opensnail @@ -70,6 +73,7 @@ public class JobServiceImpl implements JobService { private final GroupHandler groupHandler; private final JobSummaryMapper jobSummaryMapper; private final SystemUserMapper systemUserMapper; + private final GroupConfigService groupConfigService; private static Long calculateNextTriggerAt(final JobRequestVO jobRequestVO, Long time) { if (Objects.equals(jobRequestVO.getTriggerType(), SystemConstants.WORKFLOW_TRIGGER_TYPE)) { @@ -109,6 +113,22 @@ public class JobServiceImpl implements JobService { jobResponseVO.setOwnerName(systemUser.getUsername()); } } + //组中文名显示 + Set uniqueGroupNames = jobResponseList.stream() + .map(JobResponseVO::getGroupName) + .filter(StrUtil::isNotBlank) + .collect(Collectors.toSet()); + + Map 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); } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/NotifyConfigServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/NotifyConfigServiceImpl.java index 5ada2c82..b853a600 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/NotifyConfigServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/NotifyConfigServiceImpl.java @@ -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.NotifyConfigRequestVO; 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.service.GroupConfigService; 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.NotifyConfigResponseVOConverter; @@ -27,8 +29,10 @@ import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Set; +import java.util.stream.Collectors; /** * @author: opensnail @@ -39,6 +43,7 @@ import java.util.Set; public class NotifyConfigServiceImpl implements NotifyConfigService { private final AccessTemplate accessTemplate; + private final GroupConfigService groupConfigService; @Override public PageResult> getNotifyConfigList(NotifyConfigQueryVO queryVO) { @@ -64,6 +69,22 @@ public class NotifyConfigServiceImpl implements NotifyConfigService { List notifyConfigResponseVOS = NotifyConfigResponseVOConverter.INSTANCE.convertList( notifyConfigs); + //组中文名显示 + Set uniqueGroupNames = notifyConfigResponseVOS.stream() + .map(NotifyConfigResponseVO::getGroupName) + .filter(StrUtil::isNotBlank) + .collect(Collectors.toSet()); + + Map 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); } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/RetryDeadLetterServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/RetryDeadLetterServiceImpl.java index 55c47782..cd3f45ca 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/RetryDeadLetterServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/RetryDeadLetterServiceImpl.java @@ -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.BatchRollBackRetryDeadLetterVO; 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.service.GroupConfigService; import com.aizuda.snailjob.server.web.service.RetryDeadLetterService; import com.aizuda.snailjob.server.web.service.convert.RetryDeadLetterResponseVOConverter; import com.aizuda.snailjob.server.web.util.UserSessionUtils; @@ -38,6 +40,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; /** * @author: opensnail @@ -48,6 +51,7 @@ import java.util.Set; public class RetryDeadLetterServiceImpl implements RetryDeadLetterService { private final AccessTemplate accessTemplate; private final SystemProperties systemProperties; + private final GroupConfigService groupConfigService; @Override public PageResult> getRetryDeadLetterPage(RetryDeadLetterQueryVO queryVO) { @@ -66,9 +70,25 @@ public class RetryDeadLetterServiceImpl implements RetryDeadLetterService { .between(ObjUtil.isAllNotEmpty(queryVO.getStartDt(), queryVO.getEndDt()), RetryDeadLetter::getCreateDt, queryVO.getStartDt(), queryVO.getEndDt()) .orderByDesc(RetryDeadLetter::getId)); + List retryDeadLetterResponseVOS = RetryDeadLetterResponseVOConverter.INSTANCE.convertList(retryDeadLetterPageDTO.getRecords()); - return new PageResult<>(retryDeadLetterPageDTO, - RetryDeadLetterResponseVOConverter.INSTANCE.convertList(retryDeadLetterPageDTO.getRecords())); + //组中文名显示 + Set uniqueGroupNames = retryDeadLetterResponseVOS.stream() + .map(RetryDeadLetterResponseVO::getGroupName) + .filter(StrUtil::isNotBlank) + .collect(Collectors.toSet()); + + Map 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 diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/RetryServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/RetryServiceImpl.java index 750e475e..615afee2 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/RetryServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/RetryServiceImpl.java @@ -1,5 +1,7 @@ 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 cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; @@ -60,6 +62,7 @@ import java.time.LocalDateTime; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; import static com.aizuda.snailjob.common.core.enums.RetryStatusEnum.ALLOW_DELETE_STATUS; @@ -84,6 +87,8 @@ public class RetryServiceImpl implements RetryService { private RetryTaskLogMessageMapper retryTaskLogMessageMapper; @Autowired private TransactionTemplate transactionTemplate; + @Autowired + private GroupConfigService groupConfigService; @Override public PageResult> getRetryPage(RetryQueryVO queryVO) { @@ -126,6 +131,22 @@ public class RetryServiceImpl implements RetryService { } } + //组中文名显示 + Set uniqueGroupNames = retryResponseList.stream() + .map(RetryResponseVO::getGroupName) + .filter(StrUtil::isNotBlank) + .collect(Collectors.toSet()); + + Map 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); } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/RetryTaskServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/RetryTaskServiceImpl.java index 0f4ac0ff..2dfc6723 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/RetryTaskServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/RetryTaskServiceImpl.java @@ -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.RetryTaskQueryVO; 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.service.GroupConfigService; import com.aizuda.snailjob.server.web.service.RetryTaskService; import com.aizuda.snailjob.server.retry.task.convert.RetryConverter; import com.aizuda.snailjob.server.web.service.convert.LogMessagePartitionTaskConverter; @@ -67,6 +68,7 @@ public class RetryTaskServiceImpl implements RetryTaskService { private final RetryTaskLogMessageMapper retryTaskLogMessageMapper; private final RetryTaskStopHandler retryTaskStopHandler; private final AccessTemplate accessTemplate; + private final GroupConfigService groupConfigService; @Override public PageResult> getRetryTaskLogPage(RetryTaskQueryVO queryVO) { @@ -90,8 +92,26 @@ public class RetryTaskServiceImpl implements RetryTaskService { .orderByDesc(RetryTask::getCreateDt); PageDTO retryTaskPageDTO = retryTaskMapper.selectPage(pageDTO, wrapper); - return new PageResult<>(retryTaskPageDTO, - RetryTaskLogResponseVOConverter.INSTANCE.convertList(retryTaskPageDTO.getRecords())); + + List retryTaskResponseVOS = RetryTaskLogResponseVOConverter.INSTANCE.convertList(retryTaskPageDTO.getRecords()); + + //组中文名显示 + Set uniqueGroupNames = retryTaskResponseVOS.stream() + .map(RetryTaskResponseVO::getGroupName) + .filter(StrUtil::isNotBlank) + .collect(Collectors.toSet()); + + Map 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); } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/SceneConfigServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/SceneConfigServiceImpl.java index 2ee42e6f..b89cc6bd 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/SceneConfigServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/SceneConfigServiceImpl.java @@ -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.SceneConfigRequestVO; 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.service.GroupConfigService; 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.SceneConfigResponseVOConverter; @@ -46,6 +48,7 @@ import org.springframework.validation.annotation.Validated; import java.time.LocalDateTime; import java.util.*; +import java.util.stream.Collectors; /** * @author: opensnail @@ -59,6 +62,7 @@ public class SceneConfigServiceImpl implements SceneConfigService { private final AccessTemplate accessTemplate; private final GroupHandler groupHandler; 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())) .orderByDesc(RetrySceneConfig::getCreateDt)); - return new PageResult<>(pageDTO, SceneConfigResponseVOConverter.INSTANCE.convertList(pageDTO.getRecords())); + List sceneConfigResponseVOS = SceneConfigResponseVOConverter.INSTANCE.convertList(pageDTO.getRecords()); + + //组中文名显示 + Set uniqueGroupNames = sceneConfigResponseVOS.stream() + .map(SceneConfigResponseVO::getGroupName) + .filter(StrUtil::isNotBlank) + .collect(Collectors.toSet()); + + Map 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 diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowBatchServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowBatchServiceImpl.java index 2664188f..2ddaa4d2 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowBatchServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowBatchServiceImpl.java @@ -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.WorkflowBatchResponseVO; 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.common.convert.JobBatchResponseVOConverter; import com.aizuda.snailjob.server.common.convert.WorkflowConverter; @@ -62,6 +64,7 @@ public class WorkflowBatchServiceImpl implements WorkflowBatchService { private final WorkflowBatchHandler workflowBatchHandler; private final JobMapper jobMapper; private final JobHandler jobHandler; + private final GroupConfigService groupConfigService; private static boolean isNoOperation(JobTaskBatch i) { return JobOperationReasonEnum.WORKFLOW_SUCCESSOR_SKIP_EXECUTION.contains(i.getOperationReason()) @@ -95,6 +98,22 @@ public class WorkflowBatchServiceImpl implements WorkflowBatchService { List batchResponseVOList = WorkflowConverter.INSTANCE.convertListToWorkflowBatchList(batchResponseDOList); + //组中文名显示 + Set uniqueGroupNames = batchResponseVOList.stream() + .map(WorkflowBatchResponseVO::getGroupName) + .filter(StrUtil::isNotBlank) + .collect(Collectors.toSet()); + + Map 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); } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowServiceImpl.java index 26bf7689..01ef4f3e 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/WorkflowServiceImpl.java @@ -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.WorkflowDetailResponseVO; 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.common.convert.WorkflowConverter; import com.aizuda.snailjob.server.web.service.handler.GroupHandler; @@ -85,6 +87,7 @@ public class WorkflowServiceImpl implements WorkflowService { private final AccessTemplate accessTemplate; private final GroupHandler groupHandler; private final JobSummaryMapper jobSummaryMapper; + private final GroupConfigService groupConfigService; @Autowired private VariableReplacementUtil variableReplacementUtil; private static Long calculateNextTriggerAt(final WorkflowRequestVO workflowRequestVO, Long time) { @@ -201,6 +204,21 @@ public class WorkflowServiceImpl implements WorkflowService { List jobResponseList = WorkflowConverter.INSTANCE.convertListToWorkflowList(page.getRecords()); + Set uniqueGroupNames = jobResponseList.stream() + .map(WorkflowResponseVO::getGroupName) + .filter(StrUtil::isNotBlank) + .collect(Collectors.toSet()); + + Map 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); }