package cn.axzo.workflow.common.model.request.bpmn.process;

import cn.axzo.workflow.common.model.request.bpmn.task.AttachmentDTO;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;

/**
 * 抄送流程实例的入参模型
 *
 * @author wangli
 * @since 11/03/2024 18:32
 */
@ApiModel("抄送流程实例的入参模型")
@Data
public class BpmnProcessInstanceCarbonCopyDTO {

    /**
     * 流程实例 ID
     */
    @ApiModelProperty(value = "审批实例 ID")
    @NotBlank(message = "审批实例 ID 不能为空")
    private String processInstanceId;

    /**
     * 抄送意见
     */
    @ApiModelProperty(value = "抄送意见")
    private String advice;

    /**
     * 附件列表
     */
    @ApiModelProperty(value = "附件列表")
    private List<AttachmentDTO> attachmentList;

    /**
     * 被抄送人员
     */
    @ApiModelProperty(value = "被抄送人员")
    @NotEmpty(message = "被抄送人不能为空")
    private List<BpmnTaskDelegateAssigner> copyAssigners;
}
