package com.zm.order.tool.server.service;

import com.zm.util.dto.ExceptionInfo;


/**
 * @author penghui
 */
public interface ExceptionConstants {


    /**
     * 通用异常
     */
    ExceptionInfo OK = new ExceptionInfo(200, "");
    ExceptionInfo SYSTEM_ERROR = new ExceptionInfo(500, "系统错误");
    ExceptionInfo ADD_ORDER_NO_INDEX_ERROR = new ExceptionInfo(20022, "添加订单号索引失败");

    /**
     * 参数异常
     */
    ExceptionInfo PARAM_IS_EMPTY = new ExceptionInfo(10001, "参数为空!");
    ExceptionInfo PARAM_ORDER_NO_LIST_IS_EMPTY = new ExceptionInfo(10002, "订单号列表参数为空");
    ExceptionInfo PARAM_ORDER_NO_IS_EMPTY = new ExceptionInfo(10003, "订单号参数为空");
    ExceptionInfo PARAM_DB_INDEX_IS_EMPTY = new ExceptionInfo(10004, "指定库库参数为空!");
    ExceptionInfo PARAM_TB_INDEX_IS_EMPTY = new ExceptionInfo(10005, "指定表参数为空!");
    ExceptionInfo PARAM_SIZE_IS_EMPTY = new ExceptionInfo(10027, "数量参数为空");
    ExceptionInfo PARAM_LAST_ID_IS_EMPTY = new ExceptionInfo(10053, "上一个id参数为空");
    ExceptionInfo PARAM_PAGES_IS_EMPTY = new ExceptionInfo(10054, "分页参数为空");
    ExceptionInfo PARAM_REFUND_SELECT_IS_EMPTY = new ExceptionInfo(10055, "退款单查询参数为空");
    ExceptionInfo PARAM_TOOL_INTERFACE_IS_EMPTY = new ExceptionInfo(10058, "创建接口地址表有参数为空");
    ExceptionInfo PARAM_TEMPORARY_TASK_IS_EMPTY = new ExceptionInfo(10060, "调用临时任务有参数为空");
    ExceptionInfo PARAM_ID_TASK_IS_EMPTY = new ExceptionInfo(10061, "参数id为空");
    ExceptionInfo PARAM_AFTER_STATUS_IS_EMPTY = new ExceptionInfo(10062, "后置状态流为空");
    ExceptionInfo PARAM_BEFORE_STATUS_IS_EMPTY = new ExceptionInfo(10063, "前置状态流为空");
    ExceptionInfo PARAM_BIZ_TYPES_IS_EMPTY = new ExceptionInfo(10063, "业务类型为空");
    ExceptionInfo PARAM_DOC_TYPES_IS_EMPTY = new ExceptionInfo(10064, "单据类型为空");
    ExceptionInfo PARAM_USER_ID_IS_EMPTY = new ExceptionInfo(10065, "用户id为空");
    ExceptionInfo PARAM_BIZ_TYPES_NOT_STANDARD = new ExceptionInfo(10066, "业务类型参数不符合规范");
    ExceptionInfo PARAM_DOC_TYPES_NOT_STANDARD = new ExceptionInfo(10067, "单据类型参数不符合规范");
    ExceptionInfo PARAM_PROPERTY_IS_EMPTY = new ExceptionInfo(10068, "元数据值为空");
    ExceptionInfo PARAM_VALUE_IS_EMPTY = new ExceptionInfo(10069, "元数据值为空");
    ExceptionInfo PARAM_DESCRIPTION_IS_EMPTY = new ExceptionInfo(10070, "元数据描述值为空");
    ExceptionInfo PARAM_BIZ_TYPE_IS_EMPTY = new ExceptionInfo(10071, "元数据业务类型为空");
    ExceptionInfo PARAM_METADATA_LIST_IS_EMPTY = new ExceptionInfo(10072, "元数据值列表为空");



     /**
     * 业务异常
     */
     ExceptionInfo CREATE_ORDER_ERROR = new ExceptionInfo(20001, "创建订单失败");
    ExceptionInfo SYNC_ORDER_ES_ERROR = new ExceptionInfo(20005, "同步订单失败");
    ExceptionInfo SYNC_ES_ERROR = new ExceptionInfo(20013, "同步es失败");
    ExceptionInfo ORDER_NOT_EXISTS = new ExceptionInfo(20014, "订单不存在");
    ExceptionInfo ORDER_NO_INDEX_NOT_EXISTS = new ExceptionInfo(20016, "订单号索引不存在");
    ExceptionInfo QUERY_COUNT_OVERLOAD = new ExceptionInfo(20024, "查询数量过载");
    ExceptionInfo NO_SELECT_ORDER = new ExceptionInfo(20027, "未查到订单");
    ExceptionInfo FLOW_ALREADY_EXIST = new ExceptionInfo(20028, "状态流已存在");
    ExceptionInfo STORE_NOT_ORDER = new ExceptionInfo(20029, "门店没有排队订单");
    ExceptionInfo ORDER_NOT_LINEUP = new ExceptionInfo(20030, "订单没有排队记录");
    ExceptionInfo EXISTING_THREAD_IS_RUNNING = new ExceptionInfo(20031, "已经存在线程在运行");
    ExceptionInfo ACTIVITY_INFO_ERROR = new ExceptionInfo(20032, "活动信息异常");
    ExceptionInfo PARAM_RUN_IS_EMPTY = new ExceptionInfo(20033, "执行参数为空");
    ExceptionInfo ORDER_STATUS_FLOWS_ANALYZE = new ExceptionInfo(20034, "状态流解析为空,(可能数据库已存在)");
    ExceptionInfo METADATA_IS_EXIST = new ExceptionInfo(20035, "元数据已存在");



    /**
     * 非业务异常
     */
    ExceptionInfo DELETE_REDIS_ERROR = new ExceptionInfo(30006, "删除redis失败");
    ExceptionInfo SET_REDIS_ERROR = new ExceptionInfo(30007, "写入redis失败");
    ExceptionInfo GET_REDIS_ERROR = new ExceptionInfo(30008, "查询redis失败");
    ExceptionInfo ORDER_NOT_COMPLETED = new ExceptionInfo(30010, "此订单制作还未完成");
    ExceptionInfo DATA_TRANSFER_SERVE_ERROR = new ExceptionInfo(30011, "数据迁移服务执行失败");
    ExceptionInfo SYNC_ORDER_ERROR = new ExceptionInfo(30012, "同步订单数据失败");



}
