package org.springblade.flow.engine.custom.constants;

/**
 * @author LoveMyOrange
 * @create 2021-09-21 18:21
 * @desc  在Activiti中需要定义的一些常量放到此类中
 */
public interface BasicActivitiConstants {
    /**
     * 这个值没啥用. 就是设置上 任性
     */
     String targetNameSpace="http://www.dingding.com";
    /**
     * 扩展属性 命名空间的 前缀符
     * 当为节点增加扩展属性时
     * 标准的做法是
     *  1>需要先在  bpmn20.xml 中 的 <definitions> 元素中添加一个 扩展命名空间
     *  后续扩展属性都使用这个命名空间 ,这样 Activiti 会认为这些元素不是内置的元素 自己开发人员自己扩展的
     *
     */
     String exActivitiPrefix="dingding";
    /**
     * 扩展属性 命名空间
     * XML的XSD文件通常都要绑定一个 URL  但是实际上绑定上也没有啥作用
     * 因为并不会进行真正意义的Http调用 , 只是为了区分是不同的命名空间而已
     */
     String exActivitiPrefixURL="http://dingding.com";
    /**
     * 开始节点的 id 固定死为 start
     */
    String startEventId="startEventId";
    /**
     * 开始节点后面的连线id 固定死为 statSequenceFlow
     */
    String startSequenceFlowId="statSequenceFlowId";
    /**
     * 结束事件的 id 固定位 endEventId
     */
    String endEventId="endEventId";
    /**
     * 开始节点上 配置 initiator 也是这个值得话  到时候  就可以支持 我发起流程了
     * 因为Activiti是识别这个值的 (applyUserId)
     */
    String startEventInitiator="applyUserId";
    /**
     *
     */
    String applyUserIdExpression="${applyUserId}";

    /**
     * 扩展属性的名称
     */
    String extensionAttributeName="exName";
    /**
     * 任务描述的分隔符
     */
    String taskDescriptionSeparator="'?'|";

    /**
     * 流程图的后缀, 在部署的时候  name需要这样设置
     * 如果不设置后缀,那么会导致  deployment表有数据, 但是 procdef表没有数据
     */
    String bpmnSuffix=".bpmn";
    /**
     * 必要性?
     * 因为 流程引擎的 key值 id 值等值 都不能以 数字开头 否则 直接报错  NCName 不是有效值
     */
    String activitiPrefix="activiti_";


    String USERTASK_COLLECTION_SUBFFIX = "List";
    String USERTASK_JOIN_COMPLETED_PERCENT_SUBFFIX = "CompletedPercent";

    /**
     * ReceiveTask 触发到期 使用的 key前缀
     * 全称: prefix-流程实例id-执行实例id
     */
    String RECEIVE_TASK_TIME_KEY_PREFIX="ProcessEngine";
    /**
     * UserTask 触发到期使用的 key前缀
     */
    String USER_TASK_TIME_KEY_PREFIX="UserTask";


}
