package cn.axzo.workflow.common.enums;


import cn.axzo.workflow.common.constant.BpmnBtnActionConstants;

/**
 * Flowable Event Enum For RocketMQ
 *
 * @author wangli
 * @since 2023/9/4 10:38
 */
public enum BpmnButtonEnum {

    /**
     * 同意按钮
     */
    BPMN_APPROVE(1, "BPMN_APPROVE", "同意", BpmnBtnActionConstants.BPMN_APPROVE_URL),


    /**
     * 拒绝按钮
     */
    BPMN_REJECT(2, "BPMN_REJECT", "拒绝", BpmnBtnActionConstants.BPMN_REJECT_URL),

    /**
     * 撤回按钮
     */
    BPMN_REVOCATION(3, "BPMN_REVOCATION", "撤回", BpmnBtnActionConstants.BPMN_REVOCATION_URL),

    /**
     * 转交按钮
     */
    BPMN_FORWARD(4, "BPMN_FORWARD", "转交", BpmnBtnActionConstants.BPMN_FORWARD_URL),


    /**
     * 加签按钮
     */
    BPMN_COUNTERSIGN(5, "BPMN_COUNTERSIGN", "加签", BpmnBtnActionConstants.BPMN_COUNTERSIGN_URL),
    /**
     * 评论按钮
     */
    BPMN_COMMENT(6, "BPMN_COMMENT", "评论", BpmnBtnActionConstants.BPMN_COMMENT_URL),


    /**
     * 回退按钮
     */
    BPMN_ROLLBACK(7, "BPMN_ROLLBACK", "回退", BpmnBtnActionConstants.BPMN_ROLLBACK_URL),

    /**
     * 抄送按钮
     */
    BPMN_COPY(8, "BPMN_COPY", "抄送", BpmnBtnActionConstants.BPMN_COPY_URL);

    public int getOrder() {
        return order;
    }

    public String getBtnKey() {
        return btnKey;
    }

    public String getBtnName() {
        return btnName;
    }

    private final int order;
    private final String btnKey;
    private final String btnAction;
    private final String btnName;


    BpmnButtonEnum(int order, String btnKey, String btnName, String btnAction) {
        this.order = order;
        this.btnKey = btnKey;
        this.btnName = btnName;
        this.btnAction = btnAction;
    }

    public String getBtnAction() {
        return btnAction;
    }
}
