package wusthelper.internal.rpc.exception; import java.util.StringJoiner; public class LibraryRpcException extends RpcException { public LibraryRpcException(TypeCode typeCode, SubModuleCode subModuleCode, ErrorCode errorCode) { super(LIBRARY_MODULE, typeCode.ordinal(), subModuleCode.ordinal() * 100 + errorCode.ordinal(), new StringJoiner("/") .add("LIBRARY") .add(typeCode.name()) .add(subModuleCode.name()) .add(errorCode.name()) .toString() ); } /** * 异常类型编码 */ public enum TypeCode { // 网络异常类型 NETWORK_EXCEPTION, // 参数异常类型 PARAM_EXCEPTION, // 权限认证异常类型 AUTH_EXCEPTION, // 网页解析异常类型 PARSE_EXCEPTION, // 其他的异常类型 OTHER_EXCEPTION } /** * 子模块编码 */ public enum SubModuleCode { COMMON, AUTH, COVER_IMAGE, BOOK_DETAIL, BOOK_HOLDING, SEARCH, CURRENT_LOAN, LOAN_HISTORY, OVERDUE_SOON, } /** * 具体错误编码 */ public enum ErrorCode { REQUEST_INVALID, PARAM_INVALID, COOKIE_INVALID, NETWORK_ERROR, PARSE_ERROR, AUTH_PASSWORD_WRONG, // 用户不存在 AUTH_USER_NOT_EXISTS, // 封号 AUTH_USER_BANNED, // 用户账号禁用 AUTH_USER_DISABLED, // 用户密码需要更改 AUTH_NEED_CHANGE_PASSWORD, AUTH_UNKNOWN_ERROR } }