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 FlowableEngineRespCode implements IModuleRespCode {
    ENGINE_EXECUTION_LOST_ID_ERROR("001", "Execution 丢失"),
    ENGINE_USER_TASK_CALC_ERROR("002", "计算用户任务节点【nodeId:{}】的审批人发生异常, 配置类型:【{}】, 异常信息:【{}】"),
    ENGINE_USER_TASK_TYPE_NOT_SUPPORT("003", "审批指定方式暂不支持"),
    ENGINE_USER_TASK_PARAM_ERROR("004", "构建后的查询审批人入参为空. 任务节点【nodeId:{}】, 该节点选择的\"审批人所在范围\"是:【{}】,请检查 cooperationOrg 参数"),
    ENGINE_NOTICE_CUSTOM_FLOW_ELEMENT_ERROR("005", "查询通知目标用户前参数发生异常,未获取到 WorkspaceType"),
    ENGINE_ASYNC_COMMAND_EXECUTION_ERROR("006", "引擎出现 SQL 相关异常, 异常信息:【{}】"),
    ENGINE_ASYNC_COMMAND_EXECUTION_RETRY_GIVE_UP("007", "命令重试尝试【{}】次仍然失败，并出现异常, 将放弃, 错误信息：{}"),
    ENGINE_POSITION_V2_CONFIG_INVALID("008", "新版本岗位配置不合法, 缺少【{}】, nodeId：【{}】"),
    ENGINE_ROLE_V2_CONFIG_INVALID("009", "新版本角色配置不合法, 缺少【{}】, nodeId：【{}】"),
    ENGINE_IDENTITY_V2_CONFIG_INVALID("009", "新版本身份配置不合法, 缺少【{}】, nodeId：【{}】"),
    ;

    private final String code;
    private final String message;

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

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

}
