package com.mortals.xhx.flowable;


import com.mortals.xhx.common.code.flowable.runtime.CommentTypeEnum;
import com.mortals.xhx.common.code.flowable.runtime.ProcessStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 流程执行过程中的基本参数Req
 *
 * @author: zxfei
 * @date: 2021/8/26 9:55
 */
@Data
public abstract class BaseTaskReq implements Serializable {
    /**********************任务相关的参数**********************/
    /**
     * 任务id 必填
     */
    @ApiModelProperty(value = "任务id" , required = true)
    private String taskId;
    /**
     * 流程实例的id
     */
    @ApiModelProperty(value = "流程实例的id" , required = true)
    private String processInstanceId;

    /**
     * 节点id 选填
     */
    @ApiModelProperty(value = "节点id")
    private String activityId;
    /**
     * 节点名称 选填
     */
    @ApiModelProperty(value = "节点名称")
    private String activityName;
    /**
     * 流程实例状态 必填
     */
    @ApiModelProperty(value = "流程实例状态" , required = true)
    private ProcessStatusEnum processStatusEnum;
    /**********************审批意见的参数**********************/
    /**
     * 操作人code 必填
     */
    @ApiModelProperty(value = "操作人code" , required = true)
    private String userCode;
    /**
     * 审批意见 必填
     */
    @ApiModelProperty(value = "审批意见" , required = true)
    private String message;
    /**
     * 审批意见类型 必填
     */
    @ApiModelProperty(value = "审批意见类型" , required = true)
    private CommentTypeEnum commentTypeEnum;

    /**
     * 候选人
     */
    private List<String> candidateUsers;
    /**
     * 审批组
     */
    private List<String> candidateGroups;

    private String action;

}
