package com.yuchen.saas.flow.api.dto.req;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhouhanwei
 * @since 2024-02-22
 */
@Data
public class SaasFlowFormStaffApplySettingUpdateReqDTO {

    /**
     * id
     */
    @ApiModelProperty(name = "id", value = "id")
    @NotNull(message = "id is required")
    private Long id;

    /**
     * 0 开启审批流 1=停用审批流
     */
    @ApiModelProperty(name = "stopFlag", value = "0 开启审批流 1=停用审批流")
    private Boolean stopFlag;

    /**
     * 可见类型（1：全员可见。2：指定部门可见。3：指定人员可见）
     */
    @ApiModelProperty(name = "visibilityType", value = "可见类型（1：全员可见。2：指定部门可见。3：指定人员可见）")
    private String visibilityType;


    @ApiModelProperty(name = "visibilityTypeDetails", value = "可见类型明细")
    private List<VisibilityTypeDetails> visibilityTypeDetails;
    @Data
    public static class VisibilityTypeDetails{


        /**
         * 可见类型（1：全员可见。2：指定部门可见。3：指定人员可见）
         */
        @ApiModelProperty(name = "visibilityType", value = "可见类型（1：全员可见。2：指定部门可见。3：指定人员可见）")
        private String visibilityType;
        /**
         * 可见类型为2为部门id，3：为组织用户id
         */
        @ApiModelProperty(name = "relatedId", value = "可见类型为2为部门id，3：为组织用户id")
        private String relatedId;

    }
}
