枚举和自定义异常

1. 后台返回结果集枚举
import lombok.Getter;
@Getter
public enum ResultEnum implements ResultInterface {

/**
 * 通用状态
 */
SUCCESS(200, "成功"),
ERROR(400, "错误"),

/**
 * 账户问题
 */
NONBUSINESS_EXIST(401, "该用户已经注册,无须重复注册"),
USER_EXIST(401, "该用户名已经存在"),
USER_PWD_NULL(402, "密码不能为空"),
USER_INEQUALITY(403, "两次密码不一致"),
USER_OLD_PWD_ERROR(404, "原来密码不正确"),
USER_NAME_PWD_NULL(405, "用户名和密码不能为空"),
USER_CAPTCHA_ERROR(406, "验证码错误"),

/**
 * 角色问题
 */
ROLE_EXIST(401, "该角色标识已经存在,不允许重复!"),

/**
 * 部门问题
 */
DEPT_EXIST_USER(401, "部门存在用户,无法删除"),

/**
 * 字典问题
 */
DICT_EXIST(401, "该字典标识已经存在,不允许重复!"),

/**
 * 非法操作
 */
STATUS_ERROR(401, "非法操作:状态有误"),

/**
 * 权限问题
 */
NO_PERMISSIONS(401, "权限不足!"),
NO_ADMIN_AUTH(500, "不允许操作超级管理员"),
NO_ADMIN_STATUS(501, "不能修改超级管理员状态"),
NO_ADMINROLE_AUTH(500, "不允许操作管理员角色"),
NO_ADMINROLE_STATUS(501, "不能修改管理员角色状态"),
;

private Integer code;

private String message;

ResultEnum(Integer code, String message) {
    this.code = code;
    this.message = message;
}

}

2.自定义异常对象
@Getter
public class ResultException extends RuntimeException {

private Integer code;

/**
 * 统一异常处理
 * @param resultEnum 状态枚举
 */
public ResultException(ResultEnum resultEnum) {
    super(resultEnum.getMessage());
    this.code = resultEnum.getCode();
}

/**
 * 统一异常处理
 * @param resultEnum 枚举类型,需要实现结果枚举接口
 */
public ResultException(ResultInterface resultEnum) {
    super(resultEnum.getMessage());
    this.code = resultEnum.getCode();
}

/**
 * 统一异常处理
 * @param code 状态码
 * @param message 提示信息
 */
public ResultException(Integer code, String message) {
    super(message);
    this.code = code;
}

}

3自定义异常用法

throw new ResultException(ResultEnum.STATUS_ERROR);

4.数据库字段状态枚举
@Getter
public enum StatusEnum {

OK(StatusConst.OK, "启用"),
FREEZED(StatusConst.FREEZED, "冻结"),
DELETE(StatusConst.DELETE, "删除");

private Byte code;

private String message;

StatusEnum(Byte code, String message) {
    this.code = code;
    this.message = message;
}

}
5.数据状态常量
public class StatusConst {
// 正常状态码
public static final byte OK = 1;
// 冻结状态码
public static final byte FREEZED = 2;
// 删除状态码
public static final byte DELETE = 0;
}
6.数据常量用法
StatusEnum.DELETE.getCode().equals(Byte.valueOf(String.valueOf(value)))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值