package cn.axzo.workflow.core.common.code;

import cn.axzo.framework.domain.web.code.IModuleRespCode;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 流程定义响应码
 *
 * @author wangli
 * @since 2023/12/14 16:34
 */
@Getter
@AllArgsConstructor
public enum BpmnProcessDefinitionRespCode implements IModuleRespCode {
    PROCESS_DEFINITION_BPMN_NOT_EXISTS("001", "模型ID【{}】的定义内容不存在"),
    PROCESS_DEFINITION_ID_NOT_EXISTS("002", "流程定义ID【{}】不存在"),
    PROCESS_DEFINITION_DEPLOY_ID_NOT_EXISTS("003", "流程定义部署ID【{}】不存在"),
    PROCESS_DEFINITION_KEY_NOT_EXISTS("004", "流程定义KEY【{}】不存在"),
    PROCESS_DEFINITION_RESULT_TOO_MANY("005", "租户【{}】中存在多条分类为【{}】的流程定义,不允许直接变更状态"),
    PROCESS_DEFINITION_IS_SUSPENDED("006", "流程定义KEY【{}】处于挂起状态"),
    PROCESS_DEFINITION_KEY_NOT_MATCH("007", "流程定义的标识不一致, 请修改 BPMN 流程图"),
    PROCESS_DEFINITION_NAME_NOT_MATCH("008", "流程定义的名字期望是({})，当前是({})，请修改 BPMN 流程图"),
    PROCESS_DEFINITION_HAS_DIRTY_DATA("009", "流程定义KEY【{}】存在脏数据，当前模型没有流程定义内容")
    ;
    private String code;
    private String message;

    @Override
    public String getModuleCode() {
        return "04";
    }

    @Override
    public String getProjectCode() {
        return "998";
    }

    public void setCode(String code) {
        this.code = code;
    }


    public void setMessage(String message) {
        this.message = message;
    }
}
