Commit 680f9c0e by guominglei

插件端开启调度和撤销调度

parent e124cbe9
package com.byit.mapper; package com.byit.mapper;
import com.byit.model.JobTask; import com.byit.model.JobTask;
import com.byit.model.JobTaskSchedule;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -55,9 +56,9 @@ public interface JobTaskMapper { ...@@ -55,9 +56,9 @@ public interface JobTaskMapper {
/** /**
* 根据id删除多个 * 根据id删除多个
* @param jobTasks * @param jobTaskSchedules
*/ */
void deleteInId(@Param("jobTasks") List<JobTask> jobTasks); void deleteInId(@Param("jobTaskSchedules") List<JobTaskSchedule> jobTaskSchedules);
/** /**
* 根据runid删除运行信息 * 根据runid删除运行信息
......
...@@ -15,10 +15,11 @@ import java.util.List; ...@@ -15,10 +15,11 @@ import java.util.List;
public interface JobTaskRunLogMapper { public interface JobTaskRunLogMapper {
/** /**
* 查询没有结束的节点 * 查询没有结束的节点
* @param nodIds * @param nodeIds
* @param runId
* @return * @return
*/ */
int findJobTaskRunLogNotEndNodeByRunCodeCount(@Param("nodeIds") List<Integer> nodeIds); List<JobTaskRunLog> findJobTaskRunLogNotEndNodeByRunCodeCount(@Param("nodeIds") List<Integer> nodeIds, @Param("runId") String runId);
/** /**
* 查根据flowId和RunId查询一批节点 * 查根据flowId和RunId查询一批节点
......
...@@ -2,7 +2,6 @@ package com.byit.service; ...@@ -2,7 +2,6 @@ package com.byit.service;
import com.byit.model.JobTaskRunLog; import com.byit.model.JobTaskRunLog;
import com.byit.model.JobTaskRunLogWithBLOBs; import com.byit.model.JobTaskRunLogWithBLOBs;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -17,9 +16,10 @@ public interface JobTaskRunLogService { ...@@ -17,9 +16,10 @@ public interface JobTaskRunLogService {
/** /**
* 查询没有结束的节点 * 查询没有结束的节点
* @param nodIds * @param nodIds
* @param runId
* @return * @return
*/ */
int findJobTaskRunLogNotEndNodeByRunCodeCount(List<Integer> nodIds); List<JobTaskRunLog> findJobTaskRunLogNotEndNodeByRunCodeCount(List<Integer> nodIds, String runId);
/** /**
* 查根据flowId和RunId查询一批节点 * 查根据flowId和RunId查询一批节点
* @param flowId * @param flowId
......
package com.byit.service; package com.byit.service;
import com.byit.model.JobTask; import com.byit.model.JobTask;
import org.apache.ibatis.annotations.Param; import com.byit.model.JobTaskSchedule;
import java.util.List; import java.util.List;
...@@ -42,5 +42,5 @@ public interface JobTaskService { ...@@ -42,5 +42,5 @@ public interface JobTaskService {
* 根据集合删除 * 根据集合删除
* @param jobTasks * @param jobTasks
*/ */
void removeMythJobTaskInIds(List<JobTask> jobTasks); void removeMythJobTaskInIds(List<JobTaskSchedule> jobTasks);
} }
...@@ -29,8 +29,8 @@ public class JobTaskRunLogServiceImpl implements JobTaskRunLogService { ...@@ -29,8 +29,8 @@ public class JobTaskRunLogServiceImpl implements JobTaskRunLogService {
} }
@Override @Override
public int findJobTaskRunLogNotEndNodeByRunCodeCount(List<Integer> nodIds) { public List<JobTaskRunLog> findJobTaskRunLogNotEndNodeByRunCodeCount(List<Integer> nodIds, String runId) {
return jobTaskRunLogMapper.findJobTaskRunLogNotEndNodeByRunCodeCount(nodIds); return jobTaskRunLogMapper.findJobTaskRunLogNotEndNodeByRunCodeCount(nodIds, runId);
} }
@Override @Override
......
...@@ -2,6 +2,7 @@ package com.byit.service.impl; ...@@ -2,6 +2,7 @@ package com.byit.service.impl;
import com.byit.mapper.JobTaskMapper; import com.byit.mapper.JobTaskMapper;
import com.byit.model.JobTask; import com.byit.model.JobTask;
import com.byit.model.JobTaskSchedule;
import com.byit.service.JobTaskService; import com.byit.service.JobTaskService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -62,10 +63,10 @@ public class JobTaskServiceImpl implements JobTaskService { ...@@ -62,10 +63,10 @@ public class JobTaskServiceImpl implements JobTaskService {
/** /**
* 删除多个任务 根据id * 删除多个任务 根据id
* @param jobTasks 任务实体 * @param jobTaskSchedules 任务实体
*/ */
@Override @Override
public void removeMythJobTaskInIds(List<JobTask> jobTasks) { public void removeMythJobTaskInIds(List<JobTaskSchedule> jobTaskSchedules) {
jobTaskMapper.deleteInId(jobTasks); jobTaskMapper.deleteInId(jobTaskSchedules);
} }
} }
...@@ -3,6 +3,7 @@ package com.byit.thread; ...@@ -3,6 +3,7 @@ package com.byit.thread;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.byit.job.WorkRoulette; import com.byit.job.WorkRoulette;
import com.byit.model.JobTask; import com.byit.model.JobTask;
import com.byit.model.JobTaskRunLog;
import com.byit.model.JobTaskRunLogWithBLOBs; import com.byit.model.JobTaskRunLogWithBLOBs;
import com.byit.model.JobTaskSchedule; import com.byit.model.JobTaskSchedule;
import com.byit.service.JobTaskRunLogService; import com.byit.service.JobTaskRunLogService;
...@@ -137,17 +138,28 @@ public class JobScheduleHelper{ ...@@ -137,17 +138,28 @@ public class JobScheduleHelper{
//在日志表里面创建一条记录 //在日志表里面创建一条记录
//根据 map_flow_id查询当前的版本的工作流 使用祝工作流的runId 保存到执行记录表和任务表 //根据 map_flow_id查询当前的版本的工作流 使用祝工作流的runId 保存到执行记录表和任务表
}else{ }else{
List<Integer> dependIdByNodeId = nodeDependencyService.findDependIdByNodeId(jobTask.getNodeId());
int jobTaskRunLogNotEndNodeByRunCodeCount = 0;
if (CollectionUtil.isNotEmpty(dependIdByNodeId)){
jobTaskRunLogNotEndNodeByRunCodeCount = jobTaskRunLogService.findJobTaskRunLogNotEndNodeByRunCodeCount(dependIdByNodeId);
}
if("start".equals(jobTask.getNodeName()) || (jobTaskRunLogNotEndNodeByRunCodeCount==0)){
if("start".equals(jobTask.getNodeName()) ){
log.debug("任务:{}", jobTask); log.debug("任务:{}", jobTask);
JobTaskSchedule jobTaskSchedule = new JobTaskSchedule(); JobTaskSchedule jobTaskSchedule = new JobTaskSchedule();
BeanUtils.copyProperties(jobTask,jobTaskSchedule); BeanUtils.copyProperties(jobTask,jobTaskSchedule);
jobTaskSchedules.add(jobTaskSchedule); jobTaskSchedules.add(jobTaskSchedule);
}else {
List<Integer> dependIdByNodeId = nodeDependencyService.findDependIdByNodeId(jobTask.getNodeId());
List<JobTaskRunLog> jobTaskRunLogList = jobTaskRunLogService.findJobTaskRunLogNotEndNodeByRunCodeCount(dependIdByNodeId, jobTask.getRunId());
if (CollectionUtil.isEmpty(jobTaskRunLogList)){
return;
}
jobTaskRunLogList.forEach(e ->{
if(!("1".equals(e.getRunCode()) || "3".equals(e.getRunCode()))){
return;
}
});
JobTaskSchedule jobTaskSchedule = new JobTaskSchedule();
BeanUtils.copyProperties(jobTask,jobTaskSchedule);
jobTaskSchedules.add(jobTaskSchedule);
} }
} }
...@@ -155,7 +167,7 @@ public class JobScheduleHelper{ ...@@ -155,7 +167,7 @@ public class JobScheduleHelper{
if(CollectionUtil.isNotEmpty(jobTaskSchedules)) { if(CollectionUtil.isNotEmpty(jobTaskSchedules)) {
jobTaskScheduleService.saveAllData(jobTaskSchedules); jobTaskScheduleService.saveAllData(jobTaskSchedules);
jobTaskService.removeMythJobTaskInIds(jobTasks); jobTaskService.removeMythJobTaskInIds(jobTaskSchedules);
} }
}else{ }else{
...@@ -397,10 +409,10 @@ public class JobScheduleHelper{ ...@@ -397,10 +409,10 @@ public class JobScheduleHelper{
private Integer saveLog(JobTaskSchedule mythJobTaskSchedule){ private Integer saveLog(JobTaskSchedule mythJobTaskSchedule){
JobTaskRunLogWithBLOBs jobTaskRunLog = new JobTaskRunLogWithBLOBs(); JobTaskRunLogWithBLOBs jobTaskRunLog = new JobTaskRunLogWithBLOBs();
//jobTaskRunLog.setRunId(mythJobTaskSchedule.getRunId()); jobTaskRunLog.setRunId(mythJobTaskSchedule.getRunId());
jobTaskRunLog.setFlowId(mythJobTaskSchedule.getFlowId()); jobTaskRunLog.setFlowId(mythJobTaskSchedule.getFlowId());
jobTaskRunLog.setFlowName("1"); jobTaskRunLog.setFlowName("1");
jobTaskRunLog.setRunId("qwer-tyui-opas-dfgh"); jobTaskRunLog.setNodeId(mythJobTaskSchedule.getNodeId());
jobTaskRunLog.setNodeName(mythJobTaskSchedule.getNodeName()); jobTaskRunLog.setNodeName(mythJobTaskSchedule.getNodeName());
jobTaskRunLog.setRunParams(mythJobTaskSchedule.getRunParam()); jobTaskRunLog.setRunParams(mythJobTaskSchedule.getRunParam());
jobTaskRunLog.setFailedRemainingCount(mythJobTaskSchedule.getFailedRetryCount()); jobTaskRunLog.setFailedRemainingCount(mythJobTaskSchedule.getFailedRetryCount());
......
...@@ -365,11 +365,11 @@ ...@@ -365,11 +365,11 @@
</update> </update>
<!--多个删除--> <!--多个删除-->
<delete id="deleteInId" parameterType="com.byit.model.JobTask"> <delete id="deleteInId" parameterType="com.byit.model.JobTaskSchedule">
delete from job_task delete from job_task
where id in where id in
<foreach collection="jobTasks" item="jobTask" open="(" separator="," close=")"> <foreach collection="jobTaskSchedules" item="jobTaskSchedule" open="(" separator="," close=")">
#{jobTask.id} #{jobTaskSchedule.id}
</foreach> </foreach>
</delete> </delete>
<!--根据id删除--> <!--根据id删除-->
......
...@@ -40,11 +40,12 @@ ...@@ -40,11 +40,12 @@
run_msg, trigger_msg run_msg, trigger_msg
</sql> </sql>
<select id="findJobTaskRunLogNotEndNodeByRunCodeCount" resultType="java.lang.Integer"> <select id="findJobTaskRunLogNotEndNodeByRunCodeCount" resultMap="BaseResultMap">
select count(*) select <include refid="Base_Column_List" />
from job_task_run_log from job_task_run_log
where (run_code = '0' or run_code = '5') where
and node_id in run_id = #{runId}
and node_id in
<foreach item="nodeId" collection="nodeIds" open="(" separator="," close=")"> <foreach item="nodeId" collection="nodeIds" open="(" separator="," close=")">
#{nodeId} #{nodeId}
</foreach> </foreach>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment