java

java 请求返回VO对象及错误码

2020-12-25  本文已影响0人  yichen_china

ErrorCodeEnums

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com....common.dto.common.ResultVO;

/**
 * @ClassName ErrorCodeEnums
 * @Description 接口返回错误码
 * @Author Ying.bw
 * @Date 2020/5/14 18:36
 * @Version 1.0
 */
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ErrorCodeEnums {
    /*
    异常编码格式:A-BB-CCC
    A:代表错误级别,1表示系统级错误,2表示特定服务级错误,3表示通用服务级错误。
    BB:代表错误项目或者模块号,从00开始。
    CCC:具体错误编号,自增,从001开始。
    */
    SUCCESS("0", "success"),
//    LOGIN_ERROR("101001", "登录异常"),
    /* 商品异常错误代码 --start*/
    GOODS_CATEGORY_GET_ERROR("101001", "查询分类列表异常"),
    GOODS_RECOMMENDED_GET_ERROR("101002", "查询精品推荐失败"),
    GOODS_INFO_GET_ERROR("101003", "查询商品详情异常"),
    GOODS_LABEL_GET_ERROR("101004", "查询商品标签异常"),
    GOODS_LIST_GET_ERROR("101005", "分页查询商品列表异常"),
    GOODS_DESCRIPTION_GET_ERROR("101006", "查询商品详情和说明书异常"),
    GOODS_PACKAGE_LIST_GET_ERROR("101007", "查询联合售药组合商品异常"),
    GOODS_BRAND_LIST_GET_ERROR("101008", "查询品牌列表异常"),

    /* 商品异常错误代码 --end*/

    /* 优惠异常错误代码 --start */
    PREFERENTIAL_COMPLIMENTARY_GET_ERROR("102001", "查询商品满赠优惠异常"),
    PREFERENTIAL_LIMIT_DISCOUNT_GET_ERROR("102002", "查询限时折扣商品异常"),
    PREFERENTIAL_UNIT_PRICE_GET_ERROR("102003", "查询商品单价优惠异常"),
    PREFERENTIAL_LIMIT_DISCOUNT_LIST_PAGE_GET_ERROR("102004", "分页查询限时折扣商品列表失败"),
    PREFERENTIAL_LIMIT_DISCOUNT_DETAIL_GET_ERROR("102005", "查询限时折扣商品详情异常"),
    REFERENTIAL_LIMIT_DISCOUNT_USER_ALREADY_BUY_NUM_GET_ERROR("102006", "查询用户在该活动对应商品购买数量异常"),
    /* 优惠异常错误代码 --end */

    /* 主页设置异常错误代码 --start */
    HOME_BANNER_LIST_GET_ERROR("103001", "查询广告banner列表异常"),
    HOME_RICH_TEXT_GET_ERROR("103002", "查询广告富文本失败"),
    HOME_SETTING_GET_ERROR("103003","查询首页功能入口列表异常"),
    /* 主页设置异常错误代码 --end */

    /* 用户异常错误代码 --start */
    USER_INFO_GET_ERROR("103001", "查询用户信息失败"),
    USER_FULL_NAME_NOT_EXIST_ERROR("103002", "用户姓名未填写,请完善用户信息后重试!"),
    USER_UPDATE_BASE_INFO_ERROR("103003", "用户信息更新失败"),
    USER_DISTRIBUTION_RELATION_GET_ERROR("103004", "用户分销关系获取异常"),

    USER_INFO_WECHAT_UPDATE_ERROR("103007", "用户微信个人信息更新失败"),
    USER_INTEGRAL_UPDATE_ERROR("103008", "用户积分更新失败"),
    /* 用户异常错误代码 --end */

    /* 分销异常错误代码 --start */
    DISTRIBUTION_APPLY_ERROR("104001", "提交分销申请失败"),
    DISTRIBUTION_CREATE_ERROR("104002", "添加分销信息失败"),
    DISTRIBUTION_UPDATE_STATUS_ERROR("104003", "更新分销状态失败"),
    DISTRIBUTION_ACTUAL_COMMISSION_GET_ERROR("104004", "查询分销可提现金额异常"),
    DISTRIBUTION_TOTAL_COMMISSION_GET_ERROR("104005", "查询分销总金额异常"),
    DISTRIBUTION_COMMISSION_DETAILS_GET_ERROR("104006", "查询佣金明细异常"),
    DISTRIBUTION_COMMISSION_UPDATE_ERROR("104007", "更新佣金金额失败"),
    DISTRIBUTION_APPLY_TOO_MUCH_TIMES_ERROR("104008", "已提交过分销审核,请勿重复提交"),
    DISTRIBUTION_ALREADY_APPLY_ERROR("104009", "账号异常,无法申请分销审核,请联系管理人员"),
    DISTRIBUTION_STATUS_GET_ERROR("104010", "查询分销状态失败"),
    DISTRIBUTION_STATUS_NOT_OPEN_ERROR("104011", "分销功能未开启,无法使用提现功能"),
    DISTRIBUTION_APPLY_WITHDRAWAL_NO_ENOUGH_AMOUNT_ERROR("104012", "账户余额不足,申请提现失败"),
    DISTRIBUTION_APPLY_WITHDRAWAL_REPEAT_COMMIT_ERROR("104013", "您连续提交提现,请1分钟后再试"),
    DISTRIBUTION_APPLY_WITHDRAWAL_ERROR("104014", "提现失败,请重试"),
    DISTRIBUTION_STATUS_CLOSE_ERROR("104015", "您的分销功能已关闭,请您联系客服"),
    DISTRIBUTION_QRCODE_ERROR("104016", "二维码生成失败"),
    /* 分销异常错误代码 --end */

    /* 登录异常 --start */
    LOGIN_WECHAT_CODE_ERROR("105001", "微信登录码异常,请重新获取微信登录码"),
    LOGIN_ERROR("105002", "登录异常,请重新登录"),
    PHONE_FORMAT_ABNORMAL("105003", "手机号格式异常"),
    PHONE_VERIFICATION_CODE_SENT_TOO_FREQUENTLY("105004", "验证码发送太频繁"),
    PHONE_CODE_CHECK_FAIL("105005", "手机验证码校验失败"),
    LOGIN_CODE_NULL_ERROR("105006", "微信授权的code不能为空"),
    AUTH_BASE_ERROR("105007", "微信公众号网页静默授权失败"),
    LOGIN_PHONE_NULL_ERROR("105008", "微信授权的手机号不能为空"),
    AUTH_USER_INFO_ERROR("105009", "微信公众号网页授权获取微信用户资料失败"),
    LOGIN_ERROR_YB("105010", "YB登录异常,请重新登录"),
    /* 登录异常 --end */

    /* 精品推荐商品异常 --start */
    RECOMMENDED_KEYWORD_GET_ERROR("106001", "精品推荐关键字检索商品名失败"),
    RECOMMENDED_GOODS_LIST_GET_ERROR("106002", "精品推荐商品列表分页查询失败"),
    /* 精品推荐商品异常 --end */

    /* 我的收藏异常 --start */
    MY_COLLECTION_STATUS_GET_ERROR("107001", "获取该商品收藏的状态失败"),
    MY_COLLECTION_STATUS_UPDATE_ERROR("107002", "更新该商品收藏的状态失败"),
    MY_COLLECTION_PAGE_LIST_GET_ERROR("107003", "查询我的收藏列表失败"),

    /* 我的收藏异常 --end */

    /* 我的足迹异常 --start */
    FOOTPRINT_ADD_REDIS_ERROR("108001", "我的足迹添加失败"),
    FOOTPRINT_CLEAR_REDIS_ERROR("108002", "我的足迹清空失败"),
    FOOTPRINT_LIST_GET_ERROR("108003", "查询我的足迹商品列表失败"),
    /* 我的足迹异常 --end */

    /* 库存异常 --start */
    ACTUAL_STOCK_GET_ERROR("109001", "实际库存查询失败"),
    LIMIT_STOCK_GET_ERROR("109002", "显示折扣商品库存查询失败"),
    DEDUCT_STOCK_FOR_ORDER_UNPAID_ERROR("109003", "订单创建时扣减库存失败"),
    DEDUCT_STOCK_FOR_ORDER_UNPAID_GIFT_GOODS_ERROR("109004", "订单创建时赠品扣减库存失败"),
    /* 库存异常 --end */

    /* 省市区接口异常 --start */
    REGION_SECOND_LEVEL_REGION_GET_ERROR("110001", "获取全国二级城市失败"),
    REGION_GET_REGION_BY_LAT_LNG_ERROR("110002", "通过经纬度查询城市失败"),
    /* 省市区接口异常 --end */

    /* 支付接口异常 --start */
    ALI_PAY_ERROR("120001","支付宝支付失败"),
    ORDER_STATUS_INCORRECTNESS("120002", "订单状态不正确"),
    ALI_PAY_REFUND_FAILED("120003", "支付宝退款失败"),
    WX_REFUND_FAILED("120004", "微信退款失败"),
    REFUND_FAILED("120005", "退款失败"),
    /* 支付接口异常 --end */

    /* 通用异常错误代码 --start */
    PARAMS_ERROR("301001", "参数异常,请检查参数是否正确"),
    PHONE_ERROR("301002", "手机号格式不正确,请重新输入"),
    SYSTEM_ERROR("301003", "系统错误"),
    XML_DATA_INCORRECTNESS("301004", "xml数据格式不正确"),
    /* 通用异常错误代码 --end */
    
    ;

    public static final String codeName = "errcode";

    private String errcode;
    private String errmessage;

    ErrorCodeEnums(String errcode, String errmessage){
        this.errcode = errcode;
        this.errmessage = errmessage;
    };

    public String getErrcode() {
        return errcode;
    }

    public void setErrcode(String errcode) {
        this.errcode = errcode;
    }

    public String getErrmessage() {
        return errmessage;
    }

    public void setErrmessage(String errmessage) {
        this.errmessage = errmessage;
    }

    public JSONObject toJSONObject() {
        JSONObject out = new JSONObject();
        out.put("errcode", errcode);
        out.put("errmessage", errmessage);
        return out;
    }

    public static JSONObject toJSONObjectPlus(String errcode, String errmessage ) {
        JSONObject out = new JSONObject();
        out.put("errcode", errcode);
        out.put("errmessage", errmessage);
        return out;
    }

    @Override
    public String toString() {
        return toJSONObject().toString();
    }

    public static void main(String[] args) {
        ResultVO resultVO = ResultVO.success();
        System.out.println(resultVO.getCode());
        System.out.println(ErrorCodeEnums.SUCCESS);
        System.out.println(resultVO.getCode().equals(ErrorCodeEnums.SUCCESS));
    }
}

