| package com.zt.common.exception; /** | 
|  * Copyright (c) 2018 人人开源 All rights reserved. | 
|  * <p> | 
|  * https://www.renren.io | 
|  * <p> | 
|  * 版权所有,侵权必究! | 
|  */ | 
|   | 
| /** | 
|  * 错误编码,由5位数字组成,前2位为模块编码,后3位为业务编码 | 
|  * <p> | 
|  * 如:10001(10代表系统模块,001代表业务代码) | 
|  * </p> | 
|  * | 
|  * @author Mark sunlightcs@gmail.com | 
|  * @since 1.0.0 | 
|  */ | 
| public enum ErrorCode { | 
|     INTERNAL_SERVER_ERROR(500, "服务器内部异常"), | 
|     UNAUTHORIZED(401,"未授权"), | 
|     FORBIDDEN(403, "拒绝访问,没有权限"), | 
|     NOT_NULL(10001, "{0}不能为空"), | 
|     DB_RECORD_EXISTS(10002, "数据库中已存在该记录"), | 
|     PARAMS_GET_ERROR(10003, "获取参数失败"), | 
|     ACCOUNT_PASSWORD_ERROR(10004, "账号或密码错误"), | 
|     ACCOUNT_DISABLE(10005, "账号已被停用"), | 
|     IDENTIFIER_NOT_NULL(10006, "唯一标识不能为空"), | 
|     CAPTCHA_ERROR(10007, "验证码不正确"), | 
|     SUB_MENU_EXIST(10008, "先删除子菜单或按钮"), | 
|     PASSWORD_ERROR(10009, "原密码不正确"), | 
|     ACCOUNT_NOT_EXIST(10010, "账号不存在"), | 
|     SUPERIOR_DEPT_ERROR(10011, "上级部门选择错误"), | 
|     SUPERIOR_MENU_ERROR(10012, "上级菜单不能为自身"), | 
|     DATA_SCOPE_PARAMS_ERROR(10013, "数据权限接口,只能是Map类型参数"), | 
|     DEPT_SUB_DELETE_ERROR(10014, "请先删除下级部门"), | 
|     DEPT_USER_DELETE_ERROR(10015, "请先删除部门下的用户"), | 
|     ACT_DEPLOY_ERROR(10016, "部署失败,没有流程"), | 
|     ACT_MODEL_IMG_ERROR(10017, "模型图不正确,请检查"), | 
|     ACT_MODEL_EXPORT_ERROR(10018, "导出失败,模型ID为{0}"), | 
|     UPLOAD_FILE_EMPTY(10019, "请上传文件"), | 
|     TOKEN_NOT_EMPTY(10020, "token不能为空"), | 
|     TOKEN_INVALID(10021, "token失效,请重新登录"), | 
|     ACCOUNT_LOCK(10022, "账号已被锁定"), | 
|     ACT_DEPLOY_FORMAT_ERROR(10023, "请上传zip、bar、bpmn、bpmn20.xml格式文件"), | 
|     OSS_UPLOAD_FILE_ERROR(10024, "上传文件失败{0}"), | 
|     SEND_SMS_ERROR(10025, "发送短信失败{0}"), | 
|     MAIL_TEMPLATE_NOT_EXISTS(10026, "邮件模板不存在"), | 
|     REDIS_ERROR(10027, "Redis服务异常"), | 
|     JOB_ERROR(10028, "定时任务失败"), | 
|     INVALID_SYMBOL(10029, "不能包含非法字符"), | 
|     JSON_FORMAT_ERROR(10030, "参数格式不正确,请使用JSON格式"), | 
|     SMS_CONFIG(10031, "请先完成短信配置"), | 
|     TASK_CLIME_FAIL(10032, "任务已被签收,操作失败"), | 
|     NONE_EXIST_PROCESS(10033, "不存在的流程定义"), | 
|     SUPERIOR_NOT_EXIST(10034, "上级节点不存在"), | 
|     REJECT_MESSAGE(10035, "驳回"), | 
|     ROLLBACK_MESSAGE(10036, "回退"), | 
|     UNCLAIM_ERROR_MESSAGE(10037, "任务没有分组,无法取消认领"), | 
|     SUPERIOR_REGION_ERROR(10038, "上级区域选择错误"), | 
|     REGION_SUB_DELETE_ERROR(10039, "请先删除下级区域"), | 
|     PROCESS_START_ERROR(10040, "流程已挂起,不能启动实例"), | 
|     REJECT_PROCESS_PARALLEL_ERROR(10041, "多实例任务不能驳回"), | 
|     REJECT_PROCESS_HANDLEING_ERROR(10042, "存在多个处理中的任务,不能驳回"), | 
|     END_PROCESS_PARALLEL_ERROR(10043, "多实例任务不能终止"), | 
|     END_PROCESS_HANDLEING_ERROR(10044, "终止"), | 
|     END_PROCESS_MESSAGE(10045, "多实例任务不能回退"), | 
|     BACK_PROCESS_PARALLEL_ERROR(10046, "存在多个并行执行的任务,不能回退"), | 
|     BACK_PROCESS_HANDLEING_ERROR(10047, "存在多个处理中的任务,不能终止流程"), | 
|     DATA_ERROR(10048, "数据异常,请刷新页面"), | 
|     ACCOUNT_THERE_ARE_MULTIPLE_ERROR(10049,"帐号存在多个"), | 
|     ACCOUNT_ERROR(10050,"该帐号不存在"); | 
|   | 
|     ErrorCode(int code, String message) { | 
|         this.code = code; | 
|         this.message = message; | 
|     } | 
|   | 
|     private int code; | 
|     private String message; | 
|   | 
|     public int getCode() { | 
|         return code; | 
|     } | 
|   | 
|     public void setCode(int code) { | 
|         this.code = code; | 
|     } | 
|   | 
|     public String getMessage() { | 
|         return message; | 
|     } | 
|   | 
|     public void setMessage(String message) { | 
|         this.message = message; | 
|     } | 
|   | 
|     public static ErrorCode getObject(int code) { | 
|         for (ErrorCode c : ErrorCode.values()) { | 
|             if (c.getCode() == code) { | 
|                 return c; | 
|             } | 
|         } | 
|         return ErrorCode.INTERNAL_SERVER_ERROR; | 
|     } | 
|   | 
|     // 通过code获取message信息,判断是否有传参; | 
|     public static String getMessage(int code,String... params) { | 
|         for (ErrorCode c : ErrorCode.values()) { | 
|             if (c.getCode() == code) { | 
|                 return getParamMessage(c.message,params); | 
|             } | 
|         } | 
|         return ErrorCode.INTERNAL_SERVER_ERROR.getMessage(); | 
|     } | 
|   | 
|     private static String getParamMessage(String message, String... params) { | 
|         for (int i = 0; i < params.length; i++) { | 
|             String str = params[i]; | 
|             message = message.replaceAll("\\{" + (i) + "\\}", "" + str + ""); | 
|         } | 
|         return message; | 
|     } | 
|   | 
| } |