返回值和异常枚举常量

public class R extends HashMap<String, Object> {
    private static final long serialVersionUID = 1L;

    public R() {
        put("code", 0);
        put("msg", "success");
    }

    public static R error() {
        return error(500, "未知异常,请联系管理员");
    }

    public static R error(String msg) {
        return error(500, msg);
    }

    public static R error(int code, String msg) {
        R r = new R();
        r.put("code", code);
        r.put("msg", msg);
        return r;
    }

    public static R ok(String msg) {
        R r = new R();
        r.put("msg", msg);
        return r;
    }

    public static R ok(Map<String, Object> map) {
        R r = new R();
        r.putAll(map);
        return r;
    }

    public static R ok() {
        return new R();
    }

    @Override
    public R put(String key, Object value) {
        super.put(key, value);
        return this;
    }
}

public enum WebCodeEnum {
    /**
     * 系统异常,请联系管理员
     */
    FAILED(10000, "系统异常,请联系管理员"),
    /**
     * 1. 用户登录信息缺失,请重新登录
     */
    USER_LOGIN_ERROR(10001, "用户登录信息缺失,请重新登录"),
    /**
     * 2. 请选择结束时间
     */
    END_TIME_ERROR(10002, "请选择结束时间"),
    /**
     * 3. 请选择结束时间
     */
    BEGIN_TIME_ERROR(10003, "请选择开始时间"),
    /**
     * 4.请求参数为空
     */
    CLIENT_ID_ENPTY(10004, "用户编号为空"),
    /**
     * 图片文件名为空
     */
    FIELD_ID_ENPTY(10005, "图片文件名为空"),
    /**
     * 请先选择是否通过
     */
    SELECT_PASS_OR_NOT(10006, "请先选择是否通过"),
    /**
     * 未查询到用户信息
     */
    QUERY_APPRAOVE_CLIENT_NULL(10007, "未查询到被审核用户的信息"),
    /**
     * 只有状态是'认证中'的用户才可以被审核
     */
    NONE_CERTIFICATION_STATUS_ERROR(10008, "只有状态是'认证中'的用户才可以被审核"),
    /**
     * 未查询到管理员相关信息
     */
    QUERY_ADMINISTRATOR_NULL(10009, "未查询到管理员相关信息"),
    /**
     * 管理员状态异常
     */
    ADMINISTRATOR_STATUS_ERROR(10010, "管理员状态异常"),
    /**
     * 数据库操作异常
     */
    DB_OPERATION_ERROR(10011, "数据库操作异常"),
    /**
     * third party id对应的用户帐号为空
     */
    USER_ID_EMPTY(10012, "用户帐号为空"),
    /**
     * 用户帐号不存在
     */
    QUERY_USER_NONEXISTENT(10013, "用户帐号不存在"),
    /**
     * 首页数据表日期为空
     */
    DATE_NULL(10014, "请选择统计日期"),
    /**
     * 该角色包含用户,不能被删除
     */
    ROLE_DELETE_ERROR(10015, "该角色包含用户,不能被删除"),
    /**
     * 角色保存失败,角色名或者说明不能为空
     */
    ROLE_PARAM_VAILD_ERROR(10016, "角色保存失败,角色名或者说明不能为空"),
    /**
     * 角色绑定用户失败,关系已存在
     */
    ROLE_USER_SAVE_ERROR(10017, "角色绑定用户失败,关系已存在"),
    /**
     * 角色保存失败,角色名已存在
     */
    ROLE_SAVE_ERROR(10018, "角色保存失败,角色名已存在"),
    /**
     * 列字段超长
     */
    DB_DATA_TOO_LONG(10019, "备注信息过长"),
    /**
     * 金额格式不合法
     */
    MONEY_INVALID(10020, "金额不能为负数且只能有两位小数"),
    /**
     * 导出时间或类型参数为空
     */
    EXPORT_EXCEL_PARAM_NULL(10021, "导出excel时时间或类型参数为空"),
    /**
     * evidence id对应的用户帐号为空
     */
    EVIDENCE_ID_EMPTY(10022, "电子证据Id为空"),
    /**
     * es查询异常
     */
    ES_OPERATION_ERROR(10023, "ES操作异常"),
    /**
     * 商务报价Id为空
     */
    OFFER_ID_ENPTY(10024, "商务报价Id为空"),
    /**
     * 角色ID为空
     */
    ROLE_ID_EMPTY(10025, "角色ID为空"),
    /**
     * 导出excel失败
     */
    EXPORT_EXCEL_FAILED(10026, "导出excel文件失败"),
    /**
     * 订单ID为空
     */
    RECORD_ID_EMPTY(10027, "订单ID为空"),
    /**
     * 确认金额为空
     */
    CONFIRMMONEY(10028, "确认金额为空"),
    /**
     * 文件ID为空
     */
    REGISTER_ID_EMPTY(10029, "文件ID为空"),
    /**
     * 商务报价Id不存在
     */
    OFFER_ID_NOT_EXIST(10030, "商务报价Id不存在"),