ResultVO

import com.alibaba.fastjson.JSONObject;
import com.....common.enums.ErrorCodeEnums;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @description:
 * @author: YeQingchao
 * @create: 2020-03-11 16:27
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ResultVO<T> implements Serializable{

    private static final long serialVersionUID = 8518955172797076258L;
    // 数据
    private T data;
    // 返回码
    private ErrorCodeEnums code;

    public static <T> ResultVO<T> success() {
        ResultVO<T> resultVO = new ResultVO<>();
//        JSONObject codeJson = new JSONObject();
//        codeJson.put("code", ErrorCodeEnums.SUCCESS);
//        resultVO.setCode(codeJson);
        resultVO.setCode(ErrorCodeEnums.SUCCESS);
        return resultVO;
    }

    public static <T> ResultVO<T> success(T data) {
        ResultVO<T> resultVO = new ResultVO<>();
//        JSONObject codeJson = new JSONObject();
//        codeJson
        resultVO.setCode(ErrorCodeEnums.SUCCESS);
        resultVO.setData(data);
        return resultVO;
    }


    public static <T> ResultVO<T> fail(ErrorCodeEnums errorCodeEnums) {
        ResultVO<T> resultVO = new ResultVO<>();
//        JSONObject codeJson = JSONObject.parseObject(errorCodeEnums.toString());
//        resultVO.setCode(codeJson);
        resultVO.setCode(errorCodeEnums);
        return resultVO;
    }

    public static <T> ResultVO<T> fail(ErrorCodeEnums errorCodeEnums, T data) {
        ResultVO<T> resultVO = new ResultVO<>();
//        JSONObject codeJson = JSONObject.parseObject(errorCodeEnums.toString());
//        resultVO.setCode(codeJson);
        resultVO.setCode(errorCodeEnums);
        resultVO.setData(data);
        return resultVO;
    }

    public JSONObject toJSONObject() {
        JSONObject out = new JSONObject();
        out.put("data", data);
        out.put("code", code);
        return out;
    }

    @Override
    public String toString() {
        return toJSONObject().toString();
    }

    public static void main(String[] args) {
        ResultVO resultVO = ResultVO.success(new JSONObject());
        System.out.println(resultVO.toString());
    }
}

上一篇下一篇

猜你喜欢

热点阅读