diff --git a/doc/sql/easy_retry_mysql.sql b/doc/sql/easy_retry_mysql.sql
index 5a578be7..8f20440b 100644
--- a/doc/sql/easy_retry_mysql.sql
+++ b/doc/sql/easy_retry_mysql.sql
@@ -8,14 +8,14 @@ USE
CREATE TABLE `namespace`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
- `name` varchar(64) NOT NULL DEFAULT '' COMMENT '名称',
- `unique_id` varchar(64) NOT NULL DEFAULT '' COMMENT '唯一id',
+ `name` varchar(64) NOT NULL COMMENT '名称',
+ `unique_id` varchar(64) NOT NULL COMMENT '唯一id',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
`deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除',
PRIMARY KEY (`id`),
KEY `idx_name` (`name`),
- UNIQUE KEY `uk_name` (`unique_id`)
+ UNIQUE KEY `uk_unique_id` (`unique_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='命名空间';
@@ -246,6 +246,7 @@ CREATE TABLE `system_user_permission`
(
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`group_name` varchar(64) NOT NULL COMMENT '组名称',
+ `namespace_id` bigint(20) unsigned NOT NULL DEFAULT 1 COMMENT '命名空间id',
`system_user_id` bigint(20) NOT NULL COMMENT '系统用户id',
`create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
diff --git a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/enums/JobOperationReasonEnum.java b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/enums/JobOperationReasonEnum.java
index 35cbd05b..d60507ec 100644
--- a/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/enums/JobOperationReasonEnum.java
+++ b/easy-retry-common/easy-retry-common-core/src/main/java/com/aizuda/easy/retry/common/core/enums/JobOperationReasonEnum.java
@@ -4,6 +4,8 @@ import cn.hutool.core.util.StrUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
+import java.util.HashMap;
+
/**
* 标识某个操作的具体原因
*
diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/dataobject/JobBatchQueryDO.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/dataobject/JobBatchQueryDO.java
index 21f50b3a..14cc935e 100644
--- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/dataobject/JobBatchQueryDO.java
+++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/dataobject/JobBatchQueryDO.java
@@ -14,5 +14,9 @@ public class JobBatchQueryDO {
private Integer taskBatchStatus;
private String jobName;
private Long jobId;
+ /**
+ * 命名空间id
+ */
+ private Long namespaceId;
}
diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/mapper/NamespaceMapper.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/mapper/NamespaceMapper.java
new file mode 100644
index 00000000..3a0deb2e
--- /dev/null
+++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/mapper/NamespaceMapper.java
@@ -0,0 +1,18 @@
+package com.aizuda.easy.retry.template.datasource.persistence.mapper;
+
+import com.aizuda.easy.retry.template.datasource.persistence.po.Namespace;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ *
+ * 命名空间 Mapper 接口
+ *
+ *
+ * @author xiaowoniu
+ * @since 2023-11-21
+ */
+@Mapper
+public interface NamespaceMapper extends BaseMapper {
+
+}
diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/GroupConfig.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/GroupConfig.java
index 47fc743e..53f6901c 100644
--- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/GroupConfig.java
+++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/GroupConfig.java
@@ -14,6 +14,9 @@ public class GroupConfig implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ private Long namespaceId;
+
+
private String groupName;
private Integer groupStatus;
diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/Job.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/Job.java
index 46c84412..b8b0647f 100644
--- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/Job.java
+++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/Job.java
@@ -29,6 +29,11 @@ public class Job implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ /**
+ * 命名空间id
+ */
+ private Long namespaceId;
+
/**
* 组名称
*/
diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobTaskBatch.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobTaskBatch.java
index 60f169a3..7037fc18 100644
--- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobTaskBatch.java
+++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/JobTaskBatch.java
@@ -32,6 +32,12 @@ public class JobTaskBatch implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ /**
+ * 命名空间id
+ */
+ private Long namespaceId;
+
+
/**
* 组名称
*/
diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/Namespace.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/Namespace.java
new file mode 100644
index 00000000..470751a6
--- /dev/null
+++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/Namespace.java
@@ -0,0 +1,56 @@
+package com.aizuda.easy.retry.template.datasource.persistence.po;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ *
+ * 命名空间
+ *
+ *
+ * @author xiaowoniu
+ * @since 2023-11-21
+ */
+@Getter
+@Setter
+@TableName("namespace")
+public class Namespace implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 名称
+ */
+ private String name;
+
+ /**
+ * 唯一id
+ */
+ private String uniqueId;
+
+ /**
+ * 创建时间
+ */
+ private LocalDateTime createDt;
+
+ /**
+ * 修改时间
+ */
+ private LocalDateTime updateDt;
+
+ /**
+ * 逻辑删除 1、删除
+ */
+ private Byte deleted;
+}
diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/NotifyConfig.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/NotifyConfig.java
index f15765f9..92211611 100644
--- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/NotifyConfig.java
+++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/NotifyConfig.java
@@ -12,6 +12,8 @@ public class NotifyConfig implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ private Long namespaceId;
+
private String groupName;
private String sceneName;
diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryDeadLetter.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryDeadLetter.java
index 35ec7a1d..3e85416a 100644
--- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryDeadLetter.java
+++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryDeadLetter.java
@@ -13,6 +13,8 @@ public class RetryDeadLetter implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ private Long namespaceId;
+
private String uniqueId;
private String groupName;
diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryTask.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryTask.java
index 3fe2fe4f..cdcb1669 100644
--- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryTask.java
+++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryTask.java
@@ -15,6 +15,8 @@ public class RetryTask implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ private Long namespaceId;
+
private String uniqueId;
private String groupName;
diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryTaskLog.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryTaskLog.java
index e12aba14..4cc9f481 100644
--- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryTaskLog.java
+++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/RetryTaskLog.java
@@ -13,6 +13,8 @@ public class RetryTaskLog implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ private Long namespaceId;
+
private String uniqueId;
private String groupName;
diff --git a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/SceneConfig.java b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/SceneConfig.java
index 0d33c6a9..e25e43b6 100644
--- a/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/SceneConfig.java
+++ b/easy-retry-datasource/easy-retry-datasource-template/src/main/java/com/aizuda/easy/retry/template/datasource/persistence/po/SceneConfig.java
@@ -18,6 +18,9 @@ public class SceneConfig implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
+ private Long namespaceId;
+
+
private String groupName;
private String sceneName;
diff --git a/easy-retry-datasource/easy-retry-mariadb-datasource/src/main/resources/mariadb/mapper/JobTaskBatchMapper.xml b/easy-retry-datasource/easy-retry-mariadb-datasource/src/main/resources/mariadb/mapper/JobTaskBatchMapper.xml
index b506e7a2..bf8f6df5 100644
--- a/easy-retry-datasource/easy-retry-mariadb-datasource/src/main/resources/mariadb/mapper/JobTaskBatchMapper.xml
+++ b/easy-retry-datasource/easy-retry-mariadb-datasource/src/main/resources/mariadb/mapper/JobTaskBatchMapper.xml
@@ -7,6 +7,7 @@
+
@@ -18,6 +19,7 @@
SELECT a.*, b.job_name, b.task_type, b.block_strategy, b.trigger_type
FROM job_task_batch a join job b on a.job_id = b.id
+ namespace_id = #{queryDO.namespaceId}
and job_id = #{queryDO.jobId}
diff --git a/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/JobTaskBatchMapper.xml b/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/JobTaskBatchMapper.xml
index b506e7a2..37d256fc 100644
--- a/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/JobTaskBatchMapper.xml
+++ b/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/JobTaskBatchMapper.xml
@@ -7,6 +7,7 @@
+
@@ -18,6 +19,7 @@
SELECT a.*, b.job_name, b.task_type, b.block_strategy, b.trigger_type
FROM job_task_batch a join job b on a.job_id = b.id
+ namespace_id = #{queryDO.namespaceId}
and job_id = #{queryDO.jobId}
diff --git a/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/NamespaceMapper.xml b/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/NamespaceMapper.xml
new file mode 100644
index 00000000..d6effaa0
--- /dev/null
+++ b/easy-retry-datasource/easy-retry-mysql-datasource/src/main/resources/mysql/mapper/NamespaceMapper.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/easy-retry-datasource/easy-retry-postgres-datasource/src/main/resources/postgres/mapper/JobTaskBatchMapper.xml b/easy-retry-datasource/easy-retry-postgres-datasource/src/main/resources/postgres/mapper/JobTaskBatchMapper.xml
index b506e7a2..bf8f6df5 100644
--- a/easy-retry-datasource/easy-retry-postgres-datasource/src/main/resources/postgres/mapper/JobTaskBatchMapper.xml
+++ b/easy-retry-datasource/easy-retry-postgres-datasource/src/main/resources/postgres/mapper/JobTaskBatchMapper.xml
@@ -7,6 +7,7 @@
+
@@ -18,6 +19,7 @@
SELECT a.*, b.job_name, b.task_type, b.block_strategy, b.trigger_type
FROM job_task_batch a join job b on a.job_id = b.id
+ namespace_id = #{queryDO.namespaceId}
and job_id = #{queryDO.jobId}
diff --git a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/strategy/BlockStrategies.java b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/strategy/BlockStrategies.java
index f47111d4..18625b30 100644
--- a/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/strategy/BlockStrategies.java
+++ b/easy-retry-server/easy-retry-server-job-task/src/main/java/com/aizuda/easy/retry/server/job/task/support/strategy/BlockStrategies.java
@@ -80,7 +80,7 @@ public class BlockStrategies {
// 重新生成任务
JobTaskBatchGenerator jobTaskBatchGenerator = SpringContext.getBeanByType(JobTaskBatchGenerator.class);
JobTaskBatchGeneratorContext jobTaskBatchGeneratorContext = JobTaskConverter.INSTANCE.toJobTaskGeneratorContext(context);
- jobTaskBatchGeneratorContext.setTaskBatchStatus(JobTaskBatchStatusEnum.FAIL.getStatus());
+ jobTaskBatchGeneratorContext.setTaskBatchStatus(JobTaskBatchStatusEnum.CANCEL.getStatus());
jobTaskBatchGeneratorContext.setOperationReason(JobOperationReasonEnum.JOB_DISCARD.getReason());
jobTaskBatchGenerator.generateJobTaskBatch(jobTaskBatchGeneratorContext);
}
diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/AbstractGenerator.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/AbstractGenerator.java
index 51af26a5..bd051634 100644
--- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/AbstractGenerator.java
+++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/generator/task/AbstractGenerator.java
@@ -120,6 +120,7 @@ public abstract class AbstractGenerator implements TaskGenerator {
}
RetryTask retryTask = RetryTaskConverter.INSTANCE.toRetryTask(taskInfo);
+ retryTask.setNamespaceId(sceneConfig.getNamespaceId());
retryTask.setUniqueId(getIdGenerator(taskContext.getGroupName()));
retryTask.setTaskType(TaskTypeEnum.RETRY.getType());
retryTask.setGroupName(taskContext.getGroupName());
diff --git a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/timer/RetryTimerTask.java b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/timer/RetryTimerTask.java
index 56e240e5..bf7e5b3b 100644
--- a/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/timer/RetryTimerTask.java
+++ b/easy-retry-server/easy-retry-server-retry-task/src/main/java/com/aizuda/easy/retry/server/retry/task/support/timer/RetryTimerTask.java
@@ -2,7 +2,6 @@ package com.aizuda.easy.retry.server.retry.task.support.timer;
import com.aizuda.easy.retry.common.core.context.SpringContext;
import com.aizuda.easy.retry.common.core.enums.RetryStatusEnum;
-import com.aizuda.easy.retry.common.core.util.JsonUtil;
import com.aizuda.easy.retry.server.retry.task.support.dispatch.task.TaskExecutor;
import com.aizuda.easy.retry.server.retry.task.support.dispatch.task.TaskActuatorFactory;
import com.aizuda.easy.retry.template.datasource.access.AccessTemplate;
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/GroupConfigController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/GroupConfigController.java
index 69c29c3e..6f5604f7 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/GroupConfigController.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/GroupConfigController.java
@@ -69,8 +69,8 @@ public class GroupConfigController {
@LoginRequired
@GetMapping("/all/group-name/list")
- public List getAllGroupNameList() {
- return groupConfigService.getAllGroupNameList();
+ public List getAllGroupNameList(@RequestParam("namespaceId") Long namespaceId) {
+ return groupConfigService.getAllGroupNameList(namespaceId);
}
@Deprecated
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/NamespaceController.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/NamespaceController.java
new file mode 100644
index 00000000..d1e86509
--- /dev/null
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/controller/NamespaceController.java
@@ -0,0 +1,51 @@
+package com.aizuda.easy.retry.server.web.controller;
+
+import com.aizuda.easy.retry.server.web.annotation.LoginUser;
+import com.aizuda.easy.retry.server.web.model.base.PageResult;
+import com.aizuda.easy.retry.server.web.model.request.NamespaceQueryVO;
+import com.aizuda.easy.retry.server.web.model.request.NamespaceRequestVO;
+import com.aizuda.easy.retry.server.web.model.response.NamespaceResponseVO;
+import com.aizuda.easy.retry.server.web.service.NamespaceService;
+import com.aizuda.easy.retry.template.datasource.persistence.po.SystemUser;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author: xiaowoniu
+ * @date : 2023-11-21 15:02
+ * @since : 2.5.0
+ */
+@RestController
+@RequestMapping("/namespace")
+public class NamespaceController {
+
+ @Autowired
+ private NamespaceService namespaceService;
+
+ @PostMapping
+ public Boolean saveNamespace(@RequestBody @Validated NamespaceRequestVO namespaceRequestVO) {
+ return namespaceService.saveNamespace(namespaceRequestVO);
+ }
+
+ @PutMapping
+ public Boolean updateNamespace(@RequestBody @Validated NamespaceRequestVO namespaceRequestVO) {
+ return namespaceService.updateNamespace(namespaceRequestVO);
+ }
+
+ @PutMapping
+ public PageResult> getNamespacePage(NamespaceQueryVO queryVO) {
+ return namespaceService.getNamespacePage(queryVO);
+ }
+
+ @PutMapping
+ public List getNamespaceByUserId(@LoginUser SystemUser systemUser) {
+ return namespaceService.getNamespaceByUserId(systemUser);
+ }
+}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigQueryVO.java
index 36ddcc2f..7a4c1e32 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigQueryVO.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigQueryVO.java
@@ -22,4 +22,9 @@ public class GroupConfigQueryVO extends BaseQueryVO {
@NotNull(message = "组状态不能为空")
private Integer groupStatus;
+ /**
+ * 命名空间id
+ */
+ private Long namespaceId;
+
}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigRequestVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigRequestVO.java
index 40fa7d05..aff84d3d 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigRequestVO.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/GroupConfigRequestVO.java
@@ -17,6 +17,12 @@ import javax.validation.constraints.Pattern;
@Data
public class GroupConfigRequestVO {
+ /**
+ * 命名空间id
+ */
+ @NotNull(message = "命名空间id 不能为空")
+ private Long namespaceId;
+
@NotBlank(message = "组名称不能为空")
@Pattern(regexp = "^[A-Za-z0-9_]{1,64}$", message = "仅支持长度为1~64字符且类型为数字、字母和下划线")
private String groupName;
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobBatchQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobBatchQueryVO.java
index 5b9f3234..99f3d684 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobBatchQueryVO.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobBatchQueryVO.java
@@ -16,4 +16,9 @@ public class JobBatchQueryVO extends BaseQueryVO {
private String jobName;
private Integer taskBatchStatus;
private String groupName;
+
+ /**
+ * 命名空间id
+ */
+ private Long namespaceId;
}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobQueryVO.java
index 683cb200..f4aae2b7 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobQueryVO.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobQueryVO.java
@@ -15,4 +15,6 @@ public class JobQueryVO extends BaseQueryVO {
private String groupName;
private String jobName;
private Integer jobStatus;
+ private Long namespaceId;
+
}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobRequestVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobRequestVO.java
index b5b62570..f2541d16 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobRequestVO.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/JobRequestVO.java
@@ -29,6 +29,12 @@ public class JobRequestVO {
@NotBlank(message = "jobName 不能为空")
private String jobName;
+ /**
+ * 命名空间id
+ */
+ @NotNull(message = "命名空间id 不能为空")
+ private Long namespaceId;
+
/**
* 重试状态 0、关闭、1、开启
*/
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NamespaceQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NamespaceQueryVO.java
new file mode 100644
index 00000000..fa14acf0
--- /dev/null
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NamespaceQueryVO.java
@@ -0,0 +1,18 @@
+package com.aizuda.easy.retry.server.web.model.request;
+
+import com.aizuda.easy.retry.server.web.model.base.BaseQueryVO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @author: xiaowoniu
+ * @date : 2023-11-21 15:21
+ * @since : 2.5.0
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class NamespaceQueryVO extends BaseQueryVO {
+
+ private String name;
+
+}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NamespaceRequestVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NamespaceRequestVO.java
new file mode 100644
index 00000000..c7162527
--- /dev/null
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NamespaceRequestVO.java
@@ -0,0 +1,23 @@
+package com.aizuda.easy.retry.server.web.model.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @author: xiaowoniu
+ * @date : 2023-11-21 15:15
+ * @since : 2.5.0
+ */
+@Data
+public class NamespaceRequestVO {
+
+ private Long id;
+
+ /**
+ * 名称
+ */
+ @NotBlank(message= "name 不能为空")
+ private String name;
+
+}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NotifyConfigQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NotifyConfigQueryVO.java
index 4b80af2c..46555442 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NotifyConfigQueryVO.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NotifyConfigQueryVO.java
@@ -14,4 +14,5 @@ import lombok.EqualsAndHashCode;
public class NotifyConfigQueryVO extends BaseQueryVO {
private String groupName;
private String sceneName;
+ private Long namespaceId;
}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NotifyConfigRequestVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NotifyConfigRequestVO.java
index b6518cd6..ff456c8e 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NotifyConfigRequestVO.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/NotifyConfigRequestVO.java
@@ -20,6 +20,12 @@ public class NotifyConfigRequestVO {
@Pattern(regexp = "^[A-Za-z0-9_]{1,64}$", message = "仅支持长度为1~64字符且类型为数字、字母和下划线")
private String groupName;
+ /**
+ * 命名空间id
+ */
+ @NotNull(message = "命名空间id 不能为空")
+ private Long namespaceId;
+
private String sceneName;
@NotNull(message = "通知状态不能为空")
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryDeadLetterQueryVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryDeadLetterQueryVO.java
index 92b60e7c..13a4253a 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryDeadLetterQueryVO.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/request/RetryDeadLetterQueryVO.java
@@ -14,4 +14,5 @@ public class RetryDeadLetterQueryVO extends BaseQueryVO {
private String bizNo;
private String idempotentId;
private String uniqueId;
+ private Long namespaceId;
}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/NamespaceResponseVO.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/NamespaceResponseVO.java
new file mode 100644
index 00000000..8f9abd2f
--- /dev/null
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/model/response/NamespaceResponseVO.java
@@ -0,0 +1,37 @@
+package com.aizuda.easy.retry.server.web.model.response;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author: xiaowoniu
+ * @date : 2023-11-21 15:39
+ * @since : 2.5.0
+ */
+@Data
+public class NamespaceResponseVO {
+
+ private Long id;
+
+ /**
+ * 名称
+ */
+ private String name;
+
+ /**
+ * 唯一id
+ */
+ private String uniqueId;
+
+ /**
+ * 创建时间
+ */
+ private LocalDateTime createDt;
+
+ /**
+ * 修改时间
+ */
+ private LocalDateTime updateDt;
+
+}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/GroupConfigService.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/GroupConfigService.java
index 1c4b8ca2..fc3952df 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/GroupConfigService.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/GroupConfigService.java
@@ -23,5 +23,5 @@ public interface GroupConfigService {
GroupConfigResponseVO getGroupConfigByGroupName(String groupName);
- List getAllGroupNameList();
+ List getAllGroupNameList(final Long namespaceId);
}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/NamespaceService.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/NamespaceService.java
new file mode 100644
index 00000000..34454a32
--- /dev/null
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/NamespaceService.java
@@ -0,0 +1,25 @@
+package com.aizuda.easy.retry.server.web.service;
+
+import com.aizuda.easy.retry.server.web.model.base.PageResult;
+import com.aizuda.easy.retry.server.web.model.request.NamespaceQueryVO;
+import com.aizuda.easy.retry.server.web.model.request.NamespaceRequestVO;
+import com.aizuda.easy.retry.server.web.model.response.NamespaceResponseVO;
+import com.aizuda.easy.retry.template.datasource.persistence.po.SystemUser;
+
+import java.util.List;
+
+/**
+ * @author: xiaowoniu
+ * @date : 2023-11-21 15:14
+ * @since : 2.5.0
+ */
+public interface NamespaceService {
+
+ Boolean saveNamespace(NamespaceRequestVO namespaceRequestVO);
+
+ Boolean updateNamespace(NamespaceRequestVO namespaceRequestVO);
+
+ PageResult> getNamespacePage(NamespaceQueryVO queryVO);
+
+ List getNamespaceByUserId(SystemUser systemUser);
+}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NamespaceResponseVOConverter.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NamespaceResponseVOConverter.java
new file mode 100644
index 00000000..cddc1cc1
--- /dev/null
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/convert/NamespaceResponseVOConverter.java
@@ -0,0 +1,19 @@
+package com.aizuda.easy.retry.server.web.service.convert;
+
+import com.aizuda.easy.retry.server.web.model.response.NamespaceResponseVO;
+import com.aizuda.easy.retry.template.datasource.persistence.po.Namespace;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+/**
+ * @author: xiaowoniu
+ * @date : 2023-11-21 16:20
+ * @since : 2.5.0
+ */
+public interface NamespaceResponseVOConverter {
+
+ NamespaceResponseVOConverter INSTANCE = Mappers.getMapper(NamespaceResponseVOConverter.class);
+
+ List toNamespaceResponseVOs(List namespaces);
+}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/GroupConfigServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/GroupConfigServiceImpl.java
index 9996796f..b0fee7a1 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/GroupConfigServiceImpl.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/GroupConfigServiceImpl.java
@@ -24,7 +24,6 @@ import com.aizuda.easy.retry.template.datasource.persistence.po.*;
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 org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.jdbc.BadSqlGrammarException;
@@ -142,8 +141,9 @@ public class GroupConfigServiceImpl implements GroupConfigService {
public PageResult> getGroupConfigForPage(GroupConfigQueryVO queryVO) {
LambdaQueryWrapper groupConfigLambdaQueryWrapper = new LambdaQueryWrapper<>();
+ groupConfigLambdaQueryWrapper.eq(GroupConfig::getNamespaceId, queryVO.getNamespaceId());
if (StrUtil.isNotBlank(queryVO.getGroupName())) {
- groupConfigLambdaQueryWrapper.like(GroupConfig::getGroupName, queryVO.getGroupName());
+ groupConfigLambdaQueryWrapper.like(GroupConfig::getGroupName, queryVO.getGroupName() + "%");
}
ConfigAccess groupConfigAccess = accessTemplate.getGroupConfigAccess();
@@ -236,10 +236,11 @@ public class GroupConfigServiceImpl implements GroupConfigService {
}
@Override
- public List getAllGroupNameList() {
+ public List getAllGroupNameList(final Long namespaceId) {
ConfigAccess groupConfigAccess = accessTemplate.getGroupConfigAccess();
return groupConfigAccess.list(new LambdaQueryWrapper()
+ .eq(GroupConfig::getNamespaceId, namespaceId)
.select(GroupConfig::getGroupName)).stream()
.map(GroupConfig::getGroupName)
.collect(Collectors.toList());
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobBatchServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobBatchServiceImpl.java
index df73af78..2f1f2dde 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobBatchServiceImpl.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobBatchServiceImpl.java
@@ -52,12 +52,13 @@ public class JobBatchServiceImpl implements JobBatchService {
JobBatchQueryDO jobBatchQueryDO = new JobBatchQueryDO();
if (StrUtil.isNotBlank(queryVO.getJobName())) {
- jobBatchQueryDO.setJobName("%" + queryVO.getJobName() + "%");
+ jobBatchQueryDO.setJobName(queryVO.getJobName() + "%");
}
jobBatchQueryDO.setJobId(queryVO.getJobId());
jobBatchQueryDO.setTaskBatchStatus(queryVO.getTaskBatchStatus());
jobBatchQueryDO.setGroupName(queryVO.getGroupName());
+ jobBatchQueryDO.setNamespaceId(queryVO.getNamespaceId());
List batchResponseDOList = jobTaskBatchMapper.selectJobBatchList(pageDTO, jobBatchQueryDO);
List batchResponseVOList = JobBatchResponseVOConverter.INSTANCE.toJobBatchResponseVOs(
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobServiceImpl.java
index 251ff72e..cab3c6e9 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobServiceImpl.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/JobServiceImpl.java
@@ -61,6 +61,7 @@ public class JobServiceImpl implements JobService {
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Job::getDeleted, StatusEnum.NO.getStatus());
+ queryWrapper.eq(Job::getNamespaceId, queryVO.getNamespaceId());
if (StrUtil.isNotBlank(queryVO.getGroupName())) {
queryWrapper.eq(Job::getGroupName, queryVO.getGroupName());
}
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
new file mode 100644
index 00000000..f05155a5
--- /dev/null
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NamespaceServiceImpl.java
@@ -0,0 +1,75 @@
+package com.aizuda.easy.retry.server.web.service.impl;
+
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.StrUtil;
+import com.aizuda.easy.retry.common.core.enums.StatusEnum;
+import com.aizuda.easy.retry.server.common.exception.EasyRetryServerException;
+import com.aizuda.easy.retry.server.web.model.base.PageResult;
+import com.aizuda.easy.retry.server.web.model.request.NamespaceQueryVO;
+import com.aizuda.easy.retry.server.web.model.request.NamespaceRequestVO;
+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;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author: xiaowoniu
+ * @date : 2023-11-21 15:42
+ * @since : 2.5.0
+ */
+@Service
+public class NamespaceServiceImpl implements NamespaceService {
+
+ @Autowired
+ private NamespaceMapper namespaceMapper;
+
+ @Override
+ public Boolean saveNamespace(final NamespaceRequestVO namespaceRequestVO) {
+ Namespace namespace = new Namespace();
+ namespace.setName(namespaceRequestVO.getName());
+ namespace.setUniqueId(IdUtil.simpleUUID());
+ return 1 == namespaceMapper.insert(namespace);
+ }
+
+ @Override
+ public Boolean updateNamespace(final NamespaceRequestVO namespaceRequestVO) {
+ Long id = namespaceRequestVO.getId();
+ Assert.notNull(id, () -> new EasyRetryServerException("参数错误"));
+
+ Namespace namespace = new Namespace();
+ namespace.setName(namespaceRequestVO.getName());
+ namespace.setId(id);
+ return 1 == namespaceMapper.updateById(namespace);
+ }
+
+ @Override
+ public PageResult> getNamespacePage(final NamespaceQueryVO queryVO) {
+
+ PageDTO pageDTO = new PageDTO<>(queryVO.getPage(), queryVO.getSize());
+
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ if (StrUtil.isNotBlank(queryVO.getName())) {
+ queryWrapper.like(Namespace::getName, "%" + queryVO.getName() + "%");
+ }
+
+ queryWrapper.eq(Namespace::getDeleted, StatusEnum.NO);
+
+ PageDTO selectPage = namespaceMapper.selectPage(pageDTO, queryWrapper);
+ return new PageResult<>(pageDTO, NamespaceResponseVOConverter.INSTANCE.toNamespaceResponseVOs(selectPage.getRecords()));
+ }
+
+ @Override
+ public List getNamespaceByUserId(final SystemUser systemUser) {
+ return null;
+ }
+}
diff --git a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NotifyConfigServiceImpl.java b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NotifyConfigServiceImpl.java
index 4c2d32f7..ddefafdd 100644
--- a/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NotifyConfigServiceImpl.java
+++ b/easy-retry-server/easy-retry-server-web/src/main/java/com/aizuda/easy/retry/server/web/service/impl/NotifyConfigServiceImpl.java
@@ -37,6 +37,7 @@ public class NotifyConfigServiceImpl implements NotifyConfigService {
PageDTO pageDTO = new PageDTO<>();
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(NotifyConfig::getNamespaceId, queryVO.getNamespaceId());
if (StrUtil.isNotBlank(queryVO.getGroupName())) {
queryWrapper.eq(NotifyConfig::getGroupName, queryVO.getGroupName());
}