diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/JobService.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/JobService.java index 973768422..c529c4188 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/JobService.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/JobService.java @@ -7,6 +7,7 @@ import com.aizuda.snailjob.server.web.model.request.JobUpdateJobStatusRequestVO; import com.aizuda.snailjob.server.web.model.response.JobResponseVO; import com.aizuda.snailjob.template.datasource.persistence.po.Job; import jakarta.validation.Valid; +import jakarta.validation.constraints.NotEmpty; import java.util.List; import java.util.Set; @@ -39,7 +40,7 @@ public interface JobService { List getJobList(String groupName); - void importJobs(List requestList); + void importJobs(@Valid @NotEmpty(message = "导入数据不能为空") List requestList); String exportJobs(Set jobIds); diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobServiceImpl.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobServiceImpl.java index 359710697..ac8e1ca9c 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobServiceImpl.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/service/impl/JobServiceImpl.java @@ -5,10 +5,8 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.HashUtil; import cn.hutool.core.util.StrUtil; import com.aizuda.snailjob.common.core.constant.SystemConstants; -import com.aizuda.snailjob.common.core.context.SpringContext; 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.WaitStrategy; import com.aizuda.snailjob.server.common.config.SystemProperties; import com.aizuda.snailjob.server.common.enums.JobTaskExecutorSceneEnum; @@ -21,14 +19,16 @@ import com.aizuda.snailjob.server.job.task.support.JobPrepareHandler; import com.aizuda.snailjob.server.job.task.support.JobTaskConverter; import com.aizuda.snailjob.server.job.task.support.cache.ResidentTaskCache; import com.aizuda.snailjob.server.web.model.base.PageResult; -import com.aizuda.snailjob.server.web.model.request.*; +import com.aizuda.snailjob.server.web.model.request.JobQueryVO; +import com.aizuda.snailjob.server.web.model.request.JobRequestVO; +import com.aizuda.snailjob.server.web.model.request.JobUpdateJobStatusRequestVO; +import com.aizuda.snailjob.server.web.model.request.UserSessionVO; import com.aizuda.snailjob.server.web.model.response.JobResponseVO; import com.aizuda.snailjob.server.web.service.JobService; import com.aizuda.snailjob.server.web.service.convert.JobConverter; import com.aizuda.snailjob.server.web.service.convert.JobResponseVOConverter; 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.persistence.mapper.JobMapper; import com.aizuda.snailjob.template.datasource.persistence.po.GroupConfig; import com.aizuda.snailjob.template.datasource.persistence.po.Job; @@ -36,10 +36,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.aop.framework.AopContext; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; import java.util.List; import java.util.Objects; @@ -54,6 +54,7 @@ import java.util.Set; @Service @Slf4j @RequiredArgsConstructor +@Validated public class JobServiceImpl implements JobService { private final SystemProperties systemProperties; diff --git a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/util/ImportUtils.java b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/util/ImportUtils.java index 5a8ccb098..a7369623b 100644 --- a/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/util/ImportUtils.java +++ b/snail-job-server/snail-job-server-web/src/main/java/com/aizuda/snailjob/server/web/util/ImportUtils.java @@ -1,21 +1,14 @@ package com.aizuda.snailjob.server.web.util; import cn.hutool.core.io.FileUtil; -import cn.hutool.core.lang.Assert; import com.aizuda.snailjob.common.core.exception.SnailJobCommonException; import com.aizuda.snailjob.common.core.util.JsonUtil; -import com.aizuda.snailjob.server.common.exception.SnailJobServerException; import com.fasterxml.jackson.databind.JsonNode; -import jakarta.validation.ConstraintViolation; -import jakarta.validation.Validation; -import jakarta.validation.Validator; -import jakarta.validation.ValidatorFactory; import org.jetbrains.annotations.NotNull; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.List; -import java.util.Set; public class ImportUtils { @@ -30,17 +23,6 @@ public class ImportUtils { JsonNode node = JsonUtil.toJson(file.getBytes()); List requestList = JsonUtil.parseList(JsonUtil.toJsonString(node), clazz); - Assert.notEmpty(requestList, () -> new SnailJobServerException("导入数据不能为空")); - - // 校验参数是否合法 - requestList.forEach(vo -> { - ValidatorFactory vf = Validation.buildDefaultValidatorFactory(); - Validator validator = vf.getValidator(); - Set> rules = validator.validate(vo); - rules.forEach(rule -> { - throw new SnailJobCommonException(rule.getMessage()); - }); - }); return requestList; }