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

import com.zm.util.dto.ExceptionInfo;


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


    /**
     * 通用异常
     */
    ExceptionInfo OK = new ExceptionInfo(200, "");
    ExceptionInfo SYSTEM_ERROR = new ExceptionInfo(500, "系统错误");

    /**
     * 参数异常
     */
    ExceptionInfo PARAM_IS_EMPTY = new ExceptionInfo(10001, "参数为空!");
    ExceptionInfo PARAM_USER_ID_IS_EMPTY = new ExceptionInfo(10002, "用户ID参数为空");
    ExceptionInfo PARAM_ORDER_NO_IS_EMPTY = new ExceptionInfo(10003, "订单号参数为空");
    ExceptionInfo PARAM_SELLER_ID_IS_EMPTY = new ExceptionInfo(1004, "商家ID参数为空");
    ExceptionInfo PARAM_BIZ_TYPE_IS_EMPTY = new ExceptionInfo(10005, "业务类型参数为空");
    ExceptionInfo PARAM_ACTUAL_AMOUNT_IS_EMPTY = new ExceptionInfo(10006, "实付金额参数为空");
    ExceptionInfo PARAM_ORDER_TYPE_IS_EMPTY = new ExceptionInfo(10007, "订单类型参数为空");
    ExceptionInfo PARAM_STORE_ID_IS_EMPTY = new ExceptionInfo(10008, "门店ID参数为空");
    ExceptionInfo PARAM_SOURCE_IS_EMPTY = new ExceptionInfo(10009, "订单来源参数为空");
    ExceptionInfo PARAM_SOURCE_NO_IS_EMPTY = new ExceptionInfo(10010, "来源单号参数为空");
    ExceptionInfo PARAM_TOTAL_AMOUNT_IS_EMPTY = new ExceptionInfo(10011, "订单总金额参数为空");
    ExceptionInfo PARAM_ITEM_ID_IS_EMPTY = new ExceptionInfo(10012, "商品ID参数为空");
    ExceptionInfo PARAM_ITEM_NAME_IS_EMPTY = new ExceptionInfo(10013, "商品名称参数为空");
    ExceptionInfo PARAM_DEAL_PRICE_IS_EMPTY = new ExceptionInfo(10014, "商品成交价参数为空");
    ExceptionInfo PARAM_USER_ID_ORDER_NO_IS_EMPTY = new ExceptionInfo(10015, "用户ID和订单号参数为空");
    ExceptionInfo PARAM_NUM_IS_EMPTY = new ExceptionInfo(10016, "商品数量参数为空");
    ExceptionInfo PARAM_DISCOUNT_ID_IS_EMPTY = new ExceptionInfo(10017, "折扣标识参数为空");
    ExceptionInfo PARAM_DISCOUNT_NAME_IS_EMPTY = new ExceptionInfo(10018, "折扣名称参数为空");
    ExceptionInfo PARAM_DISCOUNT_AMOUNT_IS_EMPTY = new ExceptionInfo(10019, "折扣金额参数为空");
    ExceptionInfo PARAM_DISCOUNT_TYPE_IS_EMPTY = new ExceptionInfo(10020, "折扣类型参数为空");
    ExceptionInfo PARAM_PAY_TYPE_IS_EMPTY = new ExceptionInfo(10021, "支付类型参数为空");
    ExceptionInfo PARAM_PAY_AMOUNT_IS_EMPTY = new ExceptionInfo(10022, "支付金额参数为空");
    ExceptionInfo PARAM_PAYER_IS_EMPTY = new ExceptionInfo(10023, "付款人参数为空");
    ExceptionInfo PARAM_OPERATOR_IS_EMPTY = new ExceptionInfo(10024, "操作人参数为空");
    ExceptionInfo PARAM_ROLE_IS_EMPTY = new ExceptionInfo(10025, "角色参数为空");
    ExceptionInfo PARAM_OPERATION_IS_EMPTY = new ExceptionInfo(10026, "操作类型参数为空");
    ExceptionInfo PARAM_SIZE_IS_EMPTY = new ExceptionInfo(10027, "数量参数为空");
    ExceptionInfo PARAM_SELLER_ID_USER_ID_IS_EMPTY = new ExceptionInfo(10028, "商家ID和用户ID参数为空");
    ExceptionInfo PARAM_REFUND_NO_IS_EMPTY = new ExceptionInfo(10029, "退款单号参数为空");
    ExceptionInfo PARAM_REFUND_AMOUNTS_IS_EMPTY = new ExceptionInfo(10030, "退余额或退三方的参数为空");
    ExceptionInfo PARAM_REFUND_APPLICANT_IS_EMPTY = new ExceptionInfo(10031, "退款申请人参数为空");
    ExceptionInfo PARAM_REFUND_ITEM_ID_IS_EMPTY = new ExceptionInfo(10032, "退款商品id参数为空");
    ExceptionInfo PARAM_REFUND_ITEM_AMOUNT_IS_EMPTY = new ExceptionInfo(10033, "退款商品金额参数为空");
    ExceptionInfo PARAM_REFUND_ITEM_NUM_IS_EMPTY = new ExceptionInfo(10034, "退款商品数量参数为空");
    ExceptionInfo PARAM_REFUND_TYPE_IS_EMPTY = new ExceptionInfo(10035, "退款类型参数为空");
    ExceptionInfo PARAM_REFUND_USER_ID_IS_EMPTY = new ExceptionInfo(10036, "退款类型用户ID为空");
    ExceptionInfo PARAM_PERFORMANCE_TYPE_IS_EMPTY = new ExceptionInfo(10037, "履约类型参数为空");
    ExceptionInfo PARAM_FREIGHT_AMOUNT_IS_EMPTY = new ExceptionInfo(10038, "运费金额参数为空");
    ExceptionInfo PARAM_IS_IMMEDIATE_PERFORMANCE_IS_EMPTY = new ExceptionInfo(10039, "是否立即履约参数为空");
    ExceptionInfo PARAM_ITEM_AMOUNT_IS_EMPTY = new ExceptionInfo(10040, "商品金额参数为空");
    ExceptionInfo PARAM_PAY_MODEL_IS_EMPTY = new ExceptionInfo(10041, "支付模式参数为空");
    ExceptionInfo PARAM_OLD_USER_IS_EMPTY = new ExceptionInfo(10042, "老用户id参数为空");
    ExceptionInfo PARAM_NEW_USER_IS_EMPTY = new ExceptionInfo(10043, "新用户id参数为空");
    ExceptionInfo PARAM_NO_IS_EMPTY = new ExceptionInfo(10044, "关联单号参数为空");
    ExceptionInfo PARAM_ADJUST_ITEM_IS_EMPTY = new ExceptionInfo(10045, "调整商品参数为空");
    ExceptionInfo PARAM_RETURN_ITEM_ID_IS_EMPTY = new ExceptionInfo(10046, "退商品id参数为空");
    ExceptionInfo PARAM_ORDER_ITEM_ID_LIST_IS_EMPTY = new ExceptionInfo(10047, "订单商品id列表参数为空");
    ExceptionInfo PARAM_ORDER_ITEM_EXTRA_MAP_IS_EMPTY = new ExceptionInfo(10048, "订单商品扩展信息参数为空");
    ExceptionInfo PARAM_ORDER_STATUS_IS_EMPTY = new ExceptionInfo(10049, "订单状态参数为空");
    ExceptionInfo PARAM_ITEM_MARKET_PRICE_IS_EMPTY = new ExceptionInfo(10050, "订单商品市场价参数为空");
    ExceptionInfo PARAM_ITEM_COST_PRICE_IS_EMPTY = new ExceptionInfo(10051, "订单商品成本价参数为空");
    ExceptionInfo PARAM_ORDER_NO_SOURCE_NO_IS_EMPTY = new ExceptionInfo(10052, "订单号和来源单号参数为空");
    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_REFUND_COUNT_MONEY_IS_EMPTY = new ExceptionInfo(10056, "退款支付金额查询参数为空");
    ExceptionInfo PARAM_ORDER_ITEM_ACTIVITY_ID_IS_EMPTY = new ExceptionInfo(10057, "活动列表或者订单号查询参数为空");
    ExceptionInfo PARAM_SEARCH_ORDER_BIZ_IS_EMPTY = new ExceptionInfo(10058, "缺少业务参数");
    ExceptionInfo PARAM_EXPORT_TYPE_IS_EMPTY = new ExceptionInfo(10059, "导出类型参数为空");
    ExceptionInfo PARAM_PERFORMANCE_IS_EMPTY = new ExceptionInfo(10060, "履约信息为空");
    ExceptionInfo PARAM_CODE_IS_EMPTY = new ExceptionInfo(10061, "自提码为空");
    ExceptionInfo PARAM_CODE_URL_IS_EMPTY = new ExceptionInfo(10062, "自提码图片为空");
    ExceptionInfo PARAM_BAR_CODE_URL_IS_EMPTY = new ExceptionInfo(10063, "提货条形码图片为空");
    ExceptionInfo PARAM_VERIFICATION_TYPE_IS_EMPTY = new ExceptionInfo(10064, "核销类型为空");
    ExceptionInfo PARAM_PICK_UP_IS_EMPTY = new ExceptionInfo(10065, "预约核销时间为空");
    ExceptionInfo PARAM_PICK_UP_STATUS_EMPTY = new ExceptionInfo(10066, "预约核销时间为空");
    ExceptionInfo PARAM_CONDITION3FLAG_RELATED_IS_EMPTY = new ExceptionInfo(10067, "condition3Flag关联参数为空");
    ExceptionInfo PARAM_SELF_TAKE_IS_EMPTY = new ExceptionInfo(10068, "预约核销时间为空");
    ExceptionInfo PARAM_SELF_TAKE_STATUS_IS_EMPTY = new ExceptionInfo(10069, "自提状态为空");
    ExceptionInfo AMOUNT_COUNT_PARAM_IS_EMPTY = new ExceptionInfo(10070, "期望统计金额字段不存在");
    ExceptionInfo STATISTIC_TYPE_IS_EMPTY = new ExceptionInfo(10071, "统计类型不存在");
    ExceptionInfo DELETE_TYPE_PARAM_IS_EMPTY = new ExceptionInfo(10072, "删除类型参数为空");
    ExceptionInfo PARAM_AMOUNT_FIELD_IS_EMPTY = new ExceptionInfo(10073, "金额字段为空");
    ExceptionInfo PARAM_INCOME_AMOUNT_FIELD_LIST_IS_EMPTY = new ExceptionInfo(10074, "收入金额字段列表为空");
    ExceptionInfo PARAM_EXPEND_AMOUNT_FIELD_LIST_IS_EMPTY = new ExceptionInfo(10075, "支出金额字段列表为空");
    ExceptionInfo PARAM_INCOME_AMOUNT_FIELD_LIST_IS_ERROR = new ExceptionInfo(10076, "收入金额字段有误");
    ExceptionInfo PARAM_EXPEND_AMOUNT_FIELD_LIST_IS_ERROR = new ExceptionInfo(10077, "支出金额字段列表有误");
    ExceptionInfo PARAM_DATE_IS_EMPTY = new ExceptionInfo(10078, "时间字段为空");
    ExceptionInfo PARAM_ORDER_NO_LIST_IS_EMPTY = new ExceptionInfo(10079, "订单号列表数据为空");
    ExceptionInfo PARAM_DATE_IS_ILLEGAL = new ExceptionInfo(10080, "时间参数不合法");
    ExceptionInfo PARAM_DATE_SPAN_EXCEEDS_THRESHOLD = new ExceptionInfo(10081, "时间跨度超过阈值");
    ExceptionInfo PARAM_USER_ID_ERROR = new ExceptionInfo(10082, "用户id参数非法");
    ExceptionInfo PARAM_REFUND_ITEM_SOURCE_ID_IS_EMPTY = new ExceptionInfo(10083, "退款商品来源id参数为空");
    ExceptionInfo PARAM_ORDER_NO_STORE_ID_IS_EMPTY = new ExceptionInfo(10084, "订单号或者门店id为空");


    /**
     * 业务异常
     */
    ExceptionInfo CREATE_ORDER_ERROR = new ExceptionInfo(20001, "创建订单失败");
    ExceptionInfo CONFIRM_ORDER_ERROR = new ExceptionInfo(20002, "确认订单失败");
    ExceptionInfo OPERATE_ORDER_ERROR = new ExceptionInfo(20003, "操作订单失败");
    ExceptionInfo PERFORMANCE_ORDER_ERROR = new ExceptionInfo(20004, "履约订单失败");
    ExceptionInfo SYNC_ORDER_ES_ERROR = new ExceptionInfo(20005, "同步订单失败");
    ExceptionInfo BIND_ORDER_ERROR = new ExceptionInfo(20006, "绑定订单失败");
    ExceptionInfo ADJUST_ORDER_ITEM_ERROR = new ExceptionInfo(20007, "调整订单商品失败");
    ExceptionInfo OPERATE_ORDER_ITEM_ERROR = new ExceptionInfo(20008, "操作订单商品失败");
    ExceptionInfo ADD_ORDER_DISCOUNT_ERROR = new ExceptionInfo(20009, "添加优惠失败");
    ExceptionInfo DELETE_ORDER_ERROR = new ExceptionInfo(20010, "删除订单失败");
    ExceptionInfo AUTO_CANCEL_ORDER_ERROR = new ExceptionInfo(20011, "自动取消订单失败");
    ExceptionInfo UPDATE_ORDER_ERROR = new ExceptionInfo(20012, "并发更新订单失败");
    ExceptionInfo SYNC_ES_ERROR = new ExceptionInfo(20013, "同步es失败");
    ExceptionInfo ORDER_NOT_EXISTS = new ExceptionInfo(20014, "订单不存在");
    ExceptionInfo MULTIPLE_ORDER_MEET_CONDITION = new ExceptionInfo(20015, "存在多张订单满足条件");
    ExceptionInfo ORDER_NO_INDEX_NOT_EXISTS = new ExceptionInfo(20016, "订单号索引不存在");
    ExceptionInfo ORDER_NOT_ALLOW_REFUND = new ExceptionInfo(20017, "订单不允许退款");
    ExceptionInfo REFUND_NOT_EXISTS = new ExceptionInfo(20018, "退款单不存在");
    ExceptionInfo UPDATE_REFUND_ERROR = new ExceptionInfo(20019, "更新退款单失败");
    ExceptionInfo ORDER_ITEM_NOT_EXISTS = new ExceptionInfo(20020, "订单商品不存在");
    ExceptionInfo GET_PROPERTY_VALUE_ERROR = new ExceptionInfo(20021, "获取属性值失败");
    ExceptionInfo ADD_ORDER_NO_INDEX_ERROR = new ExceptionInfo(20022, "添加订单号索引失败");
    ExceptionInfo CURRENT_ORDER_STATUS_NOT_ALLOW_OPERATION = new ExceptionInfo(20023, "当前单据状态不允许该操作");
    ExceptionInfo QUERY_COUNT_OVERLOAD = new ExceptionInfo(20024, "查询数量过载");
    ExceptionInfo PARAM_QUERY_SCHEDULED_ORDER_IS_EMPTY = new ExceptionInfo(20025, "订单打印时间段节点参数为空");
    ExceptionInfo NO_ITEM_CAN_BE_RETURN = new ExceptionInfo(20026, "没有商品可以退");
    ExceptionInfo ACTIVITY_INFO_ERROR = new ExceptionInfo(20027, "活动信息异常");
    ExceptionInfo BUILD_SEARCH_INFO_ERROR = new ExceptionInfo(20028, "构建全局搜索条件失败");
    ExceptionInfo CREATE_SELF_TAKE_ORDER_ERROR = new ExceptionInfo(20029, "创建自提订单失败");
    ExceptionInfo EXPORT_ORDER_ERROR = new ExceptionInfo(20030, "导出订单失败");
    ExceptionInfo EXPORT_TYPE_NOT_EXISTS = new ExceptionInfo(20031, "导出类型不存在");
    ExceptionInfo CONCURRENT_UPDATE_ERROR = new ExceptionInfo(20032, "并发更新失败");
    ExceptionInfo ITEM_INFO_ERROR = new ExceptionInfo(20033, "商品信息异常");
    ExceptionInfo SYNC_SUB_ORDERS_MESSAGE_ERROR = new ExceptionInfo(20034, "同步子订单失败");
    ExceptionInfo SYNC_SUB_ORDERS_STOP = new ExceptionInfo(20035, "同步子订单终止，订单不存在");
    ExceptionInfo SUB_ORDERS_INFO_EMPTY = new ExceptionInfo(20036, "同步子订单终止，子订单信息为空");
    ExceptionInfo PERFORMANCE_HANDLER_ERROR = new ExceptionInfo(20037, "履约处理器异常");
    ExceptionInfo PERFORMANCE_ORDER_CREATE_ERROR = new ExceptionInfo(20038, "创建履约订单失败");
    ExceptionInfo ITEM_INFO_CONVERT_ERROR = new ExceptionInfo(20039, "商品信息转换异常");
    ExceptionInfo PERFORMANCE_INFO_CONVERT_ERROR = new ExceptionInfo(20039, "履约信息转换异常");
    ExceptionInfo DELIVERY_INFO_CONVERT_ERROR = new ExceptionInfo(20040, "发货时间转换异常");
    ExceptionInfo OPERATE_PERFORMANCE_ORDER_ERROR = new ExceptionInfo(20041, "操作履约订单失败");
    ExceptionInfo REFUND_ITEM_INTERFACE_ERROR = new ExceptionInfo(20042, "查询退款单商品接口异常");
    ExceptionInfo REFUND_ITEM_INFO_ERROR = new ExceptionInfo(20043, "查询退款单商品信息异常");
    ExceptionInfo ORDER_ITEM_COUNT_INTERFACE_ERROR = new ExceptionInfo(20044, "统计商品购买次数接口异常");
    ExceptionInfo ORDER_ITEM_COUNT_HANDLE_ERROR = new ExceptionInfo(20045, "统计商品购买次数处理失败");
    ExceptionInfo RECENT_BUY_SELLER_INTERFACE_ERROR = new ExceptionInfo(20046, "请求近期光顾商家接口异常");
    ExceptionInfo RECENT_BUY_SELLER_SERVICE_ERROR = new ExceptionInfo(20047, "处理近期光顾商家服务异常");
    ExceptionInfo AUTO_VERIFY_ORDER_SERVIC_ERROR = new ExceptionInfo(20048, "自动核销订单服务异常");
    ExceptionInfo AUTO_VERIFY_DATA_SERVICE_ERROR = new ExceptionInfo(20049, "自动核销业务数据层异常");
    ExceptionInfo SYNC_CREATE_PERFORMANCE_ORDER_ERROR = new ExceptionInfo(20050, "同步创建履约自提订单失败");
    ExceptionInfo SYNC_UPDATE_ORDER_INFO_ERROR = new ExceptionInfo(20051, "同步修改订单商品信息失败");
    ExceptionInfo QUERY_PERFORMANCE_SERVICE_ERROR = new ExceptionInfo(20052, "查询履约服务异常");
    ExceptionInfo QUERY_PERFORMANCE_HANDLE_ERROR = new ExceptionInfo(20053, "查询履约信息处理器异常");
    ExceptionInfo QUERY_ORDER_COUNT_ERROR = new ExceptionInfo(20054, "查询统计订单金额异常");
    ExceptionInfo DELETE_REFUND_ORDER_ERROR = new ExceptionInfo(20055, "删除退款单异常");
    ExceptionInfo DISCOUNT_AMOUNT_ERROR = new ExceptionInfo(20056, "统计优惠金额异常");
    ExceptionInfo QUERY_ORDER_DISCOUNT_ERROR = new ExceptionInfo(20057, "查询订单优惠列表信息异常");
    ExceptionInfo QUERY_COUNT_GT_CRITICAL_VALUE = new ExceptionInfo(20058, "单次查询数量请勿超过100");
    ExceptionInfo ORDER_DISCOUNT_AMOUNT_ERROR = new ExceptionInfo(20059, "统计优惠订单金额异常");
    ExceptionInfo DELETE_REFUND_ITEM_ERROR = new ExceptionInfo(20060, "删除退款商品异常");
    ExceptionInfo CHECK_ORDER_EXIST_ERROR = new ExceptionInfo(20080, "校验订单是否存在接口异常");
    ExceptionInfo ORDER_ITEM_NUM_ERROR = new ExceptionInfo(20081, "统计商品购买数量失败");
    ExceptionInfo REFUND_NO_NUM_OVERLOAD = new ExceptionInfo(20082, "查询退款单数量上限");
    ExceptionInfo QUERY_ORDER_ITEM_NUM_TOP_OVERLOAD = new ExceptionInfo(20083, "查询购买商品数量榜单数量过载");
    ExceptionInfo QUERY_ORDER_ITEM_NUM_TOP_ERROR = new ExceptionInfo(20084, "查询购买商品数量榜单异常");
    ExceptionInfo CREATE_ORDER_COMPENSATE_ERROR = new ExceptionInfo(20085, "创建订单补偿信息失败");
    ExceptionInfo ORDER_SYNC_AMOUNT_INDEX_ERROR = new ExceptionInfo(20086, "订单同步统计索引异常");
    ExceptionInfo ORDER_COMPEN_SYNC_AMOUNT_INDEX_ES_ERROR = new ExceptionInfo(20087, "订单补偿同步es统计索引异常");
    ExceptionInfo ROOT_ORDER_USER_RELATION_IS_EMPTY = new ExceptionInfo(20088, "主订单关联信息不存在");
    ExceptionInfo ORDER_USER_RELATION_QUERY_ERROR = new ExceptionInfo(20089, "订单关联信息查询失败");

    /**
     * 非业务异常
     */
    ExceptionInfo SEND_SYNC_ES_MESSAGE_ERROR = new ExceptionInfo(30001, "发送同步ES消息失败");
    ExceptionInfo SEND_ORDER_OPERATION_MESSAGE_ERROR = new ExceptionInfo(30002, "发送订单操作消息失败");
    ExceptionInfo SEND_REFUND_OPERATION_MESSAGE_ERROR = new ExceptionInfo(30003, "发送退款单操作消息失败");
    ExceptionInfo SEND_ORDER_INVALID_MESSAGE_ERROR = new ExceptionInfo(30004, "发送订单失效消息失败");
    ExceptionInfo SEND_ORDER_LINE_UP_MESSAGE_ERROR = new ExceptionInfo(30005, "发送订单排队消息失败");
    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 SEND_DING_TALK_MESSAGE_ERROR = new ExceptionInfo(30009, "发送钉钉消息失败");
    ExceptionInfo PARAM_ORDER_OPERATION_IS_EMPTY = new ExceptionInfo(30010, "转换订单操作数据参数为空");
    ExceptionInfo SEND_SYNC_SUB_ORDERS_MESSAGE_ERROR = new ExceptionInfo(30011, "发送同步子订单消息失败");
    ExceptionInfo SEND_SOURCE_INDEX_MESSAGE_ERROR = new ExceptionInfo(30012, "发送第三方订单号索引消息失败");
    ExceptionInfo SEND_ORDER_INDEX_MESSAGE_ERROR = new ExceptionInfo(30013, "发送订单号索引消息失败");
    ExceptionInfo SOURCE_NO_IS_EXISTS = new ExceptionInfo(30014, "订单已存在来源单号");
    ExceptionInfo SEND_SYNC_AMOUNT_ES_INDEX_MESSAGE_ERROR = new ExceptionInfo(30015, "发送同步统计ES索引消息失败");
    ExceptionInfo LOOP_DELETE_ORDER_AMOUNT_INDEX_ERROR = new ExceptionInfo(30016, "周期性删除统计索引失败");
    ExceptionInfo CREATE_ES_INDEX_ERROR = new ExceptionInfo(30017, "创建es索引失败");
}
