package com.ynxbd.common.result; /** * 通用返回状态码 * * @Author wsq * @Date 2020/7/16 13:26 * @Copyright @ 2020 云南新八达科技有限公司 All rights reserved. */ public enum ResultEnum { /* 成功状态码 */ SUCCESS(200, "成功"), /* 失败状态码 */ ERROR(0, "失败"), // 智能导诊请求成功判断 AI_SUCCESS(0, "成功"), /* 参数错误:10000-19999 */ PARAM_IS_BLANK(10000, "参数为空"), PARAM_IS_DEFECT(10001, "参数缺失"), PARAM_IS_INVALID(10002, "参数无效"), PARAM_TOO_LONG(10003, "参数过长"), PARAM_TYPE_ERROR(10004, "参数类型错误"), PARAM_DATE_ERROR(10005, "日期参数不合法"), PARAM_CALL_NO_NOT_FOUND(10006, "调用码不存在"), PARAM_ADDRESS_ERROR(10007, "地址缺失"), PARAM_LIST_SIZE_ZERO(10008, "参数集为空"), PARAM_VERIFY_ERROR(10009, "参数验证失败"), FACE_VERIFY_ERROR(10010,"人脸识别未通过"), DATE_IS_TODAY(10100, "日期不能为今天"), DATE_IS_ERROR(10101, "日期错误"), DATE_FORMAT_ERROR(10102, "日期转换异常"), SIGN_ERROR(10200, "签名错误或已过期"), /* 账户错误:20001-29999*/ USER_ERROR(20000, "用户异常"), USER_IS_EXIST(20001, "账户已存在"), USER_NOT_EXIST(20002, "账户不存在"), USER_IS_BIND(20003, "账户已被绑定"), USER_LOGIN_ERROR(20004, "账号或密码错误"), USER_ACCOUNT_DELETE(20005, "账号已删除"), USER_ACCOUNT_FORBIDDEN(20006, "账号已禁用"), PASS_VERIFY_ERROR(20007, "密码验证失败"), PASS_VERIFY_CLOSE(20008, "密码验证已关闭"), USER_TWO_PASS_NO_SAME(20009, "两次密码不一致"), USER_PASS_EQUALS_NEW_PASS(20010, "原密码和新密码相同"), USER_USERNAME_OR_PASS_LENGTH_ERROR(20011, "账户或密码长度不能少于6位或超过32位"), DOCTOR_IS_BIND(22001, "[医生]账号已被绑定,请先解绑"), DOCTOR_IS_NO_BIND(22002, "[医生]账号未绑定"), DOCTOR_IS_DELETED(22003, "[医生]账号被删除"), DOCTOR_IS_DISABLED(22004, "[医生]账号已禁用"), DOCTOR_NOT_FOUND(22005, "[医生]未找到信息,请您先进行医生绑定"), DOCTOR_TEL_ERROR(22006, "[医生]医生电话号码错误"), DOCTOR_PERMISSION_NO_ACCESS(22007, "[医生]权限不足禁止访问"), /* 业务错误:30000-39999 */ // 支付=========================================================================================== PAY_NEED_PASSWORD(30000, "[支付]需要用户输入支付密码"), // 扫码支付用不要动 PAY_ERROR(30001, "[支付]失败"), PAY_AWAIT(30002, "[支付]等待执行"), PAY_TYPE_ERROR(30003, "[支付]支付方式异常"), PAY_ERROR_ORDER(30004, "[支付]下单失败"), PAY_ERROR_REFUND(30005, "[支付]退款失败"), PAY_TYPE_NOT_SUPPORT(30006, "[支付]支付方式不支持"), PAY_PREPAY_SAVE_ERROR(30007, "[支付]预存信息失败"), PAY_AUTH_CODE_RULES_ERROR(30008, "[支付]条码不符合规则"), PAY_ORDER_NOT_FOUND(30009, "[支付]未找到订单信息"), PAY_MONEY_IS_ZERO(30010, "[支付]金额为0禁止支付"), PAY_NOTIFY_REPEAT(30011, "[支付]回调通知重复"), PAY_ORDER_NO_PAY(30012, "[支付]订单未支付"), PAY_ORDER_PARAMS_IS_DEFECT(30013, "[支付]订单参数缺失"), PAY_NO_SELF_NO_PAY(30014, "[支付]不是医保凭证本人,禁止支付"), // 医保禁止支付跳转,不要动 PAY_REPEAT(30015, "[支付]订单已经支付"), PAY_RECIPE_PREPAY_IS_NOT(30016, "[支付]预结算功能未开启,请检查配置。(注意该配置需联系HIS开发者确认支持才能开启,否则存在风险!)"), //----------------------------------------------------------------------------- REFUND_MONEY_ERROR(30100, "[退费]金额不符禁止退费"), REFUND_MONEY_IS_ZERO(30101, "[退费]金额为0禁止退费"), REFUND_STATUS_IS_CHANGED(30102, "[退费]该笔订单已申请过退费(如果长时间没有成功,请联系管理员)"), REFUND_STATUS_ERROR_UPDATE_STATUS_SUCCESS(30103, "[退费]订单退费状态错误,修改退费状态成功)"), REFUND_IS_OLD_ORDER_NUM(30104, "[退费]旧版本订单号禁止退费(如需退费,请联系管理员)"), REFUND_ORDER_IS_ERROR(30105, "[退费]订单号不符合规则禁止退费"), REFUND_MERCHANT_HAS_REFUND(30106, "[退费]商户有手工退费记录,禁止退费(如需退费,请联系管理员)"), REFUND_RES_REG_NOT_ALLOW(30107, "[退费]预约挂号禁止退费"), REFUND_IS_REPEAT(30107, "[退费]订单已退费请勿重复申请"), REFUND_CASH_IS_NULL(30016, "[退费]现金不存在"), REFUND_IS_FAIL_FOR_MD(30201,"[退费]医保挂号订单不允许线上退费,请到线下窗口进行退款"), // 挂号 REG_TODAY_HAS(38100, "[挂号]同一天,同一科室,已挂过号"), REG_OCCUPY_SOURCE(38101, "[挂号]号源已被占用"), SELF_HELP_EXCEED_MAX(38190, "[自助申请单]今日检测数量已达最大限制"), // 处方 RECIPE_REPEAT_BILL(38200, "[处方]重复开单"), // 核酸重复开单提示-不要动 // SYSTEM_IS_BILLING(39800, "[支付]系统正在结算中,请0点后再进行支付"), // ---------------------------------------------------------------------------- // 通常业务错误 SPECIFIED_QUESTIONED_USER_NOT_EXIST(39999, "某业务出现问题"), /* 系统内部错误:40001-49999 */ SYSTEM_ERROR(40001, "系统错误"), SYSTEM_INNER_ERROR(40001, "系统繁忙,请稍后重试"), SYSTEM_CONFIG_ERROR(40002, "系统配置缺失,请联系相关人员"), SYSTEM_SERVICE_CLOSE(40003, "系统功能未开通,请联系相关人员"), WEBSOCKET_IS_CLOSE(40004, "连接已关闭"), NGINX_IS_CLOSE(40005, "图片上传服务器已关闭"), /* 数据错误:50001-599999 */ DATA_EXISTED(50001, "数据已存在"), DATA_IS_WRONG(50002, "数据有误"), DATA_NOT_FOUND(50003, "数据未找到"), DATA_INSERT_ERROR(50004, "数据新增异常"), DATA_UPDATE_ERROR(50005, "数据修改异常"), DATA_DELETE_ERROR(50006, "数据删除异常"), DATA_IS_DISABLED(50007, "数据已禁用"), /* 接口错误:60000-69999 */ INTERFACE_WX_INVOKE_ERROR(61001, "【微信】接口调用异常"), INTERFACE_ALI_INVOKE_ERROR(62002, "【支付宝】接口调用异常"), INTERFACE_HIS_INVOKE_ERROR(69000, "【HIS】接口调用异常"), INTERFACE_HIS_DATA_ERROR(69001, "【HIS】接口返回数据异常"), INTERFACE_HIS_REQ_TIMEOUT(69408, "【HIS】接口请求超时"), INTERFACE_HIS_NO_DATA(69404, "【HIS】没有查找到数据"), // INTERFACE_INVOKE_ERROR(60000, "接口调用异常"), INTERFACE_EXCEED_LOAD(60001, "接口负载过高"), INTERFACE_FORBID_VISIT(60002, "该接口禁止访问"), INTERFACE_REPEAT_REQUEST(60003, "接口重复请求"), INTERFACE_ADDRESS_INVALID(60004, "接口地址无效"), INTERFACE_REQUEST_TIMEOUT(60408, "接口请求超时"), INTERFACE_INNER_INVOKE_ERROR(60500, "内部系统接口调用异常"), INTERFACE_OUTER_INVOKE_ERROR(60501, "外部系统接口调用异常"), INTERFACE_FORBID_SELECT_TODAY(60502, "接口禁止访问今天数据"), /* 权限错误:70000-79999 */ AUTH_FAILED(70001, "认证失败"), PERMISSION_NO_ACCESS(70002, "权限不足"), AUTH_TOKEN_NOT_FOUND(70003, "请求头必须携带AuthToken字段"), // 业务错误 PATIENT_BIND_EXCEEDS_5(80001, "绑定患者数超过5人"), PATIENT_NOT_FOUND(80002, "未找到的患者信息"), PATIENT_ADD_ERROR(80003, "患者绑定失败"), PATIENT_UPDATE_ERROR(80004, "患者更新失败"), PATIENT_UN_BIND_ERROR(80005, "患者解绑失败"), PATIENT_OPENID_NOT_HAVE(80006, "请先绑定用户信息"), TEL_ERROR(80007, "电话号码无效"), NATION_ERROR(80008, "民族无效"), ID_CARD_ERROR(80009, "身份证无效"), PATIENT_MYSELF_IS_BIND(80010, "[患者]该平台已绑定过本人的信息,请解绑后重试!"), CARD_TYPE_NOT_FOUNT(80011, "[证件]暂支持该证件类型!"), // 第三方接口错误 SMS_SEND_ERROR(90001, "短信发送失败"), SMS_SEND_REPEAT(90002, "短信发送过于频繁,请等待"), // 不要动 SMS_TEL_ERROR(90003, "电话号码为空或错误"), SMS_CODE_ERROR(90004, "验证码为空或位数错误(4~6位)"), SMS_CALL_NO_ERROR(90005, "调用码错误"), SMS_CODE_VERIFY_ERROR(90006, "验证码错误或已失效"), // 慢病 和 病历复印 APPLY_REPEAT(100001,"申请已存在,请勿重复申请"); public final Integer status; public final String message; ResultEnum(Integer status, String message) { this.status = status; this.message = message; } public static Integer getStatus(String name) { for (ResultEnum item : ResultEnum.values()) { if (item.name().equals(name)) { return item.status; } } return null; } public static String getMessage(String name) { for (ResultEnum item : ResultEnum.values()) { if (item.name().equals(name)) { return item.message; } } return name; } @Override public String toString() { return this.name(); } public String makeMessage(String message){ if(message == null) message = ""; return this.message + message; } }