package com.codvision.workflow.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.io.Serializable;
import java.util.Date;

/**
 * @author hxl
 */
@Data
@ApiModel
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("tbl_work_flow_data")
public class WorkFlowData implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("流程定义ID")
    private String definitionId;

    @ApiModelProperty("流程定义Key")
    private String definitionKey;

    @ApiModelProperty("流程部署ID")
    private String deployId;

    @ApiModelProperty("流程实例ID")
    private String instanceId;

    @ApiModelProperty("表单数据")
    private String formDataJson;

    @ApiModelProperty("创建者ID")
    private Integer creatorUid;

    @ApiModelProperty("创建者姓名")
    private String creatorName;

    @ApiModelProperty("创建者所属组织")
    private Integer creatorOid;

    @ApiModelProperty("流程状态")
    private Integer status;

    @ApiModelProperty("截止时间")
    private String deadlineTime;

    @ApiModelProperty("是否已超期")
    private Boolean isExpired;

    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty("创建时间")
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty("更新时间")
    private Date updateTime;
}
