groupConfig 增加中文名

This commit is contained in:
zhuangdashia 2025-06-29 22:53:33 +08:00
parent a81f426497
commit 1dc142e0e7
5 changed files with 29 additions and 3 deletions

View File

@ -25,6 +25,8 @@ public class GroupConfig extends CreateUpdateDt {
private String groupName;
private String groupNameCn;
private Integer groupStatus;
private Integer groupPartition;

View File

@ -20,6 +20,9 @@ public class GroupConfigRequestVO {
@Pattern(regexp = "^[A-Za-z0-9_-]{1,64}$", message = "Only supports 1~64 characters, including numbers, letters, underscores, and hyphens")
private String groupName;
@NotBlank( message = "Group name CN cannot be null")
private String groupNameCn; // 新增字段
@NotNull(message = "Group status cannot be null")
private Integer groupStatus;

View File

@ -16,6 +16,8 @@ public class GroupConfigResponseVO {
private String groupName;
private String groupNameCn;
private String namespaceId;
private String namespaceName;

View File

@ -9,6 +9,7 @@ import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
@ -40,4 +41,6 @@ public interface GroupConfigService {
String exportGroup(ExportGroupVO exportGroupVO);
boolean deleteByGroupName(String groupName);
Map<String, GroupConfigResponseVO> getGroupNameCns(Set<String> uniqueGroupNames);
}

View File

@ -7,7 +7,6 @@ import cn.hutool.core.util.StrUtil;
import com.aizuda.snailjob.common.core.enums.StatusEnum;
import com.aizuda.snailjob.common.core.util.JsonUtil;
import com.aizuda.snailjob.common.core.util.StreamUtils;
import com.aizuda.snailjob.server.common.config.SystemProperties;
import com.aizuda.snailjob.server.common.dto.PartitionTask;
import com.aizuda.snailjob.server.common.enums.IdGeneratorModeEnum;
import com.aizuda.snailjob.server.common.exception.SnailJobServerException;
@ -25,7 +24,6 @@ import com.aizuda.snailjob.server.web.service.convert.GroupConfigResponseVOConve
import com.aizuda.snailjob.server.web.util.UserSessionUtils;
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.*;
import com.aizuda.snailjob.template.datasource.persistence.po.*;
@ -38,7 +36,6 @@ import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.jetbrains.annotations.NotNull;
import org.springframework.jdbc.BadSqlGrammarException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -51,6 +48,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.LocalDateTime;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@ -417,4 +415,22 @@ public class GroupConfigServiceImpl implements GroupConfigService {
setId(config.getId());
}
}
public Map<String, GroupConfigResponseVO> getGroupNameCns(Set<String> uniqueGroupNames) {
Map<String, GroupConfigResponseVO> groupConfigMap = new HashMap<>();
if (CollUtil.isNotEmpty(uniqueGroupNames)) {
ConfigAccess<GroupConfig> groupConfigAccess = accessTemplate.getGroupConfigAccess();
List<GroupConfig> groupConfigs = groupConfigAccess.list(
new LambdaQueryWrapper<GroupConfig>()
.select(GroupConfig::getGroupName, GroupConfig::getNamespaceId, GroupConfig::getGroupNameCn)
.in(GroupConfig::getGroupName, uniqueGroupNames)
.eq(GroupConfig::getNamespaceId, UserSessionUtils.currentUserSession().getNamespaceId())); // 确保在当前命名空间下查询
List<GroupConfigResponseVO> groupConfigNames= GroupConfigResponseVOConverter.INSTANCE.convertList(groupConfigs);
groupConfigMap = groupConfigNames.stream()
.collect(Collectors.toMap(GroupConfigResponseVO::getGroupName, Function.identity()));
}
return groupConfigMap;
}
}