Commit 70a023f7 by guominglei

修改引用代码

parent fbc522fa
package com.byit.controller; package com.byit.controller;
import com.byit.model.vo.JobFlowVo; import com.byit.model.vo.FlowVo;
import com.byit.service.JobFlowService; import com.byit.model.vo.NodeVo;
import com.byit.service.FlowService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -23,19 +24,19 @@ import java.util.List; ...@@ -23,19 +24,19 @@ import java.util.List;
public class FlowController { public class FlowController {
@Resource @Resource
private JobFlowService flowService; private FlowService flowService;
@PostMapping("save") @PostMapping("save")
@ApiOperation("保存工作流信息") @ApiOperation("保存工作流信息")
public String saveFlow(@RequestBody JobFlowVo jobFlow){ public String saveFlow(@RequestBody FlowVo flowVo){
flowService.saveJobFlow(jobFlow); flowService.saveJobFlow(flowVo);
return "SUCCESS"; return "SUCCESS";
} }
@PostMapping("create") @PostMapping("create")
@ApiOperation("创建工作流") @ApiOperation("创建工作流")
public String createFlow(@RequestBody JobFlowVo jobFlow){ public String createFlow(@RequestBody FlowVo flowVo){
flowService.createFlow(jobFlow); flowService.createFlow(flowVo);
return "SUCCESS"; return "SUCCESS";
} }
...@@ -48,13 +49,20 @@ public class FlowController { ...@@ -48,13 +49,20 @@ public class FlowController {
@PostMapping("get") @PostMapping("get")
@ApiOperation("查询工作流") @ApiOperation("查询工作流")
public JobFlowVo getFlow(@RequestBody Integer flowId){ public NodeVo getFlow(@RequestBody Integer flowId){
JobFlowVo flow = flowService.getFlowId(flowId); NodeVo flow = flowService.getFlowId(flowId);
return null; return null;
} }
@PostMapping("start")
@ApiOperation("启动工作流的调度")
public Boolean startFlow(@RequestBody FlowVo flowVo){
Boolean result = flowService.startFlow(flowVo);
return result;
}
@PostMapping("find") @PostMapping("find")
public List<JobFlowVo> findFlow(@RequestBody Integer workSpaceId){ public List<NodeVo> findFlow(@RequestBody Integer workSpaceId){
return null; return null;
} }
......
...@@ -145,6 +145,12 @@ public class Flow implements Serializable { ...@@ -145,6 +145,12 @@ public class Flow implements Serializable {
private Integer remainingCount; private Integer remainingCount;
/** /**
* 节点是否跟随任务流,1跟随 2不跟随
*/
@ApiModelProperty("节点是否跟随任务流,1跟随 2不跟随")
private String scheduleFollow;
/**
*/ */
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
package com.byit.model.vo; package com.byit.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* @description: 工作流VO类 *
* @author: gml
* @create: 2019-12-23 15:39
*/ */
public class JobFlowVo implements Serializable { @ApiModel
@Data
public class FlowVo implements Serializable {
/** /**
* 当前版本工作流主键 * 当前版本工作流主键
*/ */
...@@ -24,6 +27,12 @@ public class JobFlowVo implements Serializable { ...@@ -24,6 +27,12 @@ public class JobFlowVo implements Serializable {
private String alarmEmail; private String alarmEmail;
/** /**
* 当前工作流版本的告警的时机(0 不告警, 1 完成时告警, 2 失败时告警, 3 成功时告警)
*/
@ApiModelProperty("当前工作流版本的告警的时机(0 不告警, 1 完成时告警, 2 失败时告警, 3 成功时告警)")
private String alarmlAction;
/**
* 执行类型 周期执行1 手动执行2 * 执行类型 周期执行1 手动执行2
*/ */
@ApiModelProperty("执行类型 周期执行1 手动执行2") @ApiModelProperty("执行类型 周期执行1 手动执行2")
...@@ -48,9 +57,9 @@ public class JobFlowVo implements Serializable { ...@@ -48,9 +57,9 @@ public class JobFlowVo implements Serializable {
private String flowName; private String flowName;
/** /**
* 档期啊版本的工作流的超时时间 * 工作流的超时时间
*/ */
@ApiModelProperty("工作流的超时时间") @ApiModelProperty("工作流的超时时间")
private Long flowTimeout; private Long flowTimeout;
/** /**
...@@ -71,17 +80,6 @@ public class JobFlowVo implements Serializable { ...@@ -71,17 +80,6 @@ public class JobFlowVo implements Serializable {
@ApiModelProperty("是否是顶级工作流 0 否, 1 是") @ApiModelProperty("是否是顶级工作流 0 否, 1 是")
private String isTop; private String isTop;
/**
* 当前工作流版本的告警的时机
*/
@ApiModelProperty("当前工作流版本的告警的时机")
private String mailAction;
/**
* 节点是否跟随任务流,1跟随 2不跟随
*/
@ApiModelProperty("节点是否跟随任务流,1跟随 2不跟随")
private String nodeDateIsFollowFlow;
/** /**
* 设置任务的优先级,1最低 2最高 * 设置任务的优先级,1最低 2最高
...@@ -90,10 +88,10 @@ public class JobFlowVo implements Serializable { ...@@ -90,10 +88,10 @@ public class JobFlowVo implements Serializable {
private String priority; private String priority;
/** /**
* 当前工作流版本额重复次数 * 当前版本的工作流的下次执行时间
*/ */
@ApiModelProperty("当前工作流版本额重复次数") @ApiModelProperty("当前版本的工作流的下次执行时间")
private Integer repeatCount; private Long triggerNextTime;
/** /**
* 工作空间的id * 工作空间的id
...@@ -102,13 +100,54 @@ public class JobFlowVo implements Serializable { ...@@ -102,13 +100,54 @@ public class JobFlowVo implements Serializable {
private Integer workspaceId; private Integer workspaceId;
/** /**
* 下属节点 * 创建人
*/ */
@ApiModelProperty("工作空间的id") @ApiModelProperty("创建人")
private List<JobFlowNodeVo> nodeVoList; private String author;
/** /**
* 创建时间
*/ */
private static final long serialVersionUID = 1L; @ApiModelProperty("创建时间")
private Date addTime;
/**
* 是否启动 0不启动 1启动
*/
@ApiModelProperty("是否启动 0不启动 1启动")
private String startUp;
/**
* 责任人
*/
@ApiModelProperty("责任人")
private String principal;
/**
* 版本名称
*/
@ApiModelProperty("版本名称")
private String versionName;
/**
* 工作流版本额重复次数
*/
@ApiModelProperty("工作流版本额重复次数")
private Integer repeatCount;
/**
* 剩余执行次数
*/
@ApiModelProperty("剩余执行次数")
private Integer remainingCount;
/**
* 在工作流调度中的节点
*/
@ApiModelProperty("在工作流调度中的节点")
private List<NodeVo> nodeVoList;
/**
*/
private static final long serialVersionUID = 1L;
} }
\ No newline at end of file
package com.byit.model.vo; package com.byit.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
/** /**
* * @description: 工作流VO类
* @author: gml
* @create: 2019-12-23 15:39
*/ */
@ApiModel public class NodeVo implements Serializable {
@Data
public class JobFlowNodeVo implements Serializable {
/** /**
* 当前版本节点主键 * 当前版本节点主键
*/ */
...@@ -20,28 +18,16 @@ public class JobFlowNodeVo implements Serializable { ...@@ -20,28 +18,16 @@ public class JobFlowNodeVo implements Serializable {
private Integer nodeId; private Integer nodeId;
/** /**
* 当前工作流版本的报警邮箱
*/
@ApiModelProperty("当前工作流版本的报警邮箱")
private String alarmEmail;
/**
* 阻塞策略 * 阻塞策略
*/ */
@ApiModelProperty("阻塞策略") @ApiModelProperty("阻塞策略")
private String blockStrategy; private String blockStrategy;
/** /**
* 调度中心端请求插件时的令牌 * 插件端网关令牌
*/
@ApiModelProperty("调度中心端请求插件时的令牌")
private String callbackToken;
/**
* 该节点的依赖节点
*/ */
@ApiModelProperty("该节点的依赖节点") @ApiModelProperty("插件端网关令牌")
private String dependencyNodes; private String pluginToken;
/** /**
* 当前节点的失败重试次数 * 当前节点的失败重试次数
...@@ -56,12 +42,6 @@ public class JobFlowNodeVo implements Serializable { ...@@ -56,12 +42,6 @@ public class JobFlowNodeVo implements Serializable {
private Integer flowId; private Integer flowId;
/** /**
* 是否跟随任务流 1跟随 2不跟随
*/
@ApiModelProperty("是否跟随任务流 1跟随 2不跟随")
private String followTaskFlow;
/**
* 插件端请求调度中心的令牌 * 插件端请求调度中心的令牌
*/ */
@ApiModelProperty("插件端请求调度中心的令牌") @ApiModelProperty("插件端请求调度中心的令牌")
...@@ -77,13 +57,7 @@ public class JobFlowNodeVo implements Serializable { ...@@ -77,13 +57,7 @@ public class JobFlowNodeVo implements Serializable {
* 本地节点(插件方) 的节点的名字 * 本地节点(插件方) 的节点的名字
*/ */
@ApiModelProperty("本地节点(插件方) 的节点的名字") @ApiModelProperty("本地节点(插件方) 的节点的名字")
private String localNodeHandlerName; private String handlerName;
/**
* 当前工作流版本的告警的时机
*/
@ApiModelProperty("当前工作流版本的告警的时机")
private String mailAction;
/** /**
* 这个在设置节点执行时间跟随任务流的时候,他是没用的,但是设置不跟随的时候,节点的执行按照他自己的时间执行 * 这个在设置节点执行时间跟随任务流的时候,他是没用的,但是设置不跟随的时候,节点的执行按照他自己的时间执行
...@@ -104,10 +78,10 @@ public class JobFlowNodeVo implements Serializable { ...@@ -104,10 +78,10 @@ public class JobFlowNodeVo implements Serializable {
private String nodeName; private String nodeName;
/** /**
* nodeOfFlowId * 映射的工作流id(当节点为虚节点,有意义)
*/ */
@ApiModelProperty("nodeOfFlowId") @ApiModelProperty("映射的工作流id(当节点为虚节点,有意义)")
private Integer nodeOfFlowId; private Integer mapFlowId;
/** /**
* 节点的超时时间 -1不超时 * 节点的超时时间 -1不超时
...@@ -116,10 +90,10 @@ public class JobFlowNodeVo implements Serializable { ...@@ -116,10 +90,10 @@ public class JobFlowNodeVo implements Serializable {
private Long nodeTimeout; private Long nodeTimeout;
/** /**
* 节点的类型 node flow * 是否是虚节点(0 是, 1 否),虚节点代表是内嵌工作流
*/ */
@ApiModelProperty("节点的类型 node flow") @ApiModelProperty("是否是虚节点(0 是, 1 否),虚节点代表是内嵌工作流")
private String nodeType; private String isVirtual;
/** /**
* 插件端的url集合 * 插件端的url集合
...@@ -134,16 +108,22 @@ public class JobFlowNodeVo implements Serializable { ...@@ -134,16 +108,22 @@ public class JobFlowNodeVo implements Serializable {
private String priority; private String priority;
/** /**
* 当前节点总共重复次数 * 节点剩余执行次数
*/ */
@ApiModelProperty("当前节点总共重复次数") @ApiModelProperty("节点剩余执行次数")
private Integer remainingCount;
/**
* 节点可执行次数
*/
@ApiModelProperty("节点可执行次数")
private Integer repeatCount; private Integer repeatCount;
/** /**
* 重试的间隔 * 失败重试的间隔(毫秒)
*/ */
@ApiModelProperty("重试的间隔") @ApiModelProperty("失败重试的间隔(毫秒)")
private Long retryInterval; private Long failedRetryInterval;
/** /**
* 路由策略 * 路由策略
...@@ -188,12 +168,44 @@ public class JobFlowNodeVo implements Serializable { ...@@ -188,12 +168,44 @@ public class JobFlowNodeVo implements Serializable {
private Long triggerNextTime; private Long triggerNextTime;
/** /**
* 创建人
*/
@ApiModelProperty("创建人")
private String author;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
private Date addTime;
/**
* 版本名称
*/
@ApiModelProperty("版本名称")
private String versionName;
/**
* 在调度上(0,在 1, 不在)
*/
@ApiModelProperty("在调度上(0,在 1, 不在)")
private String onFork;
/**
* 运行命令
*/
@ApiModelProperty("运行命令")
private String runCommand;
/**
* 源码 * 源码
*/ */
@ApiModelProperty("源码") @ApiModelProperty("源码")
private String runSource; private String runSource;
/** /**
*/ */
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }
package com.byit.service; package com.byit.service;
import com.byit.model.JobFlow; import com.byit.model.Flow;
import com.byit.model.vo.JobFlowVo; import com.byit.model.vo.FlowVo;
import com.byit.model.vo.NodeVo;
import java.util.List;
/** /**
* @description: 工作流业务逻辑接口 * @description: 工作流业务逻辑接口
* @author: gml * @author: gml
* @create: 2019-12-23 17:33 * @create: 2019-12-23 17:33
*/ */
public interface JobFlowService { public interface FlowService {
/** /**
* 保存工作流信息 * 保存工作流信息
* @param flow * @param flowVo
* @return * @return
*/ */
JobFlow saveJobFlow(JobFlowVo flow); Flow saveJobFlow(FlowVo flowVo);
/** /**
* 创建工作流 * 创建工作流
* @param jobFlow * @param flowVo
*/ */
JobFlow createFlow(JobFlowVo jobFlow); Flow createFlow(FlowVo flowVo);
/** /**
* 更改工作流信息 * 更改工作流信息
* @param jobFlow * @param flowVo
*/ */
void updateFlow(JobFlowVo jobFlow); void updateFlow(FlowVo flowVo);
/** /**
* 真实删除当前表工作流信息 * 真实删除当前表工作流信息
...@@ -42,5 +41,12 @@ public interface JobFlowService { ...@@ -42,5 +41,12 @@ public interface JobFlowService {
* @param flowId * @param flowId
* @return * @return
*/ */
JobFlowVo getFlowId(Integer flowId); NodeVo getFlowId(Integer flowId);
/**
* 启动工作流
* @param flowVo
* @return
*/
Boolean startFlow(FlowVo flowVo);
} }
package com.byit.service.impl; package com.byit.service.impl;
import com.byit.mapper.JobFlowMapper; import com.byit.mapper.FlowMapper;
import com.byit.model.JobFlow; import com.byit.model.Flow;
import com.byit.model.JobFlowNode; import com.byit.model.Node;
import com.byit.model.vo.JobFlowVo; import com.byit.model.vo.FlowVo;
import com.byit.service.JobFlowService; import com.byit.model.vo.NodeVo;
import com.byit.service.FlowService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -17,29 +18,29 @@ import javax.annotation.Resource; ...@@ -17,29 +18,29 @@ import javax.annotation.Resource;
*/ */
@Service @Service
public class JobFlowServiceImpl implements JobFlowService { public class FlowServiceImpl implements FlowService {
@Resource @Resource
private JobFlowMapper jobFlowMapper; private FlowMapper flowMapper;
@Override @Override
public JobFlow saveJobFlow(JobFlowVo flow) { public Flow saveJobFlow(FlowVo flowVo) {
return null; return null;
} }
@Override @Override
public JobFlow createFlow(JobFlowVo jobFlow) { public Flow createFlow(FlowVo flowVo) {
JobFlow flow = new JobFlow(); Flow flow = new Flow();
BeanUtils.copyProperties(jobFlow, flow); BeanUtils.copyProperties(flowVo, flow);
//获取工作流id //获取工作流id
int flowId = jobFlowMapper.insertSelective(flow); int flowId = flowMapper.insertSelective(flow);
//初始化开始和结束节点 //初始化开始和结束节点
JobFlowNode start = new JobFlowNode(); Node start = new Node();
JobFlowNode end = new JobFlowNode(); Node end = new Node();
start.setFlowId(flowId); start.setFlowId(flowId);
end.setFlowId(flowId); end.setFlowId(flowId);
//如果工作流设置的节点不跟随工作流调度,设置开始和结束节点的调度为工作流的调度时间 //如果工作流设置的节点不跟随工作流调度,设置开始和结束节点的调度为工作流的调度时间
if ("2".equals(flow.getNodeDateIsFollowFlow())){ if ("2".equals(flow.getScheduleFollow())){
start.setNodeCron(flow.getFlowCron()); start.setNodeCron(flow.getFlowCron());
end.setNodeCron(flow.getFlowCron()); end.setNodeCron(flow.getFlowCron());
} }
...@@ -47,7 +48,7 @@ public class JobFlowServiceImpl implements JobFlowService { ...@@ -47,7 +48,7 @@ public class JobFlowServiceImpl implements JobFlowService {
} }
@Override @Override
public void updateFlow(JobFlowVo jobFlow) { public void updateFlow(FlowVo flowVo) {
} }
...@@ -57,7 +58,12 @@ public class JobFlowServiceImpl implements JobFlowService { ...@@ -57,7 +58,12 @@ public class JobFlowServiceImpl implements JobFlowService {
} }
@Override @Override
public JobFlowVo getFlowId(Integer flowId) { public NodeVo getFlowId(Integer flowId) {
return null;
}
@Override
public Boolean startFlow(FlowVo flowVo) {
return null; return null;
} }
} }
...@@ -25,13 +25,14 @@ ...@@ -25,13 +25,14 @@
<result column="version_name" jdbcType="VARCHAR" property="versionName" /> <result column="version_name" jdbcType="VARCHAR" property="versionName" />
<result column="repeat_count" jdbcType="INTEGER" property="repeatCount" /> <result column="repeat_count" jdbcType="INTEGER" property="repeatCount" />
<result column="remaining_count" jdbcType="INTEGER" property="remainingCount" /> <result column="remaining_count" jdbcType="INTEGER" property="remainingCount" />
<result column="schedule_follow" jdbcType="CHAR" property="scheduleFollow" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!-- generated @mbg.generated date: 2019-12-25 --> <!-- generated @mbg.generated date: 2019-12-25 -->
flow_id, alarm_email, exec_type, flow_cron, flow_desc, flow_name, flow_node_count, flow_id, alarm_email, exec_type, flow_cron, flow_desc, flow_name, flow_node_count,
flow_timeout, is_have_depend, is_inner, is_top, alarml_action, priority, trigger_next_time, flow_timeout, is_have_depend, is_inner, is_top, alarml_action, priority, trigger_next_time,
workspace_id, author, add_time, start_up, principal, version_name, repeat_count, workspace_id, author, add_time, start_up, principal, version_name, repeat_count,
remaining_count remaining_count, schedule_follow
</sql> </sql>
<select id="getById" parameterType="java.lang.Integer" resultMap="BaseResultMap"> <select id="getById" parameterType="java.lang.Integer" resultMap="BaseResultMap">
<!-- generated @mbg.generated date: 2019-12-25 --> <!-- generated @mbg.generated date: 2019-12-25 -->
...@@ -45,6 +46,7 @@ ...@@ -45,6 +46,7 @@
delete from flow delete from flow
where flow_id = #{flowId,jdbcType=INTEGER} where flow_id = #{flowId,jdbcType=INTEGER}
</delete> </delete>
<insert id="insertSelective" parameterType="com.byit.model.Flow"> <insert id="insertSelective" parameterType="com.byit.model.Flow">
<!-- generated @mbg.generated date: 2019-12-25 --> <!-- generated @mbg.generated date: 2019-12-25 -->
insert into flow insert into flow
...@@ -115,6 +117,9 @@ ...@@ -115,6 +117,9 @@
<if test="remainingCount != null"> <if test="remainingCount != null">
remaining_count, remaining_count,
</if> </if>
<if test="scheduleFollow != null">
schedule_follow,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="flowId != null"> <if test="flowId != null">
...@@ -183,6 +188,9 @@ ...@@ -183,6 +188,9 @@
<if test="remainingCount != null"> <if test="remainingCount != null">
#{remainingCount,jdbcType=INTEGER}, #{remainingCount,jdbcType=INTEGER},
</if> </if>
<if test="scheduleFollow != null">
#{scheduleFollow,jdbcType=CHAR},
</if>
</trim> </trim>
</insert> </insert>
<update id="updateByIdSelective" parameterType="com.byit.model.Flow"> <update id="updateByIdSelective" parameterType="com.byit.model.Flow">
...@@ -252,7 +260,11 @@ ...@@ -252,7 +260,11 @@
<if test="remainingCount != null"> <if test="remainingCount != null">
remaining_count = #{remainingCount,jdbcType=INTEGER}, remaining_count = #{remainingCount,jdbcType=INTEGER},
</if> </if>
<if test="scheduleFollow != null">
schedule_follow = #{scheduleFollow,jdbcType=CHAR},
</if>
</set> </set>
where flow_id = #{flowId,jdbcType=INTEGER} where flow_id = #{flowId,jdbcType=INTEGER}
</update> </update>
</mapper> </mapper>
\ No newline at end of file
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