From b980b6706d9c81b4dfa0f136a45cd96762fc9128 Mon Sep 17 00:00:00 2001 From: opensnail <598092184@qq.com> Date: Fri, 26 Apr 2024 17:44:41 +0800 Subject: [PATCH] =?UTF-8?q?feat(sj=5F1.0.0):=20=E4=BC=98=E5=8C=96=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=BB=84=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/response/GroupConfigResponseVO.java | 2 + .../service/impl/GroupConfigServiceImpl.java | 50 ++++++++++++------- 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/response/GroupConfigResponseVO.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/response/GroupConfigResponseVO.java index 2173b2c5c..2538c2d56 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/response/GroupConfigResponseVO.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/response/GroupConfigResponseVO.java @@ -18,6 +18,8 @@ public class GroupConfigResponseVO { private String namespaceId; + private String namespaceName; + private Integer groupStatus; private Integer groupPartition; diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/GroupConfigServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/GroupConfigServiceImpl.java index 117265fbc..95ec11986 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/GroupConfigServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/GroupConfigServiceImpl.java @@ -1,5 +1,6 @@ package com.aizuda.snailjob.server.web.service.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.HashUtil; import cn.hutool.core.util.ReUtil; @@ -22,9 +23,11 @@ import com.aizuda.snailjob.template.datasource.access.AccessTemplate; import com.aizuda.snailjob.template.datasource.access.ConfigAccess; import com.aizuda.snailjob.template.datasource.access.TaskAccess; import com.aizuda.snailjob.template.datasource.enums.DbTypeEnum; +import com.aizuda.snailjob.template.datasource.persistence.mapper.NamespaceMapper; import com.aizuda.snailjob.template.datasource.persistence.mapper.SequenceAllocMapper; import com.aizuda.snailjob.template.datasource.persistence.mapper.ServerNodeMapper; import com.aizuda.snailjob.template.datasource.persistence.po.GroupConfig; +import com.aizuda.snailjob.template.datasource.persistence.po.Namespace; import com.aizuda.snailjob.template.datasource.persistence.po.RetryDeadLetter; import com.aizuda.snailjob.template.datasource.persistence.po.RetryTask; import com.aizuda.snailjob.template.datasource.persistence.po.SequenceAlloc; @@ -37,6 +40,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.google.common.collect.Lists; +import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.jdbc.BadSqlGrammarException; @@ -53,6 +57,7 @@ import java.sql.SQLException; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.stream.Collectors; @@ -65,23 +70,17 @@ import java.util.stream.Collectors; * @since 1.0.0 */ @Service +@RequiredArgsConstructor public class GroupConfigServiceImpl implements GroupConfigService { - @Autowired - private ServerNodeMapper serverNodeMapper; - @Autowired - private AccessTemplate accessTemplate; - @Autowired - private SequenceAllocMapper sequenceAllocMapper; - @Autowired + private final ServerNodeMapper serverNodeMapper; + private final AccessTemplate accessTemplate; + private final SequenceAllocMapper sequenceAllocMapper; @Lazy - private ConfigVersionSyncHandler configVersionSyncHandler; - @Autowired - private SystemProperties systemProperties; - @Autowired - private JdbcTemplate jdbcTemplate; - @Autowired - private MybatisPlusProperties mybatisPlusProperties; + private final ConfigVersionSyncHandler configVersionSyncHandler; + private final SystemProperties systemProperties; + private final JdbcTemplate jdbcTemplate; + private final NamespaceMapper namespaceMapper; @Override @Transactional @@ -315,16 +314,29 @@ public class GroupConfigServiceImpl implements GroupConfigService { @Override public List getAllGroupConfigList(final List namespaceIds) { - if (CollectionUtils.isEmpty(namespaceIds)) { - return new ArrayList<>(); - } ConfigAccess groupConfigAccess = accessTemplate.getGroupConfigAccess(); List groupConfigs = groupConfigAccess.list(new LambdaQueryWrapper() .select(GroupConfig::getGroupName, GroupConfig::getNamespaceId) - .in(GroupConfig::getNamespaceId, namespaceIds)); - return GroupConfigResponseVOConverter.INSTANCE.toGroupConfigResponseVO(groupConfigs); + .in(CollectionUtil.isNotEmpty(namespaceIds), GroupConfig::getNamespaceId, namespaceIds)); + if (CollectionUtils.isEmpty(groupConfigs)) { + return new ArrayList<>(); + } + + List namespaces = namespaceMapper.selectList(new LambdaQueryWrapper() + .in(Namespace::getUniqueId, groupConfigs.stream().map(GroupConfig::getNamespaceId).collect(Collectors.toList()))); + + Map namespaceMap = namespaces.stream() + .collect(Collectors.toMap(Namespace::getUniqueId, Namespace::getName)); + + List groupConfigResponses = GroupConfigResponseVOConverter.INSTANCE.toGroupConfigResponseVO( + groupConfigs); + for (final GroupConfigResponseVO groupConfigResponseVO : groupConfigResponses) { + groupConfigResponseVO.setNamespaceName(namespaceMap.get(groupConfigResponseVO.getNamespaceId())); + } + + return groupConfigResponses; } @Override