refactor(sj_1.0.0): 使用@Valid+@Validated 校验 Service 数据传递
This commit is contained in:
parent
0f762339b6
commit
d930624185
@ -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<JobResponseVO> getJobList(String groupName);
|
||||
|
||||
void importJobs(List<JobRequestVO> requestList);
|
||||
void importJobs(@Valid @NotEmpty(message = "导入数据不能为空") List<JobRequestVO> requestList);
|
||||
|
||||
String exportJobs(Set<Long> jobIds);
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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<VO> requestList = JsonUtil.parseList(JsonUtil.toJsonString(node), clazz);
|
||||
Assert.notEmpty(requestList, () -> new SnailJobServerException("导入数据不能为空"));
|
||||
|
||||
// 校验参数是否合法
|
||||
requestList.forEach(vo -> {
|
||||
ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
|
||||
Validator validator = vf.getValidator();
|
||||
Set<ConstraintViolation<VO>> rules = validator.validate(vo);
|
||||
rules.forEach(rule -> {
|
||||
throw new SnailJobCommonException(rule.getMessage());
|
||||
});
|
||||
});
|
||||
|
||||
return requestList;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user