Commit e8847a8e by huangfusuper

Merge branch 'developer' of 39.105.146.189:liyuan/byit-myth-job into developer

parents bb81bf83 d5c3e58d
package com.byit.controller; package com.byit.controller;
import com.byit.model.vo.FlowVo;
import com.byit.model.vo.NodeVo;
import com.byit.service.FlowService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/** /**
* @description: 工作流 * @description: 工作流
* @author: gml * @author: gml
* @create: 2019-12-23 15:25 * @create: 2019-12-23 15:25
*/ */
@Api(tags = "工作流")
@RestController @RestController
@RequestMapping("flow") @RequestMapping("flow")
public class FlowController { public class FlowController {
@Resource
private FlowService flowService;
@PostMapping("save")
@ApiOperation("保存工作流信息")
public String saveFlow(@RequestBody FlowVo flowVo){
flowService.saveJobFlow(flowVo);
return "SUCCESS";
}
@PostMapping("create")
@ApiOperation("创建工作流")
public String createFlow(@RequestBody FlowVo flowVo){
flowService.createFlow(flowVo);
return "SUCCESS";
}
@PostMapping("delete")
@ApiOperation("删除工作流")
public String deleteFlow(@RequestBody Integer flowId){
flowService.deleteFlow(flowId);
return "SUCCESS";
}
@PostMapping("get")
@ApiOperation("查询工作流")
public NodeVo getFlow(@RequestBody Integer flowId){
NodeVo flow = flowService.getFlowId(flowId);
return null;
}
@PostMapping("start")
@ApiOperation("启动工作流的调度")
public Boolean startFlow(@RequestBody FlowVo flowVo){
Boolean result = flowService.startFlow(flowVo);
return result;
}
@PostMapping("find")
public List<NodeVo> findFlow(@RequestBody Integer workSpaceId){
return null;
}
} }
...@@ -5,15 +5,10 @@ import com.byit.model.EmailAlarm; ...@@ -5,15 +5,10 @@ import com.byit.model.EmailAlarm;
public interface EmailAlarmMapper { public interface EmailAlarmMapper {
int deleteById(Integer id); int deleteById(Integer id);
int insert(EmailAlarm record);
int insertSelective(EmailAlarm record); int insertSelective(EmailAlarm record);
EmailAlarm getById(Integer id); EmailAlarm getById(Integer id);
int updateByIdSelective(EmailAlarm record); int updateByIdSelective(EmailAlarm record);
int updateByIdWithBLOBs(EmailAlarm record);
int updateById(EmailAlarm record);
} }
\ No newline at end of file
...@@ -5,13 +5,10 @@ import com.byit.model.Flow; ...@@ -5,13 +5,10 @@ import com.byit.model.Flow;
public interface FlowMapper { public interface FlowMapper {
int deleteById(Integer flowId); int deleteById(Integer flowId);
int insert(Flow record);
int insertSelective(Flow record); int insertSelective(Flow record);
Flow getById(Integer flowId); Flow getById(Integer flowId);
int updateByIdSelective(Flow record); int updateByIdSelective(Flow record);
int updateById(Flow record);
} }
\ No newline at end of file
...@@ -5,13 +5,10 @@ import com.byit.model.FlowVersion; ...@@ -5,13 +5,10 @@ import com.byit.model.FlowVersion;
public interface FlowVersionMapper { public interface FlowVersionMapper {
int deleteById(Integer flowVersionId); int deleteById(Integer flowVersionId);
int insert(FlowVersion record);
int insertSelective(FlowVersion record); int insertSelective(FlowVersion record);
FlowVersion getById(Integer flowVersionId); FlowVersion getById(Integer flowVersionId);
int updateByIdSelective(FlowVersion record); int updateByIdSelective(FlowVersion record);
int updateById(FlowVersion record);
} }
\ No newline at end of file
...@@ -5,15 +5,10 @@ import com.byit.model.Node; ...@@ -5,15 +5,10 @@ import com.byit.model.Node;
public interface NodeMapper { public interface NodeMapper {
int deleteById(Integer nodeId); int deleteById(Integer nodeId);
int insert(Node record);
int insertSelective(Node record); int insertSelective(Node record);
Node getById(Integer nodeId); Node getById(Integer nodeId);
int updateByIdSelective(Node record); int updateByIdSelective(Node record);
int updateByIdWithBLOBs(Node record);
int updateById(Node record);
} }
\ No newline at end of file
...@@ -5,15 +5,10 @@ import com.byit.model.NodeVersion; ...@@ -5,15 +5,10 @@ import com.byit.model.NodeVersion;
public interface NodeVersionMapper { public interface NodeVersionMapper {
int deleteById(Integer nodeVersionId); int deleteById(Integer nodeVersionId);
int insert(NodeVersion record);
int insertSelective(NodeVersion record); int insertSelective(NodeVersion record);
NodeVersion getById(Integer nodeVersionId); NodeVersion getById(Integer nodeVersionId);
int updateByIdSelective(NodeVersion record); int updateByIdSelective(NodeVersion record);
int updateByIdWithBLOBs(NodeVersion record);
int updateById(NodeVersion record);
} }
\ No newline at end of file
...@@ -5,15 +5,10 @@ import com.byit.model.SourceHistory; ...@@ -5,15 +5,10 @@ import com.byit.model.SourceHistory;
public interface SourceHistoryMapper { public interface SourceHistoryMapper {
int deleteById(String id); int deleteById(String id);
int insert(SourceHistory record);
int insertSelective(SourceHistory record); int insertSelective(SourceHistory record);
SourceHistory getById(String id); SourceHistory getById(String id);
int updateByIdSelective(SourceHistory record); int updateByIdSelective(SourceHistory record);
int updateByIdWithBLOBs(SourceHistory record);
int updateById(SourceHistory record);
} }
\ No newline at end of file
...@@ -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;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
*
*/
@ApiModel
@Data
public class FlowVo implements Serializable {
/**
* 当前版本工作流主键
*/
@ApiModelProperty("当前版本工作流主键")
private Integer flowId;
/**
* 当前工作流版本的报警邮箱
*/
@ApiModelProperty("当前工作流版本的报警邮箱")
private String alarmEmail;
/**
* 当前工作流版本的告警的时机(0 不告警, 1 完成时告警, 2 失败时告警, 3 成功时告警)
*/
@ApiModelProperty("当前工作流版本的告警的时机(0 不告警, 1 完成时告警, 2 失败时告警, 3 成功时告警)")
private String alarmlAction;
/**
* 执行类型 周期执行1 手动执行2
*/
@ApiModelProperty("执行类型 周期执行1 手动执行2")
private String execType;
/**
* 任务流的cron表达式
*/
@ApiModelProperty("任务流的cron表达式")
private String flowCron;
/**
* 当前工作流的介绍
*/
@ApiModelProperty("当前工作流的介绍")
private String flowDesc;
/**
* 当前版本工作流名字
*/
@ApiModelProperty("当前版本工作流名字")
private String flowName;
/**
* 工作流的超时时间
*/
@ApiModelProperty("工作流的超时时间")
private Long flowTimeout;
/**
* 是否有下游节点 0 否,1 是
*/
@ApiModelProperty("是否有下游节点 0 否,1 是")
private String isHaveDepend;
/**
* 是否是内嵌工作流 0 否, 1 是
*/
@ApiModelProperty("是否是内嵌工作流 0 否, 1 是")
private String isInner;
/**
* 是否是顶级工作流 0 否, 1 是
*/
@ApiModelProperty("是否是顶级工作流 0 否, 1 是")
private String isTop;
/**
* 设置任务的优先级,1最低 2最高
*/
@ApiModelProperty("设置任务的优先级,1最低 2最高")
private String priority;
/**
* 当前版本的工作流的下次执行时间
*/
@ApiModelProperty("当前版本的工作流的下次执行时间")
private Long triggerNextTime;
/**
* 工作空间的id
*/
@ApiModelProperty("工作空间的id")
private Integer workspaceId;
/**
* 创建人
*/
@ApiModelProperty("创建人")
private String author;
/**
* 创建时间
*/
@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;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
/**
* @description: 工作流VO类
* @author: gml
* @create: 2019-12-23 15:39
*/
public class NodeVo implements Serializable {
/**
* 当前版本节点主键
*/
@ApiModelProperty("当前版本节点主键")
private Integer nodeId;
/**
* 阻塞策略
*/
@ApiModelProperty("阻塞策略")
private String blockStrategy;
/**
* 插件端网关令牌
*/
@ApiModelProperty("插件端网关令牌")
private String pluginToken;
/**
* 当前节点的失败重试次数
*/
@ApiModelProperty("当前节点的失败重试次数")
private Integer failedRetryCount;
/**
* 工作流ID
*/
@ApiModelProperty("工作流ID")
private Integer flowId;
/**
* 插件端请求调度中心的令牌
*/
@ApiModelProperty("插件端请求调度中心的令牌")
private String gatewayToken;
/**
* 当前任务的类型 java python shell sql script
*/
@ApiModelProperty("当前任务的类型 java python shell sql script")
private String jobType;
/**
* 本地节点(插件方) 的节点的名字
*/
@ApiModelProperty("本地节点(插件方) 的节点的名字")
private String handlerName;
/**
* 这个在设置节点执行时间跟随任务流的时候,他是没用的,但是设置不跟随的时候,节点的执行按照他自己的时间执行
*/
@ApiModelProperty("这个在设置节点执行时间跟随任务流的时候,他是没用的,但是设置不跟随的时候,节点的执行按照他自己的时间执行")
private String nodeCron;
/**
* 节点的说明
*/
@ApiModelProperty("节点的说明")
private String nodeDesc;
/**
* 当前节点的名称
*/
@ApiModelProperty("当前节点的名称")
private String nodeName;
/**
* 映射的工作流id(当节点为虚节点,有意义)
*/
@ApiModelProperty("映射的工作流id(当节点为虚节点,有意义)")
private Integer mapFlowId;
/**
* 节点的超时时间 -1不超时
*/
@ApiModelProperty("节点的超时时间 -1不超时")
private Long nodeTimeout;
/**
* 是否是虚节点(0 是, 1 否),虚节点代表是内嵌工作流
*/
@ApiModelProperty("是否是虚节点(0 是, 1 否),虚节点代表是内嵌工作流")
private String isVirtual;
/**
* 插件端的url集合
*/
@ApiModelProperty("插件端的url集合")
private String pluginUrls;
/**
* 设置任务的优先级,1最低 2最高
*/
@ApiModelProperty("设置任务的优先级,1最低 2最高")
private String priority;
/**
* 节点剩余执行次数
*/
@ApiModelProperty("节点剩余执行次数")
private Integer remainingCount;
/**
* 节点可执行次数
*/
@ApiModelProperty("节点可执行次数")
private Integer repeatCount;
/**
* 失败重试的间隔(毫秒)
*/
@ApiModelProperty("失败重试的间隔(毫秒)")
private Long failedRetryInterval;
/**
* 路由策略
*/
@ApiModelProperty("路由策略")
private String routingStrategy;
/**
* 节点的参数
*/
@ApiModelProperty("节点的参数")
private String runParam;
/**
* 源码备注
*/
@ApiModelProperty("源码备注")
private String runSourceDesc;
/**
* 脚本的文件服务器路径集
*/
@ApiModelProperty("脚本的文件服务器路径集")
private String scriptUrls;
/**
* 源码负责人
*/
@ApiModelProperty("源码负责人")
private String sourcePrincipal;
/**
* 源码的修改时间
*/
@ApiModelProperty("源码的修改时间")
private Date sourceUpdateTime;
/**
* 当前版本的节点的下次执行时间
*/
@ApiModelProperty("当前版本的节点的下次执行时间")
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("源码")
private String runSource;
/**
*/
private static final long serialVersionUID = 1L;
}
package com.byit.service;
import com.byit.model.Flow;
import com.byit.model.vo.FlowVo;
import com.byit.model.vo.NodeVo;
/**
* @description: 工作流业务逻辑接口
* @author: gml
* @create: 2019-12-23 17:33
*/
public interface FlowService {
/**
* 保存工作流信息
* @param flowVo
* @return
*/
Flow saveJobFlow(FlowVo flowVo);
/**
* 创建工作流
* @param flowVo
*/
Flow createFlow(FlowVo flowVo);
/**
* 更改工作流信息
* @param flowVo
*/
void updateFlow(FlowVo flowVo);
/**
* 真实删除当前表工作流信息
* @param flowId
*/
void deleteFlow(Integer flowId);
/**
* 根据工作流Id获取工作流信息
* @param flowId
* @return
*/
NodeVo getFlowId(Integer flowId);
/**
* 启动工作流
* @param flowVo
* @return
*/
Boolean startFlow(FlowVo flowVo);
}
package com.byit.vo; package com.byit.service;
/** /**
* @description: 工作流VO类 * @description: 任务节点逻辑处理接口
* @author: gml * @author: gml
* @create: 2019-12-23 15:39 * @create: 2019-12-24 10:38
*/ */
public class MythJobFlowVo { public interface NodeService {
} }
package com.byit.service.impl;
import com.byit.mapper.FlowMapper;
import com.byit.model.Flow;
import com.byit.model.Node;
import com.byit.model.vo.FlowVo;
import com.byit.model.vo.NodeVo;
import com.byit.service.FlowService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @description: 工作流业务逻辑实现类
* @author: gml
* @create: 2019-12-23 17:33
*/
@Service
public class FlowServiceImpl implements FlowService {
@Resource
private FlowMapper flowMapper;
@Override
public Flow saveJobFlow(FlowVo flowVo) {
return null;
}
@Override
public Flow createFlow(FlowVo flowVo) {
Flow flow = new Flow();
BeanUtils.copyProperties(flowVo, flow);
//获取工作流id
int flowId = flowMapper.insertSelective(flow);
//初始化开始和结束节点
Node start = new Node();
Node end = new Node();
start.setFlowId(flowId);
end.setFlowId(flowId);
//如果工作流设置的节点不跟随工作流调度,设置开始和结束节点的调度为工作流的调度时间
if ("2".equals(flow.getScheduleFollow())){
start.setNodeCron(flow.getFlowCron());
end.setNodeCron(flow.getFlowCron());
}
return null;
}
@Override
public void updateFlow(FlowVo flowVo) {
}
@Override
public void deleteFlow(Integer flowId) {
}
@Override
public NodeVo getFlowId(Integer flowId) {
return null;
}
@Override
public Boolean startFlow(FlowVo flowVo) {
return null;
}
}
package com.byit.service.impl;
import com.byit.mapper.NodeMapper;
import com.byit.service.NodeService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* @description: 任务节点逻辑处理实现类
* @author: gml
* @create: 2019-12-24 10:39
*/
@Service
public class NodeServiceImpl implements NodeService {
@Resource
private NodeMapper nodeMapper;
}
...@@ -40,17 +40,6 @@ ...@@ -40,17 +40,6 @@
delete from email_alarm delete from email_alarm
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}
</delete> </delete>
<insert id="insert" parameterType="com.byit.model.EmailAlarm">
<!-- generated @mbg.generated date: 2019-12-25 -->
insert into email_alarm (id, flow_id, flow_name,
run_id, version_name, alarm_email,
alarm_action, alarm_result, send_time,
alarm_content)
values (#{id,jdbcType=INTEGER}, #{flowId,jdbcType=INTEGER}, #{flowName,jdbcType=VARCHAR},
#{runId,jdbcType=VARCHAR}, #{versionName,jdbcType=VARCHAR}, #{alarmEmail,jdbcType=VARCHAR},
#{alarmAction,jdbcType=CHAR}, #{alarmResult,jdbcType=CHAR}, #{sendTime,jdbcType=TIMESTAMP},
#{alarmContent,jdbcType=LONGVARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.byit.model.EmailAlarm"> <insert id="insertSelective" parameterType="com.byit.model.EmailAlarm">
<!-- generated @mbg.generated date: 2019-12-25 --> <!-- generated @mbg.generated date: 2019-12-25 -->
insert into email_alarm insert into email_alarm
...@@ -153,31 +142,4 @@ ...@@ -153,31 +142,4 @@
</set> </set>
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}
</update> </update>
<update id="updateByPrimaryKeyWithBLOBs" parameterType="com.byit.model.EmailAlarm">
<!-- generated @mbg.generated date: 2019-12-25 -->
update email_alarm
set flow_id = #{flowId,jdbcType=INTEGER},
flow_name = #{flowName,jdbcType=VARCHAR},
run_id = #{runId,jdbcType=VARCHAR},
version_name = #{versionName,jdbcType=VARCHAR},
alarm_email = #{alarmEmail,jdbcType=VARCHAR},
alarm_action = #{alarmAction,jdbcType=CHAR},
alarm_result = #{alarmResult,jdbcType=CHAR},
send_time = #{sendTime,jdbcType=TIMESTAMP},
alarm_content = #{alarmContent,jdbcType=LONGVARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateById" parameterType="com.byit.model.EmailAlarm">
<!-- generated @mbg.generated date: 2019-12-25 -->
update email_alarm
set flow_id = #{flowId,jdbcType=INTEGER},
flow_name = #{flowName,jdbcType=VARCHAR},
run_id = #{runId,jdbcType=VARCHAR},
version_name = #{versionName,jdbcType=VARCHAR},
alarm_email = #{alarmEmail,jdbcType=VARCHAR},
alarm_action = #{alarmAction,jdbcType=CHAR},
alarm_result = #{alarmResult,jdbcType=CHAR},
send_time = #{sendTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=INTEGER}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -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,25 +46,7 @@ ...@@ -45,25 +46,7 @@
delete from flow delete from flow
where flow_id = #{flowId,jdbcType=INTEGER} where flow_id = #{flowId,jdbcType=INTEGER}
</delete> </delete>
<insert id="insert" parameterType="com.byit.model.Flow">
<!-- generated @mbg.generated date: 2019-12-25 -->
insert into flow (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, workspace_id,
author, add_time, start_up,
principal, version_name, repeat_count,
remaining_count)
values (#{flowId,jdbcType=INTEGER}, #{alarmEmail,jdbcType=VARCHAR}, #{execType,jdbcType=CHAR},
#{flowCron,jdbcType=VARCHAR}, #{flowDesc,jdbcType=VARCHAR}, #{flowName,jdbcType=VARCHAR},
#{flowNodeCount,jdbcType=INTEGER}, #{flowTimeout,jdbcType=BIGINT}, #{isHaveDepend,jdbcType=CHAR},
#{isInner,jdbcType=CHAR}, #{isTop,jdbcType=CHAR}, #{alarmlAction,jdbcType=CHAR},
#{priority,jdbcType=CHAR}, #{triggerNextTime,jdbcType=BIGINT}, #{workspaceId,jdbcType=INTEGER},
#{author,jdbcType=VARCHAR}, #{addTime,jdbcType=TIMESTAMP}, #{startUp,jdbcType=CHAR},
#{principal,jdbcType=VARCHAR}, #{versionName,jdbcType=VARCHAR}, #{repeatCount,jdbcType=INTEGER},
#{remainingCount,jdbcType=INTEGER})
</insert>
<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
...@@ -134,6 +117,9 @@ ...@@ -134,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">
...@@ -202,6 +188,9 @@ ...@@ -202,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">
...@@ -271,33 +260,11 @@ ...@@ -271,33 +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>
<update id="updateById" parameterType="com.byit.model.Flow">
<!-- generated @mbg.generated date: 2019-12-25 -->
update flow
set alarm_email = #{alarmEmail,jdbcType=VARCHAR},
exec_type = #{execType,jdbcType=CHAR},
flow_cron = #{flowCron,jdbcType=VARCHAR},
flow_desc = #{flowDesc,jdbcType=VARCHAR},
flow_name = #{flowName,jdbcType=VARCHAR},
flow_node_count = #{flowNodeCount,jdbcType=INTEGER},
flow_timeout = #{flowTimeout,jdbcType=BIGINT},
is_have_depend = #{isHaveDepend,jdbcType=CHAR},
is_inner = #{isInner,jdbcType=CHAR},
is_top = #{isTop,jdbcType=CHAR},
alarml_action = #{alarmlAction,jdbcType=CHAR},
priority = #{priority,jdbcType=CHAR},
trigger_next_time = #{triggerNextTime,jdbcType=BIGINT},
workspace_id = #{workspaceId,jdbcType=INTEGER},
author = #{author,jdbcType=VARCHAR},
add_time = #{addTime,jdbcType=TIMESTAMP},
start_up = #{startUp,jdbcType=CHAR},
principal = #{principal,jdbcType=VARCHAR},
version_name = #{versionName,jdbcType=VARCHAR},
repeat_count = #{repeatCount,jdbcType=INTEGER},
remaining_count = #{remainingCount,jdbcType=INTEGER}
where flow_id = #{flowId,jdbcType=INTEGER}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -45,25 +45,7 @@ ...@@ -45,25 +45,7 @@
delete from flow_version delete from flow_version
where flow_version_id = #{flowVersionId,jdbcType=INTEGER} where flow_version_id = #{flowVersionId,jdbcType=INTEGER}
</delete> </delete>
<insert id="insert" parameterType="com.byit.model.FlowVersion">
<!-- generated @mbg.generated date: 2019-12-25 -->
insert into flow_version (flow_version_id, add_time, alarm_email,
exec_type, flow_cron, flow_desc,
flow_id, flow_name, flow_node_count,
alarml_action, schedule_follow, priority,
remove_mark, repeat_count, version_mark,
workspace_id, author, principal,
version_name, is_have_depend, is_inner,
is_top)
values (#{flowVersionId,jdbcType=INTEGER}, #{addTime,jdbcType=TIMESTAMP}, #{alarmEmail,jdbcType=VARCHAR},
#{execType,jdbcType=CHAR}, #{flowCron,jdbcType=VARCHAR}, #{flowDesc,jdbcType=VARCHAR},
#{flowId,jdbcType=INTEGER}, #{flowName,jdbcType=VARCHAR}, #{flowNodeCount,jdbcType=INTEGER},
#{alarmlAction,jdbcType=CHAR}, #{scheduleFollow,jdbcType=CHAR}, #{priority,jdbcType=CHAR},
#{removeMark,jdbcType=CHAR}, #{repeatCount,jdbcType=INTEGER}, #{versionMark,jdbcType=CHAR},
#{workspaceId,jdbcType=INTEGER}, #{author,jdbcType=VARCHAR}, #{principal,jdbcType=VARCHAR},
#{versionName,jdbcType=VARCHAR}, #{isHaveDepend,jdbcType=CHAR}, #{isInner,jdbcType=CHAR},
#{isTop,jdbcType=CHAR})
</insert>
<insert id="insertSelective" parameterType="com.byit.model.FlowVersion"> <insert id="insertSelective" parameterType="com.byit.model.FlowVersion">
<!-- generated @mbg.generated date: 2019-12-25 --> <!-- generated @mbg.generated date: 2019-12-25 -->
insert into flow_version insert into flow_version
...@@ -274,30 +256,4 @@ ...@@ -274,30 +256,4 @@
</set> </set>
where flow_version_id = #{flowVersionId,jdbcType=INTEGER} where flow_version_id = #{flowVersionId,jdbcType=INTEGER}
</update> </update>
<update id="updateById" parameterType="com.byit.model.FlowVersion">
<!-- generated @mbg.generated date: 2019-12-25 -->
update flow_version
set add_time = #{addTime,jdbcType=TIMESTAMP},
alarm_email = #{alarmEmail,jdbcType=VARCHAR},
exec_type = #{execType,jdbcType=CHAR},
flow_cron = #{flowCron,jdbcType=VARCHAR},
flow_desc = #{flowDesc,jdbcType=VARCHAR},
flow_id = #{flowId,jdbcType=INTEGER},
flow_name = #{flowName,jdbcType=VARCHAR},
flow_node_count = #{flowNodeCount,jdbcType=INTEGER},
alarml_action = #{alarmlAction,jdbcType=CHAR},
schedule_follow = #{scheduleFollow,jdbcType=CHAR},
priority = #{priority,jdbcType=CHAR},
remove_mark = #{removeMark,jdbcType=CHAR},
repeat_count = #{repeatCount,jdbcType=INTEGER},
version_mark = #{versionMark,jdbcType=CHAR},
workspace_id = #{workspaceId,jdbcType=INTEGER},
author = #{author,jdbcType=VARCHAR},
principal = #{principal,jdbcType=VARCHAR},
version_name = #{versionName,jdbcType=VARCHAR},
is_have_depend = #{isHaveDepend,jdbcType=CHAR},
is_inner = #{isInner,jdbcType=CHAR},
is_top = #{isTop,jdbcType=CHAR}
where flow_version_id = #{flowVersionId,jdbcType=INTEGER}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -65,31 +65,7 @@ ...@@ -65,31 +65,7 @@
delete from node delete from node
where node_id = #{nodeId,jdbcType=INTEGER} where node_id = #{nodeId,jdbcType=INTEGER}
</delete> </delete>
<insert id="insert" parameterType="com.byit.model.Node">
<!-- generated @mbg.generated date: 2019-12-25 -->
insert into node (node_id, block_strategy, plugin_token,
failed_retry_count, flow_id, gateway_token,
job_type, handler_name, node_cron,
node_desc, node_name, map_flow_id,
node_timeout, is_virtual, plugin_urls,
priority, remaining_count, repeat_count,
failed_retry_interval, routing_strategy, run_param,
run_source_desc, script_urls, source_principal,
source_update_time, trigger_next_time, author,
add_time, version_name, on_fork,
run_command, run_source)
values (#{nodeId,jdbcType=INTEGER}, #{blockStrategy,jdbcType=VARCHAR}, #{pluginToken,jdbcType=VARCHAR},
#{failedRetryCount,jdbcType=INTEGER}, #{flowId,jdbcType=INTEGER}, #{gatewayToken,jdbcType=VARCHAR},
#{jobType,jdbcType=VARCHAR}, #{handlerName,jdbcType=VARCHAR}, #{nodeCron,jdbcType=VARCHAR},
#{nodeDesc,jdbcType=VARCHAR}, #{nodeName,jdbcType=VARCHAR}, #{mapFlowId,jdbcType=INTEGER},
#{nodeTimeout,jdbcType=BIGINT}, #{isVirtual,jdbcType=CHAR}, #{pluginUrls,jdbcType=VARCHAR},
#{priority,jdbcType=CHAR}, #{remainingCount,jdbcType=INTEGER}, #{repeatCount,jdbcType=INTEGER},
#{failedRetryInterval,jdbcType=BIGINT}, #{routingStrategy,jdbcType=VARCHAR}, #{runParam,jdbcType=VARCHAR},
#{runSourceDesc,jdbcType=VARCHAR}, #{scriptUrls,jdbcType=VARCHAR}, #{sourcePrincipal,jdbcType=VARCHAR},
#{sourceUpdateTime,jdbcType=DATE}, #{triggerNextTime,jdbcType=BIGINT}, #{author,jdbcType=VARCHAR},
#{addTime,jdbcType=TIMESTAMP}, #{versionName,jdbcType=VARCHAR}, #{onFork,jdbcType=CHAR},
#{runCommand,jdbcType=VARCHAR}, #{runSource,jdbcType=LONGVARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.byit.model.Node"> <insert id="insertSelective" parameterType="com.byit.model.Node">
<!-- generated @mbg.generated date: 2019-12-25 --> <!-- generated @mbg.generated date: 2019-12-25 -->
insert into node insert into node
...@@ -290,6 +266,7 @@ ...@@ -290,6 +266,7 @@
</if> </if>
</trim> </trim>
</insert> </insert>
<update id="updateByIdSelective" parameterType="com.byit.model.Node"> <update id="updateByIdSelective" parameterType="com.byit.model.Node">
<!-- generated @mbg.generated date: 2019-12-25 --> <!-- generated @mbg.generated date: 2019-12-25 -->
update node update node
...@@ -390,75 +367,5 @@ ...@@ -390,75 +367,5 @@
</set> </set>
where node_id = #{nodeId,jdbcType=INTEGER} where node_id = #{nodeId,jdbcType=INTEGER}
</update> </update>
<update id="updateByPrimaryKeyWithBLOBs" parameterType="com.byit.model.Node">
<!-- generated @mbg.generated date: 2019-12-25 -->
update node
set block_strategy = #{blockStrategy,jdbcType=VARCHAR},
plugin_token = #{pluginToken,jdbcType=VARCHAR},
failed_retry_count = #{failedRetryCount,jdbcType=INTEGER},
flow_id = #{flowId,jdbcType=INTEGER},
gateway_token = #{gatewayToken,jdbcType=VARCHAR},
job_type = #{jobType,jdbcType=VARCHAR},
handler_name = #{handlerName,jdbcType=VARCHAR},
node_cron = #{nodeCron,jdbcType=VARCHAR},
node_desc = #{nodeDesc,jdbcType=VARCHAR},
node_name = #{nodeName,jdbcType=VARCHAR},
map_flow_id = #{mapFlowId,jdbcType=INTEGER},
node_timeout = #{nodeTimeout,jdbcType=BIGINT},
is_virtual = #{isVirtual,jdbcType=CHAR},
plugin_urls = #{pluginUrls,jdbcType=VARCHAR},
priority = #{priority,jdbcType=CHAR},
remaining_count = #{remainingCount,jdbcType=INTEGER},
repeat_count = #{repeatCount,jdbcType=INTEGER},
failed_retry_interval = #{failedRetryInterval,jdbcType=BIGINT},
routing_strategy = #{routingStrategy,jdbcType=VARCHAR},
run_param = #{runParam,jdbcType=VARCHAR},
run_source_desc = #{runSourceDesc,jdbcType=VARCHAR},
script_urls = #{scriptUrls,jdbcType=VARCHAR},
source_principal = #{sourcePrincipal,jdbcType=VARCHAR},
source_update_time = #{sourceUpdateTime,jdbcType=DATE},
trigger_next_time = #{triggerNextTime,jdbcType=BIGINT},
author = #{author,jdbcType=VARCHAR},
add_time = #{addTime,jdbcType=TIMESTAMP},
version_name = #{versionName,jdbcType=VARCHAR},
on_fork = #{onFork,jdbcType=CHAR},
run_command = #{runCommand,jdbcType=VARCHAR},
run_source = #{runSource,jdbcType=LONGVARCHAR}
where node_id = #{nodeId,jdbcType=INTEGER}
</update>
<update id="updateById" parameterType="com.byit.model.Node">
<!-- generated @mbg.generated date: 2019-12-25 -->
update node
set block_strategy = #{blockStrategy,jdbcType=VARCHAR},
plugin_token = #{pluginToken,jdbcType=VARCHAR},
failed_retry_count = #{failedRetryCount,jdbcType=INTEGER},
flow_id = #{flowId,jdbcType=INTEGER},
gateway_token = #{gatewayToken,jdbcType=VARCHAR},
job_type = #{jobType,jdbcType=VARCHAR},
handler_name = #{handlerName,jdbcType=VARCHAR},
node_cron = #{nodeCron,jdbcType=VARCHAR},
node_desc = #{nodeDesc,jdbcType=VARCHAR},
node_name = #{nodeName,jdbcType=VARCHAR},
map_flow_id = #{mapFlowId,jdbcType=INTEGER},
node_timeout = #{nodeTimeout,jdbcType=BIGINT},
is_virtual = #{isVirtual,jdbcType=CHAR},
plugin_urls = #{pluginUrls,jdbcType=VARCHAR},
priority = #{priority,jdbcType=CHAR},
remaining_count = #{remainingCount,jdbcType=INTEGER},
repeat_count = #{repeatCount,jdbcType=INTEGER},
failed_retry_interval = #{failedRetryInterval,jdbcType=BIGINT},
routing_strategy = #{routingStrategy,jdbcType=VARCHAR},
run_param = #{runParam,jdbcType=VARCHAR},
run_source_desc = #{runSourceDesc,jdbcType=VARCHAR},
script_urls = #{scriptUrls,jdbcType=VARCHAR},
source_principal = #{sourcePrincipal,jdbcType=VARCHAR},
source_update_time = #{sourceUpdateTime,jdbcType=DATE},
trigger_next_time = #{triggerNextTime,jdbcType=BIGINT},
author = #{author,jdbcType=VARCHAR},
add_time = #{addTime,jdbcType=TIMESTAMP},
version_name = #{versionName,jdbcType=VARCHAR},
on_fork = #{onFork,jdbcType=CHAR},
run_command = #{runCommand,jdbcType=VARCHAR}
where node_id = #{nodeId,jdbcType=INTEGER}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -68,33 +68,7 @@ ...@@ -68,33 +68,7 @@
delete from node_version delete from node_version
where node_version_id = #{nodeVersionId,jdbcType=INTEGER} where node_version_id = #{nodeVersionId,jdbcType=INTEGER}
</delete> </delete>
<insert id="insert" parameterType="com.byit.model.NodeVersion">
<!-- generated @mbg.generated date: 2019-12-25 -->
insert into node_version (node_version_id, node_id, block_strategy,
pugin_token, failed_retry_count, flow_id,
flow_version_id, gateway_token, job_type,
handler_name, node_cron, node_desc,
node_name, map_flow_id, node_timeout,
is_virtual, plugin_urls, priority,
remove_mark, repeat_count, failed_retry_interval,
routing_strategy, run_param, run_source_desc,
script_urls, source_principal, source_update_time,
version_mark, author, add_time,
version_name, on_fork, run_command,
run_source)
values (#{nodeVersionId,jdbcType=INTEGER}, #{nodeId,jdbcType=INTEGER}, #{blockStrategy,jdbcType=VARCHAR},
#{puginToken,jdbcType=VARCHAR}, #{failedRetryCount,jdbcType=INTEGER}, #{flowId,jdbcType=INTEGER},
#{flowVersionId,jdbcType=INTEGER}, #{gatewayToken,jdbcType=VARCHAR}, #{jobType,jdbcType=VARCHAR},
#{handlerName,jdbcType=VARCHAR}, #{nodeCron,jdbcType=VARCHAR}, #{nodeDesc,jdbcType=VARCHAR},
#{nodeName,jdbcType=VARCHAR}, #{mapFlowId,jdbcType=INTEGER}, #{nodeTimeout,jdbcType=BIGINT},
#{isVirtual,jdbcType=VARCHAR}, #{pluginUrls,jdbcType=VARCHAR}, #{priority,jdbcType=CHAR},
#{removeMark,jdbcType=CHAR}, #{repeatCount,jdbcType=INTEGER}, #{failedRetryInterval,jdbcType=BIGINT},
#{routingStrategy,jdbcType=VARCHAR}, #{runParam,jdbcType=VARCHAR}, #{runSourceDesc,jdbcType=VARCHAR},
#{scriptUrls,jdbcType=VARCHAR}, #{sourcePrincipal,jdbcType=VARCHAR}, #{sourceUpdateTime,jdbcType=TIMESTAMP},
#{versionMark,jdbcType=VARCHAR}, #{author,jdbcType=VARCHAR}, #{addTime,jdbcType=TIMESTAMP},
#{versionName,jdbcType=VARCHAR}, #{onFork,jdbcType=CHAR}, #{runCommand,jdbcType=VARCHAR},
#{runSource,jdbcType=LONGVARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.byit.model.NodeVersion"> <insert id="insertSelective" parameterType="com.byit.model.NodeVersion">
<!-- generated @mbg.generated date: 2019-12-25 --> <!-- generated @mbg.generated date: 2019-12-25 -->
insert into node_version insert into node_version
...@@ -413,79 +387,5 @@ ...@@ -413,79 +387,5 @@
</set> </set>
where node_version_id = #{nodeVersionId,jdbcType=INTEGER} where node_version_id = #{nodeVersionId,jdbcType=INTEGER}
</update> </update>
<update id="updateByPrimaryKeyWithBLOBs" parameterType="com.byit.model.NodeVersion">
<!-- generated @mbg.generated date: 2019-12-25 -->
update node_version
set node_id = #{nodeId,jdbcType=INTEGER},
block_strategy = #{blockStrategy,jdbcType=VARCHAR},
pugin_token = #{puginToken,jdbcType=VARCHAR},
failed_retry_count = #{failedRetryCount,jdbcType=INTEGER},
flow_id = #{flowId,jdbcType=INTEGER},
flow_version_id = #{flowVersionId,jdbcType=INTEGER},
gateway_token = #{gatewayToken,jdbcType=VARCHAR},
job_type = #{jobType,jdbcType=VARCHAR},
handler_name = #{handlerName,jdbcType=VARCHAR},
node_cron = #{nodeCron,jdbcType=VARCHAR},
node_desc = #{nodeDesc,jdbcType=VARCHAR},
node_name = #{nodeName,jdbcType=VARCHAR},
map_flow_id = #{mapFlowId,jdbcType=INTEGER},
node_timeout = #{nodeTimeout,jdbcType=BIGINT},
is_virtual = #{isVirtual,jdbcType=VARCHAR},
plugin_urls = #{pluginUrls,jdbcType=VARCHAR},
priority = #{priority,jdbcType=CHAR},
remove_mark = #{removeMark,jdbcType=CHAR},
repeat_count = #{repeatCount,jdbcType=INTEGER},
failed_retry_interval = #{failedRetryInterval,jdbcType=BIGINT},
routing_strategy = #{routingStrategy,jdbcType=VARCHAR},
run_param = #{runParam,jdbcType=VARCHAR},
run_source_desc = #{runSourceDesc,jdbcType=VARCHAR},
script_urls = #{scriptUrls,jdbcType=VARCHAR},
source_principal = #{sourcePrincipal,jdbcType=VARCHAR},
source_update_time = #{sourceUpdateTime,jdbcType=TIMESTAMP},
version_mark = #{versionMark,jdbcType=VARCHAR},
author = #{author,jdbcType=VARCHAR},
add_time = #{addTime,jdbcType=TIMESTAMP},
version_name = #{versionName,jdbcType=VARCHAR},
on_fork = #{onFork,jdbcType=CHAR},
run_command = #{runCommand,jdbcType=VARCHAR},
run_source = #{runSource,jdbcType=LONGVARCHAR}
where node_version_id = #{nodeVersionId,jdbcType=INTEGER}
</update>
<update id="updateById" parameterType="com.byit.model.NodeVersion">
<!-- generated @mbg.generated date: 2019-12-25 -->
update node_version
set node_id = #{nodeId,jdbcType=INTEGER},
block_strategy = #{blockStrategy,jdbcType=VARCHAR},
pugin_token = #{puginToken,jdbcType=VARCHAR},
failed_retry_count = #{failedRetryCount,jdbcType=INTEGER},
flow_id = #{flowId,jdbcType=INTEGER},
flow_version_id = #{flowVersionId,jdbcType=INTEGER},
gateway_token = #{gatewayToken,jdbcType=VARCHAR},
job_type = #{jobType,jdbcType=VARCHAR},
handler_name = #{handlerName,jdbcType=VARCHAR},
node_cron = #{nodeCron,jdbcType=VARCHAR},
node_desc = #{nodeDesc,jdbcType=VARCHAR},
node_name = #{nodeName,jdbcType=VARCHAR},
map_flow_id = #{mapFlowId,jdbcType=INTEGER},
node_timeout = #{nodeTimeout,jdbcType=BIGINT},
is_virtual = #{isVirtual,jdbcType=VARCHAR},
plugin_urls = #{pluginUrls,jdbcType=VARCHAR},
priority = #{priority,jdbcType=CHAR},
remove_mark = #{removeMark,jdbcType=CHAR},
repeat_count = #{repeatCount,jdbcType=INTEGER},
failed_retry_interval = #{failedRetryInterval,jdbcType=BIGINT},
routing_strategy = #{routingStrategy,jdbcType=VARCHAR},
run_param = #{runParam,jdbcType=VARCHAR},
run_source_desc = #{runSourceDesc,jdbcType=VARCHAR},
script_urls = #{scriptUrls,jdbcType=VARCHAR},
source_principal = #{sourcePrincipal,jdbcType=VARCHAR},
source_update_time = #{sourceUpdateTime,jdbcType=TIMESTAMP},
version_mark = #{versionMark,jdbcType=VARCHAR},
author = #{author,jdbcType=VARCHAR},
add_time = #{addTime,jdbcType=TIMESTAMP},
version_name = #{versionName,jdbcType=VARCHAR},
on_fork = #{onFork,jdbcType=CHAR},
run_command = #{runCommand,jdbcType=VARCHAR}
where node_version_id = #{nodeVersionId,jdbcType=INTEGER}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -34,13 +34,7 @@ ...@@ -34,13 +34,7 @@
delete from source_history delete from source_history
where id = #{id,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR}
</delete> </delete>
<insert id="insert" parameterType="com.byit.model.SourceHistory">
<!-- generated @mbg.generated date: 2019-12-25 -->
insert into source_history (id, job_node_id, glue_remark,
add_time, glue_source)
values (#{id,jdbcType=VARCHAR}, #{jobNodeId,jdbcType=VARCHAR}, #{glueRemark,jdbcType=VARCHAR},
#{addTime,jdbcType=TIMESTAMP}, #{glueSource,jdbcType=LONGVARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.byit.model.SourceHistory"> <insert id="insertSelective" parameterType="com.byit.model.SourceHistory">
<!-- generated @mbg.generated date: 2019-12-25 --> <!-- generated @mbg.generated date: 2019-12-25 -->
insert into source_history insert into source_history
...@@ -98,21 +92,5 @@ ...@@ -98,21 +92,5 @@
</set> </set>
where id = #{id,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR}
</update> </update>
<update id="updateByPrimaryKeyWithBLOBs" parameterType="com.byit.model.SourceHistory">
<!-- generated @mbg.generated date: 2019-12-25 -->
update source_history
set job_node_id = #{jobNodeId,jdbcType=VARCHAR},
glue_remark = #{glueRemark,jdbcType=VARCHAR},
add_time = #{addTime,jdbcType=TIMESTAMP},
glue_source = #{glueSource,jdbcType=LONGVARCHAR}
where id = #{id,jdbcType=VARCHAR}
</update>
<update id="updateById" parameterType="com.byit.model.SourceHistory">
<!-- generated @mbg.generated date: 2019-12-25 -->
update source_history
set job_node_id = #{jobNodeId,jdbcType=VARCHAR},
glue_remark = #{glueRemark,jdbcType=VARCHAR},
add_time = #{addTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=VARCHAR}
</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