shop-common-Result

package com.seemygo.shop.cloud.resp;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.io.Serializable;

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Result<T> implements Serializable {

    public static final String DEFAULT_SUCCESS_CODE = "00000";
    /**
     * 1 3 4
     * 第一位:
     * A|B|C
     *  A: 用户操作异常
     *  B: 业务异常
     *  C: 服务端异常
     * 中间三位:
     * 001:会员服务
     * 002:商品服务
     * 003:秒杀服务
     * 后四位:
     * 0010001:会员服务参数错误
     */
    public static final String DEFAULT_ERROR_CODE = "B0000001";
    public static final String DEFAULT_SUCCESS_MSG = "操作成功";
    public static final String DEFAULT_ERROR_MSG = "服务器繁忙,请稍后再试";

    private String code;
    private String msg;
    private T data;

    public static <T> Result<T> success(T data) {
        return new Result<>(DEFAULT_SUCCESS_CODE, DEFAULT_SUCCESS_MSG, data);
    }

    public static Result<?> defaultError() {
        return new Result<>(DEFAULT_ERROR_CODE, DEFAULT_ERROR_MSG, null);
    }

    public static Result<?> error(CodeMsg codeMsg) {
        return new Result<>(codeMsg.getCode(), codeMsg.getMsg(), null);
}

    public boolean hasError() {
        // this -> code == 200 -> false
        // this -> code == 50xxxx -> true
        return !DEFAULT_SUCCESS_CODE.equals(this.getCode());
    }
}

 

posted @ 2021-12-02 10:50  白芷100  阅读(44)  评论(0)    收藏  举报