From fe4a69c66f98a65d4ea28938db71dda2e93f27f5 Mon Sep 17 00:00:00 2001 From: opensnail <598092184@qq.com> Date: Wed, 29 May 2024 18:36:35 +0800 Subject: [PATCH] =?UTF-8?q?feat(sj=5F1.0.0):=20=E7=BB=84=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=9D=A1=E4=BB=B6=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/GroupConfigController.java | 6 +++--- .../web/model/request/ExportGroupVO.java | 21 +++++++++++++++++++ .../web/model/request/GroupConfigQueryVO.java | 6 ++---- .../web/service/GroupConfigService.java | 3 ++- .../service/impl/GroupConfigServiceImpl.java | 8 +++++-- 5 files changed, 34 insertions(+), 10 deletions(-) create mode 100644 snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/ExportGroupVO.java diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/GroupConfigController.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/GroupConfigController.java index b87c16301..008d5046f 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/GroupConfigController.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/controller/GroupConfigController.java @@ -5,6 +5,7 @@ import com.aizuda.snailjob.common.core.exception.SnailJobCommonException; import com.aizuda.snailjob.server.web.annotation.LoginRequired; import com.aizuda.snailjob.server.web.annotation.RoleEnum; import com.aizuda.snailjob.server.web.model.base.PageResult; +import com.aizuda.snailjob.server.web.model.request.ExportGroupVO; import com.aizuda.snailjob.server.web.model.request.GroupConfigQueryVO; import com.aizuda.snailjob.server.web.model.request.GroupConfigRequestVO; import com.aizuda.snailjob.server.web.model.response.GroupConfigResponseVO; @@ -20,7 +21,6 @@ import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.List; -import java.util.Set; /** * 重试组接口 @@ -103,7 +103,7 @@ public class GroupConfigController { @PostMapping("/export") @LoginRequired @OriginalControllerReturnValue - public ResponseEntity exportGroup(@RequestBody Set groupIds) { - return ExportUtils.doExport(groupConfigService.exportGroup(groupIds)); + public ResponseEntity exportGroup(@RequestBody ExportGroupVO exportGroupVO) { + return ExportUtils.doExport(groupConfigService.exportGroup(exportGroupVO)); } } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/ExportGroupVO.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/ExportGroupVO.java new file mode 100644 index 000000000..868b6b579 --- /dev/null +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/ExportGroupVO.java @@ -0,0 +1,21 @@ +package com.aizuda.snailjob.server.web.model.request; + +import lombok.Data; + +import java.util.Set; + +/** + * @author: opensnail + * @date : 2024-05-29 + * @since : sj_1.0.0 + */ +@Data +public class ExportGroupVO { + + private String groupName; + + private Integer groupStatus; + + private Set groupIds; + +} diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/GroupConfigQueryVO.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/GroupConfigQueryVO.java index 493e71d6e..5ccfb6a16 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/GroupConfigQueryVO.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/model/request/GroupConfigQueryVO.java @@ -5,20 +5,18 @@ import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Pattern; import lombok.Data; +import lombok.EqualsAndHashCode; /** * @author: opensnail * @date : 2021-11-22 13:45 */ +@EqualsAndHashCode(callSuper = true) @Data public class GroupConfigQueryVO extends BaseQueryVO { - @NotBlank(message = "组名称不能为空") - @Pattern(regexp = "^[A-Za-z0-9_-]{1,64}$", message = "仅支持长度为1~64字符且类型为数字、字母、下划线和短横线") private String groupName; - - @NotNull(message = "组状态不能为空") private Integer groupStatus; } diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/GroupConfigService.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/GroupConfigService.java index 8ed538eac..470950333 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/GroupConfigService.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/GroupConfigService.java @@ -1,6 +1,7 @@ package com.aizuda.snailjob.server.web.service; import com.aizuda.snailjob.server.web.model.base.PageResult; +import com.aizuda.snailjob.server.web.model.request.ExportGroupVO; import com.aizuda.snailjob.server.web.model.request.GroupConfigQueryVO; import com.aizuda.snailjob.server.web.model.request.GroupConfigRequestVO; import com.aizuda.snailjob.server.web.model.response.GroupConfigResponseVO; @@ -36,5 +37,5 @@ public interface GroupConfigService { void importGroup(@Valid @NotEmpty(message = "导入数据不能为空") List requestVOS); - String exportGroup(Set groupIds); + String exportGroup(ExportGroupVO exportGroupVO); } 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 194205dd1..e98531426 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 @@ -14,6 +14,7 @@ import com.aizuda.snailjob.server.common.exception.SnailJobServerException; import com.aizuda.snailjob.server.common.handler.ConfigVersionSyncHandler; import com.aizuda.snailjob.server.common.util.PartitionTaskUtils; import com.aizuda.snailjob.server.web.model.base.PageResult; +import com.aizuda.snailjob.server.web.model.request.ExportGroupVO; import com.aizuda.snailjob.server.web.model.request.GroupConfigQueryVO; import com.aizuda.snailjob.server.web.model.request.GroupConfigRequestVO; import com.aizuda.snailjob.server.web.model.request.UserSessionVO; @@ -184,6 +185,7 @@ public class GroupConfigServiceImpl implements GroupConfigService { new PageDTO<>(queryVO.getPage(), queryVO.getSize()), new LambdaQueryWrapper() .eq(GroupConfig::getNamespaceId, namespaceId) + .eq(Objects.nonNull(queryVO.getGroupStatus()), GroupConfig::getGroupStatus, queryVO.getGroupStatus()) .in(userSessionVO.isUser(), GroupConfig::getGroupName, userSessionVO.getGroupNames()) .likeRight(StrUtil.isNotBlank(queryVO.getGroupName()), GroupConfig::getGroupName, StrUtil.trim(queryVO.getGroupName())) @@ -420,7 +422,7 @@ public class GroupConfigServiceImpl implements GroupConfigService { } @Override - public String exportGroup(final Set groupIds) { + public String exportGroup(ExportGroupVO exportGroupVO) { String namespaceId = UserSessionUtils.currentUserSession().getNamespaceId(); List allRequestList = Lists.newArrayList(); @@ -429,7 +431,9 @@ public class GroupConfigServiceImpl implements GroupConfigService { new LambdaQueryWrapper() .ge(GroupConfig::getId, startId) .eq(GroupConfig::getNamespaceId, namespaceId) - .in(CollUtil.isNotEmpty(groupIds), GroupConfig::getId, groupIds) + .eq(Objects.nonNull(exportGroupVO.getGroupStatus()), GroupConfig::getGroupStatus, exportGroupVO.getGroupStatus()) + .in(CollUtil.isNotEmpty(exportGroupVO.getGroupIds()), GroupConfig::getId, exportGroupVO.getGroupIds()) + .likeRight(StrUtil.isNotBlank(exportGroupVO.getGroupName()), GroupConfig::getGroupName, StrUtil.trim(exportGroupVO.getGroupName())) .orderByAsc(GroupConfig::getId) ).getRecords(); return groupConfigs.stream().map(GroupConfigPartitionTask::new).toList();