jinlin
2025-03-01 86f02fee03614fef275c6e0c355d73318ca3025e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package com.example.client.entity; /**
 * 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;
    }
 
}