    /**
     * 前台推荐配置-id为空
     */
    RECOMMEND_ID_EMPTY(10031, "推荐信息的id为空"),
    /**
     * 前台推荐配置-tab为空
     */
    RECOMMEND_TAB_EMPTY(10032, "tab为空"),
    /**
     * 前台推荐配置-type为空
     */
    RECOMMEND_TYPE_EMPTY(10033, "推荐位类型type为空"),
    /**
     * 前台推荐配置-设置的商品的文件类型与推荐位的文件类型不匹配
     */
    RECOMMEND_FILE_TYPE_MISMATCH(10034, "商品文件类型不匹配"),

    /**
     * 商品分类查询异常
     */
    GOOD_CATEGORY_SEARCH_ERROR(10040, "商品分类查询异常"),
    /**
     * 商品ID为空
     */
    GOOD_ID_EMPTY(10041, "商品ID为空"),
    /**
     * 商品删除失败,对象正在被使用
     */
    GOOD_DELETE_ERROR(10042, "商品删除失败,对象正在被使用"),
    /**
     * 商品上下架操作类型为空
     */
    GOOD_ACTION_EMPTY(10043, "商品上下架操作类型为空"),
    /**
     * 商品查询异常
     */
    GOOD_SEARCH_ERROR(10044, "商品查询异常"),
    /**
     * 商品不存在
     */
    GOODS_ID_NOT_EXISTS(10045, "商品不存在"),
    /**
     * 商品授权规格不存在
     */
    GOODS_SKU_ID_NOT_EXISTS(10046, "商品授权规格不存在"),
    /**
     * 商品为下架状态
     */
    GOODS_STATUS_OFF(10047, "商品为下架状态"),

    /**
     * 版权内容Id不存在
     */
    Content_ID_NOT_EXIST(10050, "版权内容Id不存在"),
    /**
     * 版权授权Id不存在
     */
    Item_ID_NOT_EXIST(10051, "版权内容Id不存在"),
    /**
     * register作品文件查询异常
     */
    REGISTER_QUERY_FAILED(10052, "作品查询异常"),
    /**
     * Id不正确,应该为19位数字
     */
    ID_NOT_NUMBER(10053, "Id不正确,应该为19位数字"),

    /**
     * 订单编号为空
     */
    ORDER_ID_EMPTY(40004, "订单编号为空"),
    /**
     * 订单列表查询失败
     */
    ORDER_PAGE_LIST_ERROR(40005, "订单列表查询失败"),
    /**
     * 订单不存在
     */
    ORDER_ID_NOT_EXISTS(40006, "订单不存在");

    private final int code;

    private final String msg;

    WebCodeEnum(int code, String msg) {
        this.msg = msg;
        this.code = code;
    }

    public int getCode() {
        return this.code;
    }

    public String getMsg() {
        return this.msg;
    }

}

public enum ErrorCodeEnum implements IErrorCode {
    /**
     * success
     */
    SUCCESS(0, "success"),
    /**
     * failed
     */
    FAILED(10000, "failed"),
    /**
     * token is empty
     */
    TOKEN_IS_EMPTY(10001, "token is empty"),
    /**
     * token is invalid
     */
    TOKEN_IS_INVALID(10002, "token is invalid"),
    /**
     * token is expired
     */
    TOKEN_IS_EXPIRED(10003, "token is expired"),
    /**
     * 列字段超长
     */
    DB_DATA_TOO_LONG(10004, "column is to long"),
    /**
     * KMS环境执行失败
     */
    KMS_EXECUTE_ERROR(10005, "KMS environment execution failed"),
    /**
     * 用户登录信息缺失,请重新登录
     */
    USER_LOGIN_ERROR(10006, "user login information is missing, please login again"),
    /**
     * 请求参数为空
     */
    REQUEST_PARAM_ERROR(10007, "request parameter exception"),
    /**
     * 查询结果为空
     */
    QUERY_RESULT_NULL(10008, "query result is empty"),
    /**
     * 状态异常
     */
    STATUS_ERROR(10009, "status error"),
    /**
     * 参数转化异常
     */
    PARAM_CONVERT_ERROR(10010, "parameter conversion error"),
    /**
     * 参数不合法
     */
    PARAM_INVALID_ERROR(10011, "parameter invalid error"),
    /**
     * excel导出异常
     */
    EXPORT_EXCEL_FAILED(10012, "export excel error"),
    /**
     * oss url获取异常
     */
    OSS_OPERATION_FAILED(10013, "oss operation error"),
    /**
     * es 操作异常
     */
    ES_OPERATION_FAILED(10014, "es operation error"),
    /**
     * 日期 操作异常
     */
    DATE_OPERATION_FAILED(10015, "date operation error"),
    /**
     * 没有权限 操作异常
     */
    NO_PERMISSION_FAILED(10016, "no permission error"),
    /**
     * 文件上传失败
     */
    FILE_UPLOAD_ERROR(10017, "file upload failed"),
    /**
     * 查询结果异常
     */
    QUERY_RESULT_FAILED(10018, "query result error");

