package cn.axzo.workflow.common.code;

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

/**
 * 流程模型响应码
 *
 * @author wangli
 * @since 2023/12/14 16:25
 */
@Getter
@AllArgsConstructor
public enum BpmnModelRespCode implements IModuleRespCode {
    MODEL_KEY_EXISTS("001", "已经存在流程标识为【{}】的流程"),
    MODEL_ID_NOT_EXISTS("002", "流程模型ID【{}】不存在"),
    MODEL_KEY_NOT_EXISTS("003", "流程模型KEY【{}】不存在"),
    MODEL_NOT_EXISTS("004", "流程模型不存在"),
    BPMN_BYTES_NOT_EXISTS("005", "模型定义内容字节码不存在"),
    MODEL_IS_DISABLE("006", "模型已经被停用"),
    MODEL_FILE_TAG_DUPLICATE("007", "模型关联的文档业务标签重复"),
    MODEL_FILE_TAG_EXISTS("008", "模型关联的文档业务标签已存在"),
    MODEL_FILE_NOT_EXISTS("009", "模型关联的文档不存在或已被删除"),
    MODEL_FILE_CLONE_ERROR("010", "克隆文档失败, 原因：【{}】"),
    MODEL_FILE_TYPE_CLONE_NOT_SUPPORT("011", "不支持的文档类型克隆"),
    MODEL_FILE_CONTENT_DATA_ERROR("012", "文档内容数据异常"),
    MODEL_FILE_QUERY_ERROR("013", "文档搜索参数实例 ID 和业务 ID 不能同时为空"),
    MODEL_FILE_HIPRINT_ID_INVAILD("014", "查询HiPrint文档主键参数非法"),
    MODEL_FILE_REPLACE_CONTENT_ERROR("015", "替换文档变量失败，原因：【{}】"),
    ;

    private final String code;
    private final String message;

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

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


}
