package com.vincent.rsf.server.system.entity; import java.text.SimpleDateFormat; import java.util.*; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.text.SimpleDateFormat; import java.util.Date; import java.text.SimpleDateFormat; import java.util.Date; import com.baomidou.mybatisplus.annotation.TableLogic; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.SpringUtils; import com.vincent.rsf.server.system.service.UserService; import com.vincent.rsf.server.system.entity.User; import java.io.Serializable; import java.util.Date; @Data @Accessors(chain = true) @TableName(value = "mission_task_path_template_merge", autoResultMap = true) public class TaskPathTemplateMerge implements Serializable { private static final long serialVersionUID = 1L; /** * 主键ID */ @ApiModelProperty(value= "主键ID") @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 模板编码,唯一标识 */ @ApiModelProperty(value= "模板编码,唯一标识") private String templateCode; /** * 模板名称 */ @ApiModelProperty(value= "模板名称") private String templateName; /** * 起点类型/起点系统标识 */ @ApiModelProperty(value= "起点类型/起点系统标识") private String sourceType; /** * 终点类型/终点系统标识 */ @ApiModelProperty(value= "终点类型/终点系统标识") private String targetType; /** * 条件表达式(JSON),用于更复杂的匹配 */ @ApiModelProperty(value = "条件表达式(JSON),用于更复杂的匹配") @TableField(typeHandler = JacksonTypeHandler.class) private List conditionExpression; /** * 条件描述,人工可读 */ @ApiModelProperty(value= "条件描述,人工可读") private String conditionDesc; /** * 版本号 */ @ApiModelProperty(value= "版本号") private Integer version; /** * 是否为当前生效版本 0-否 1-是 */ @ApiModelProperty(value= "是否为当前生效版本 0-否 1-是") private Short isCurrent; /** * 生效时间 */ @ApiModelProperty(value= "生效时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date effectiveTime; /** * 失效时间 */ @ApiModelProperty(value= "失效时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date expireTime; /** * 优先级 1-10,数字越小优先级越高 */ @ApiModelProperty(value= "优先级 1-10,数字越小优先级越高") private Short priority; /** * 整体超时时间(分钟) */ @ApiModelProperty(value= "整体超时时间(分钟)") private Integer timeoutMinutes; /** * 最大重试次数 */ @ApiModelProperty(value= "最大重试次数") private Integer maxRetryTimes; /** * 重试间隔(秒) */ @ApiModelProperty(value= "重试间隔(秒)") private Integer retryIntervalSeconds; /** * 状态 0-禁用 1-启用 */ @ApiModelProperty(value= "状态 0-禁用 1-启用") private Short status; /** * 备注 */ @ApiModelProperty(value= "备注") private String remark; /** * 创建人 */ @ApiModelProperty(value= "创建人") private Long createBy; /** * 更新人 */ @ApiModelProperty(value= "更新人") private Long updateBy; /** * 创建时间 */ @ApiModelProperty(value= "创建时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 更新时间 */ @ApiModelProperty(value= "更新时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date updateTime; /** * 步序长度 */ @ApiModelProperty(value= "步序长度") private Integer stepSize; /** * 租户 */ @ApiModelProperty(value= "租户") private Long tenantId; /** * 是否删除 1: 是 0: 否 */ @ApiModelProperty(value= "是否删除 1: 是 0: 否 ") @TableLogic private Long deleted; public TaskPathTemplateMerge() {} public String getEffectiveTime$(){ if (Cools.isEmpty(this.effectiveTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.effectiveTime); } public String getExpireTime$(){ if (Cools.isEmpty(this.expireTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.expireTime); } public String getCreateTime$(){ if (Cools.isEmpty(this.createTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } public String getUpdateTime$(){ if (Cools.isEmpty(this.updateTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } public Boolean getStatusBool(){ if (null == this.status){ return null; } switch (this.status){ case 1: return true; case 0: return false; default: return null; } } public String[] route(){ return new String[]{this.sourceType, this.targetType, this.stepSize.toString(), this.id.toString()}; } }