2.枚举类的使用

  在学习枚举类的时候,没有体会到枚举类的实用性,但在项目中,我们会使用大量的枚举类来定义常见的一些状态信息,这样易于扩展和维护。在本次项目中我使用了一些枚举类来简化常量的定义和使用。如响应类中的通用常量Code(ResultTypeEnum),通用的常量状态值(StatusEnum),注解中的通用常量类型(Modular、BusinessType)。

1.ResultTypeEnum

public enum ResultTypeEnum {
    SYS_SUCCESS("200", "接口验证通过"),
    SYS_REQUEST_ERROR("204", "请求格式错误"),
    SYS_TOKEN_ERROR("800", "token错误"),
    SYS_AUTHORIZATION_ERROR("801", "权限不足"),
    SYS_TOKEN_EXPIRED_ERROR("802", "token过期,请重新登录"),
    SYS_USER_NOT_LOGIN_ERROR("803", "用户未登录,请登录后进行操作"),
    SYS_USER_DISABLE_ERROR("804", "用户停用,请联系管理员"),
    SYS_ERROR("900", "系统内部错误,请联系管理员"),
    REMOTE_USER_INFO_ERROR("910", "远程系统调用失败(用户信息接口)"),
    BIZ_SUCCESS("200000", "操作成功"),
    BIZ_ERROR("200001", "业务异常"),
    BIZ_NULL("200002", "空值异常"),
    BIZ_USER_INFO_ERROR("200700", "用户信息错误"),
    BIZ_USERNAME_ERROR("200701", "用户名或密码错误"),
    BIZ_PASSWORD_ERROR("200702", "用户名或密码错误"),
    BIZ_PARAMETER_ERROR("200703", "参数错误"),
    BIZ_CAPTCHA("200600", "验证码错误"),
    BIZ_CAPTCHA_EXPIRED("200601", "验证码失效,请重新获取验证码"),
    BIZ_SCENE_BIND_CAMERA_ERROR("200602", "摄像头已存在于所选摄像头清单中"),
    BIZ_UPLOAD_PIC_SIZE_ERROR("200801", "图片大小不能超过5000KB"),
    BIZ_UPLOAD_PIC_ERROR("200802", "图片上传失败"),
    BIZ_UPLOAD_PIC_FORM_ERROR("200803", "图片格式不正确"),
    DOC_UPLOAD_ERROR("200804", "文件大小已超出限制,请重新选择文件"),
    PROCEDURE_EXECUTE_ERROR("200901", "规程执行错误");

    private String value;
    private String desc;

    private ResultTypeEnum(String value, String desc) {
        this.value = value;
        this.desc = desc;
    }

    public String getDesc() {
        return this.desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public String getValue() {
        return this.value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public Integer getValueInteger() {
        return Integer.parseInt(this.value);
    }

    public static String getName(String code) {
        ResultTypeEnum[] var1 = values();
        int var2 = var1.length;

        for(int var3 = 0; var3 < var2; ++var3) {
            ResultTypeEnum val = var1[var3];
            if (val.getValue().equals(code)) {
                return val.desc;
            }
        }

        return null;
    }
响应类中的通用常量

  我们可以在枚举类中定义其属性,构造方法、Set、get方法。

2.StatusEnum

package com.ku.owo.common.enums;

public enum StatusEnum {

    DEL(0, "删除"),
    NORMAL(1, "未删除"),
    DISABLE(2, "禁用");

    private int code;
    private String value;

    StatusEnum(int code, String value) {
        this.code = code;
        this.value = value;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}
通用状态常量

3.Modular

package com.ku.owo.common.enums;

/**
 * @author wuqs
 * @date 2021年11月12日 17:16
 */
public class Modular {

    public static final String HOME = "首页";
    public static final String SYS_LOG = "系统日志";
    public static final String SYS_MENU = "系统菜单";
    public static final String SYS_USER = "用户管理";
    public static final String SYS_LOGIN = "登录管理";
    public static final String SYS_ROLE = "角色管理";
    public static final String SYS_DEPT = "机构管理";
    public static final String PIC = "图片管理";;



    public enum ModularEnum {
        HOME("home", "首页"),
        SYS_LOG("sys_log", "系统日志"),
        SYS_MENU("sys_menu", "系统菜单"),
        SYS_USER("sys_user", "用户管理"),
        SYS_LOGIN("sys_login", "用户管理"),
        SYS_ROLE("sys_role", "角色管理"),
        SYS_DEPT("sys_dept", "机构管理"),
        PIC("pic", "图片管理");


        String value;
        String name;

        ModularEnum(String value, String name) {
            this.value = value;
            this.name = name;

        }

        public String getValue() {
            return value;
        }

        public void setValue(String value) {
            this.value = value;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

    }

}
注解常用常量类型

  前面是类中的静态成员变量,后面是枚举类。

4.BusinessType

public enum BusinessType {
    OTHER,
    INSERT,
    UPDATE,
    DELETE,
    GRANT,
    EXPORT,
    IMPORT,
    FORCE,
    GENERATE_CODE,
    CLEAN;

    private BusinessType() {

    }
}
注解中常用常量类型

  该枚举类中没有定义属性,其中每个值都是类成员变量。

posted @ 2023-11-28 16:32  求知律己  阅读(7)  评论(0编辑  收藏  举报