feat:(1.3.0-beta1): 调整定时任务和工作流手动调度入参
This commit is contained in:
parent
37c4adb370
commit
3129dcb0dc
@ -3,10 +3,7 @@ package com.aizuda.snailjob.server.web.controller;
|
|||||||
import com.aizuda.snailjob.common.core.annotation.OriginalControllerReturnValue;
|
import com.aizuda.snailjob.common.core.annotation.OriginalControllerReturnValue;
|
||||||
import com.aizuda.snailjob.server.web.annotation.LoginRequired;
|
import com.aizuda.snailjob.server.web.annotation.LoginRequired;
|
||||||
import com.aizuda.snailjob.server.web.model.base.PageResult;
|
import com.aizuda.snailjob.server.web.model.base.PageResult;
|
||||||
import com.aizuda.snailjob.server.web.model.request.ExportJobVO;
|
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.JobStatusUpdateRequestVO;
|
|
||||||
import com.aizuda.snailjob.server.web.model.response.JobResponseVO;
|
import com.aizuda.snailjob.server.web.model.response.JobResponseVO;
|
||||||
import com.aizuda.snailjob.server.web.service.JobService;
|
import com.aizuda.snailjob.server.web.service.JobService;
|
||||||
import com.aizuda.snailjob.server.web.util.ExportUtils;
|
import com.aizuda.snailjob.server.web.util.ExportUtils;
|
||||||
@ -96,16 +93,8 @@ public class JobController {
|
|||||||
|
|
||||||
@PostMapping("/trigger")
|
@PostMapping("/trigger")
|
||||||
@LoginRequired
|
@LoginRequired
|
||||||
public Boolean trigger(@RequestParam(value = "jobId") Long jobId,
|
public Boolean trigger(@RequestBody @Validated JobTriggerVO jobTrigger) {
|
||||||
@RequestParam(value = "tmpArgsStr", required = false) String tmpArgsStr) {
|
return jobService.trigger(jobTrigger);
|
||||||
return jobService.trigger(jobId, tmpArgsStr);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("/trigger/{jobId}")
|
|
||||||
@LoginRequired
|
|
||||||
public Boolean trigger(@PathVariable("jobId") Long jobId) {
|
|
||||||
return jobService.trigger(jobId, null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping(value = "/import", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
@PostMapping(value = "/import", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
|
||||||
|
@ -5,10 +5,7 @@ import com.aizuda.snailjob.common.core.annotation.OriginalControllerReturnValue;
|
|||||||
import com.aizuda.snailjob.server.web.annotation.LoginRequired;
|
import com.aizuda.snailjob.server.web.annotation.LoginRequired;
|
||||||
import com.aizuda.snailjob.server.web.annotation.RoleEnum;
|
import com.aizuda.snailjob.server.web.annotation.RoleEnum;
|
||||||
import com.aizuda.snailjob.server.web.model.base.PageResult;
|
import com.aizuda.snailjob.server.web.model.base.PageResult;
|
||||||
import com.aizuda.snailjob.server.web.model.request.CheckDecisionVO;
|
import com.aizuda.snailjob.server.web.model.request.*;
|
||||||
import com.aizuda.snailjob.server.web.model.request.ExportWorkflowVO;
|
|
||||||
import com.aizuda.snailjob.server.web.model.request.WorkflowQueryVO;
|
|
||||||
import com.aizuda.snailjob.server.web.model.request.WorkflowRequestVO;
|
|
||||||
import com.aizuda.snailjob.server.web.model.response.WorkflowDetailResponseVO;
|
import com.aizuda.snailjob.server.web.model.response.WorkflowDetailResponseVO;
|
||||||
import com.aizuda.snailjob.server.web.model.response.WorkflowResponseVO;
|
import com.aizuda.snailjob.server.web.model.response.WorkflowResponseVO;
|
||||||
import com.aizuda.snailjob.server.web.service.WorkflowService;
|
import com.aizuda.snailjob.server.web.service.WorkflowService;
|
||||||
@ -74,17 +71,10 @@ public class WorkflowController {
|
|||||||
return workflowService.deleteByIds(ids);
|
return workflowService.deleteByIds(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/trigger/{id}")
|
|
||||||
@LoginRequired(role = RoleEnum.USER)
|
|
||||||
public Boolean trigger(@PathVariable("id") Long id) {
|
|
||||||
return workflowService.trigger(id,null);
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostMapping("/trigger")
|
@PostMapping("/trigger")
|
||||||
@LoginRequired(role = RoleEnum.USER)
|
@LoginRequired(role = RoleEnum.USER)
|
||||||
public Boolean trigger(@RequestParam(value = "id") Long id,
|
public Boolean trigger(@RequestBody @Validated WorkflowTriggerVO triggerVO) {
|
||||||
@RequestParam(value = "tmpWfContext", required = false) String tmpWfContext) {
|
return workflowService.trigger(triggerVO);
|
||||||
return workflowService.trigger(id, tmpWfContext);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/workflow-name/list")
|
@GetMapping("/workflow-name/list")
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
package com.aizuda.snailjob.server.web.model.request;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class JobTriggerVO {
|
||||||
|
|
||||||
|
@NotBlank(message = "jobId 不能为空")
|
||||||
|
private Long jobId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 临时任务参数
|
||||||
|
*/
|
||||||
|
private String tmpArgsStr;
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
package com.aizuda.snailjob.server.web.model.request;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class WorkflowTriggerVO {
|
||||||
|
|
||||||
|
@NotBlank(message = "workflowId 不能为空")
|
||||||
|
private Long workflowId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 临时工作流上下文
|
||||||
|
*/
|
||||||
|
private String tmpWfContext;
|
||||||
|
}
|
@ -1,10 +1,7 @@
|
|||||||
package com.aizuda.snailjob.server.web.service;
|
package com.aizuda.snailjob.server.web.service;
|
||||||
|
|
||||||
import com.aizuda.snailjob.server.web.model.base.PageResult;
|
import com.aizuda.snailjob.server.web.model.base.PageResult;
|
||||||
import com.aizuda.snailjob.server.web.model.request.ExportJobVO;
|
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.JobStatusUpdateRequestVO;
|
|
||||||
import com.aizuda.snailjob.server.web.model.response.JobResponseVO;
|
import com.aizuda.snailjob.server.web.model.response.JobResponseVO;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
@ -32,7 +29,7 @@ public interface JobService {
|
|||||||
|
|
||||||
List<JobResponseVO> getJobNameList(String keywords, Long jobId, String groupName);
|
List<JobResponseVO> getJobNameList(String keywords, Long jobId, String groupName);
|
||||||
|
|
||||||
boolean trigger(Long jobId, String tmpArgsStr);
|
boolean trigger(JobTriggerVO jobTrigger);
|
||||||
|
|
||||||
List<JobResponseVO> getJobList(String groupName);
|
List<JobResponseVO> getJobList(String groupName);
|
||||||
|
|
||||||
|
@ -3,10 +3,7 @@ package com.aizuda.snailjob.server.web.service;
|
|||||||
import cn.hutool.core.lang.Pair;
|
import cn.hutool.core.lang.Pair;
|
||||||
import com.aizuda.snailjob.server.common.dto.DecisionConfig;
|
import com.aizuda.snailjob.server.common.dto.DecisionConfig;
|
||||||
import com.aizuda.snailjob.server.web.model.base.PageResult;
|
import com.aizuda.snailjob.server.web.model.base.PageResult;
|
||||||
import com.aizuda.snailjob.server.web.model.request.CheckDecisionVO;
|
import com.aizuda.snailjob.server.web.model.request.*;
|
||||||
import com.aizuda.snailjob.server.web.model.request.ExportWorkflowVO;
|
|
||||||
import com.aizuda.snailjob.server.web.model.request.WorkflowQueryVO;
|
|
||||||
import com.aizuda.snailjob.server.web.model.request.WorkflowRequestVO;
|
|
||||||
import com.aizuda.snailjob.server.web.model.response.WorkflowDetailResponseVO;
|
import com.aizuda.snailjob.server.web.model.response.WorkflowDetailResponseVO;
|
||||||
import com.aizuda.snailjob.server.web.model.response.WorkflowResponseVO;
|
import com.aizuda.snailjob.server.web.model.response.WorkflowResponseVO;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
@ -33,7 +30,7 @@ public interface WorkflowService {
|
|||||||
|
|
||||||
Boolean updateStatus(Long id);
|
Boolean updateStatus(Long id);
|
||||||
|
|
||||||
Boolean trigger(Long id, String tmpWfContext);
|
Boolean trigger(WorkflowTriggerVO triggerVO);
|
||||||
|
|
||||||
List<WorkflowResponseVO> getWorkflowNameList(String keywords, Long workflowId, String groupName);
|
List<WorkflowResponseVO> getWorkflowNameList(String keywords, Long workflowId, String groupName);
|
||||||
|
|
||||||
|
@ -239,8 +239,8 @@ public class JobServiceImpl implements JobService {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean trigger(Long jobId, String tmpArgsStr) {
|
public boolean trigger(JobTriggerVO jobTrigger) {
|
||||||
Job job = jobMapper.selectById(jobId);
|
Job job = jobMapper.selectById(jobTrigger.getJobId());
|
||||||
Assert.notNull(job, () -> new SnailJobServerException("job can not be null."));
|
Assert.notNull(job, () -> new SnailJobServerException("job can not be null."));
|
||||||
|
|
||||||
long count = accessTemplate.getGroupConfigAccess().count(new LambdaQueryWrapper<GroupConfig>()
|
long count = accessTemplate.getGroupConfigAccess().count(new LambdaQueryWrapper<GroupConfig>()
|
||||||
@ -255,7 +255,9 @@ public class JobServiceImpl implements JobService {
|
|||||||
// 设置now表示立即执行
|
// 设置now表示立即执行
|
||||||
jobTaskPrepare.setNextTriggerAt(DateUtils.toNowMilli());
|
jobTaskPrepare.setNextTriggerAt(DateUtils.toNowMilli());
|
||||||
jobTaskPrepare.setTaskExecutorScene(JobTaskExecutorSceneEnum.MANUAL_JOB.getType());
|
jobTaskPrepare.setTaskExecutorScene(JobTaskExecutorSceneEnum.MANUAL_JOB.getType());
|
||||||
jobTaskPrepare.setTmpArgsStr(tmpArgsStr);
|
if (StrUtil.isNotBlank(jobTrigger.getTmpArgsStr())){
|
||||||
|
jobTaskPrepare.setTmpArgsStr(jobTrigger.getTmpArgsStr());
|
||||||
|
}
|
||||||
// 创建批次
|
// 创建批次
|
||||||
terminalJobPrepareHandler.handle(jobTaskPrepare);
|
terminalJobPrepareHandler.handle(jobTaskPrepare);
|
||||||
|
|
||||||
|
@ -258,8 +258,8 @@ public class WorkflowServiceImpl implements WorkflowService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean trigger(Long id, String tmpWfContext) {
|
public Boolean trigger(WorkflowTriggerVO triggerVO) {
|
||||||
Workflow workflow = workflowMapper.selectById(id);
|
Workflow workflow = workflowMapper.selectById(triggerVO.getWorkflowId());
|
||||||
Assert.notNull(workflow, () -> new SnailJobServerException("workflow can not be null."));
|
Assert.notNull(workflow, () -> new SnailJobServerException("workflow can not be null."));
|
||||||
|
|
||||||
long count = accessTemplate.getGroupConfigAccess().count(
|
long count = accessTemplate.getGroupConfigAccess().count(
|
||||||
@ -276,8 +276,8 @@ 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 (Objects.nonNull(tmpWfContext)){
|
if (StrUtil.isNotBlank(triggerVO.getTmpWfContext())){
|
||||||
prepareDTO.setWfContext(tmpWfContext);
|
prepareDTO.setWfContext(triggerVO.getTmpWfContext());
|
||||||
}
|
}
|
||||||
terminalWorkflowPrepareHandler.handler(prepareDTO);
|
terminalWorkflowPrepareHandler.handler(prepareDTO);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user