    private final int code;

    private final String msg;

    ErrorCodeEnum(int code, String msg) {
        this.msg = msg;
        this.code = code;
    }

    @Override
    public int getCode() {
        return this.code;
    }

    @Override
    public String getMsg() {
        return this.msg;
    }

    public static String getMsgByCode(int code) {
        ErrorCodeEnum[] values = ErrorCodeEnum.values();
        for (ErrorCodeEnum value : values) {
            if (value.code == code) {
                return value.msg;
            }
        }
        return StringUtils.EMPTY;
    }
}

public class CommonResult<T> {
    private long code;
    private String message;
    private T data;

    protected CommonResult() {
    }

    protected CommonResult(long code, String message, T data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }

    /**
     * 成功返回结果
     *
     * @param data 获取的数据
     */
    public static <T> CommonResult<T> success(T data) {
        return new CommonResult<T>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), data);
    }

    /**
     * 成功返回结果
     *
     * @param data 获取的数据
     * @param  message 提示信息
     */
    public static <T> CommonResult<T> success(T data, String message) {
        return new CommonResult<T>(ResultCode.SUCCESS.getCode(), message, data);
    }

    /**
     * 失败返回结果
     * @param errorCode 错误码
     */
    public static <T> CommonResult<T> failed(IErrorCode errorCode) {
        return new CommonResult<T>(errorCode.getCode(), errorCode.getMessage(), null);
    }

    /**
     * 失败返回结果
     * @param message 提示信息
     */
    public static <T> CommonResult<T> failed(String message) {
        return new CommonResult<T>(ResultCode.FAILED.getCode(), message, null);
    }

    /**
     * 失败返回结果
     */
    public static <T> CommonResult<T> failed() {
        return failed(ResultCode.FAILED);
    }

    /**
     * 参数验证失败返回结果
     */
    public static <T> CommonResult<T> validateFailed() {
        return failed(ResultCode.VALIDATE_FAILED);
    }

    /**
     * 参数验证失败返回结果
     * @param message 提示信息
     */
    public static <T> CommonResult<T> validateFailed(String message) {
        return new CommonResult<T>(ResultCode.VALIDATE_FAILED.getCode(), message, null);
    }

    /**
     * 未登录返回结果
     */
    public static <T> CommonResult<T> unauthorized(T data) {
        return new CommonResult<T>(ResultCode.UNAUTHORIZED.getCode(), ResultCode.UNAUTHORIZED.getMessage(), data);
    }

    /**
     * 未授权返回结果
     */
    public static <T> CommonResult<T> forbidden(T data) {
        return new CommonResult<T>(ResultCode.FORBIDDEN.getCode(), ResultCode.FORBIDDEN.getMessage(), data);
    }

    public long getCode() {
        return code;
    }

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

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }
}

 

/**
 * 封装API的错误码
 * Created by macro on 2019/4/19.
 */
public interface IErrorCode {
    long getCode();

    String getMessage();
}
package com.macro.mall.tiny.common.api;

/**
 * 枚举了一些常用API操作码
 */
public enum ResultCode implements IErrorCode {
    SUCCESS(200, "操作成功"),
    FAILED(500, "操作失败"),
    VALIDATE_FAILED(404, "参数检验失败"),
    UNAUTHORIZED(401, "暂未登录或token已经过期"),
    FORBIDDEN(403, "没有相关权限");
    private long code;
    private String message;

    private ResultCode(long code, String message) {
        this.code = code;
        this.message = message;
    }

    @Override
    public long getCode() {
        return code;
    }
    @Override
    public String getMessage() {
        return message;
    }
}

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值