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

import com.thinkunion.park.service.common.constant.GroupAction;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;

/**
 * @author zhouhanwei
 * @create 2024/3/4 9:52
 */
@Data
public class SaasFlowDataSubmitReqDTO {

    @NotNull(groups = GroupAction.UpdateAction.class, message = "id不能为空")
    @Null(groups = GroupAction.InsertAction.class, message = "id必须为空")
    private Long id;
    /**
     * 表单id
     */
    private String flowId;
    /**
     * 表单流程标识
     */
    @ApiModelProperty(name = "formFlowCode", value = "表单流程标识")
    private String formFlowCode;
    /**
     * 表单名称/别名
     */
    @ApiModelProperty(name = "name", value = "表单名称/别名")
    private String name;
    /**
     * 申请维度
     */
    @ApiModelProperty(name = "applyDimensionality", value = "申请维度")
    private String applyDimensionality;
    /**
     * 表单设置内容
     */
    @ApiModelProperty(name = "formItems", value = "表单设置内容")
    private String formItems;
    /**
     * 流程设置内容
     */
    @ApiModelProperty(name = "process", value = "流程设置内容")
    private String process;
    /**
     * 设置项
     */
    @ApiModelProperty(name = "settings", value = "设置项")
    private String settings;
    /**
     * 0 开启审批流 1=停用审批流
     */
    @ApiModelProperty(name = "stopFlag", value = "0 开启审批流 1=停用审批流 ")
    private Boolean stopFlag;

    /**
     * 所属业务
     */
    @ApiModelProperty(name = "belongBusiness", value = "所属业务")
    private Long belongBusiness;
    /**
     * 客户id
     */
    @ApiModelProperty(name = "customerId", value = "客户id")
    private Long customerId;

    @ApiModelProperty(name = "formFlowMark", value = "表单流程标识区分纬度(如园区id,停车场id,社区id,如组成树形结构取设置流程时节点的id)[{key:value},{key:value}]，" +
            "创建流程自己定义进来(如用来区分相同业务时不同园区或社区的审批流程),启动流程的对应着传进来,顺序跟创建的时候一致")
    private String formFlowMark;
}
