diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NamespaceServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NamespaceServiceImpl.java index ff5e51f8..cd7b6870 100644 --- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NamespaceServiceImpl.java +++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NamespaceServiceImpl.java @@ -12,9 +12,7 @@ import com.aizuda.easy.retry.server.web.model.response.NamespaceResponseVO; import com.aizuda.easy.retry.server.web.service.NamespaceService; import com.aizuda.easy.retry.server.web.service.convert.NamespaceResponseVOConverter; import com.aizuda.easy.retry.template.datasource.persistence.mapper.NamespaceMapper; -import com.aizuda.easy.retry.template.datasource.persistence.po.JobTaskBatch; import com.aizuda.easy.retry.template.datasource.persistence.po.Namespace; -import com.aizuda.easy.retry.template.datasource.persistence.po.SystemUser; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import org.springframework.beans.factory.annotation.Autowired; @@ -35,6 +33,13 @@ public class NamespaceServiceImpl implements NamespaceService { @Override public Boolean saveNamespace(final NamespaceRequestVO namespaceRequestVO) { + + if (StrUtil.isNotBlank(namespaceRequestVO.getUniqueId())) { + Assert.isTrue(namespaceMapper.selectCount(new LambdaQueryWrapper() + .eq(Namespace::getUniqueId, namespaceRequestVO.getUniqueId())) == 0, + () -> new EasyRetryServerException("空间唯一标记已经存在 {}", namespaceRequestVO.getUniqueId())); + } + Namespace namespace = new Namespace(); namespace.setName(namespaceRequestVO.getName()); if (StrUtil.isBlank(namespaceRequestVO.getUniqueId())) { diff --git a/frontend/src/views/namespace/NamespaceForm.vue b/frontend/src/views/namespace/NamespaceForm.vue index 0d9d5440..8b3cebeb 100644 --- a/frontend/src/views/namespace/NamespaceForm.vue +++ b/frontend/src/views/namespace/NamespaceForm.vue @@ -13,7 +13,7 @@ :disabled="isEdit" v-decorator="[ 'uniqueId', - {rules: [{ required: false, message: '请输入空间名称', whitespace: true}]} + {rules: [{ required: false, message: '请输入空间名称', whitespace: true},{required: true, max: 64, message: '最多支持64个字符!'}, {validator: validate, trigger: ['change', 'blur']}]} ]" /> {