feat(sj_1.3.0-beta1): 修复定时任务和工作流调用时的参数校验

This commit is contained in:
Srzou 2024-12-28 11:34:19 +08:00
parent cf97c194c3
commit a83a76e733
4 changed files with 20 additions and 4 deletions

View File

@ -5,6 +5,7 @@ import com.aizuda.snailjob.common.core.exception.SnailJobCommonException;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.ObjectNode;
@ -175,6 +176,18 @@ public class JsonUtil {
} }
} }
/**
* 判断 Json 是否为空
*/
public static boolean isEmptyJson(String json){
try {
JsonNode jsonNode = JsonMapper.objectMapper.readTree(json);
return jsonNode.isEmpty();
} catch (JsonProcessingException e) {
throw new SnailJobCommonException("Json校验异常", e);
}
}
/** /**
* 内部类处理Json * 内部类处理Json
*/ */

View File

@ -1,13 +1,14 @@
package com.aizuda.snailjob.server.web.model.request; package com.aizuda.snailjob.server.web.model.request;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
@Data @Data
public class JobTriggerVO { public class JobTriggerVO {
@NotBlank(message = "jobId 不能为空") @NotNull(message = "jobId 不能为空")
private Long jobId; private Long jobId;
/** /**

View File

@ -1,13 +1,14 @@
package com.aizuda.snailjob.server.web.model.request; package com.aizuda.snailjob.server.web.model.request;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
@Data @Data
public class WorkflowTriggerVO { public class WorkflowTriggerVO {
@NotBlank(message = "workflowId 不能为空") @NotNull(message = "workflowId 不能为空")
private Long workflowId; private Long workflowId;
/** /**

View File

@ -276,8 +276,9 @@ public class WorkflowServiceImpl implements WorkflowService {
// 设置now表示立即执行 // 设置now表示立即执行
prepareDTO.setNextTriggerAt(DateUtils.toNowMilli()); prepareDTO.setNextTriggerAt(DateUtils.toNowMilli());
prepareDTO.setTaskExecutorScene(JobTaskExecutorSceneEnum.MANUAL_WORKFLOW.getType()); prepareDTO.setTaskExecutorScene(JobTaskExecutorSceneEnum.MANUAL_WORKFLOW.getType());
if (StrUtil.isNotBlank(triggerVO.getTmpWfContext())){ String tmpWfContext = triggerVO.getTmpWfContext();
prepareDTO.setWfContext(triggerVO.getTmpWfContext()); if (StrUtil.isNotBlank(tmpWfContext) && !JsonUtil.isEmptyJson(tmpWfContext)){
prepareDTO.setWfContext(tmpWfContext);
} }
terminalWorkflowPrepareHandler.handler(prepareDTO); terminalWorkflowPrepareHandler.handler(prepareDTO);