package com.example.miaosha_xdp.result;
import com.sun.org.apache.bcel.internal.generic.NEW;
import lombok.Getter;
/**
* 返回码和返回信息封装
*/
@Getter
public class CodeMsg {
private Integer code;
private String msg;
/**
*通用的错误码
*/
public static final CodeMsg SUCCESS = new CodeMsg(0, "success");
public static final CodeMsg SERVER_ERROR = new CodeMsg(500100, "服务端异常");
public static final CodeMsg BIND_ERROR = new CodeMsg(500101, "参数异常");
/**
* 登录模块 5002XX
*/
public static CodeMsg SESSION_ERROR = new CodeMsg(500210, "Session不存在或者已经失效");
public static CodeMsg PASSWORD_EMPTY = new CodeMsg(500211, "登录密码不能为空");
public static CodeMsg MOBILE_EMPTY = new CodeMsg(500212, "手机号不能为空");
public static CodeMsg MOBILE_ERROR = new CodeMsg(500213, "手机号格式错误");
public static CodeMsg MOBILE_NOT_EXIST = new CodeMsg(500214, "手机号不存在");
public static CodeMsg PASSWORD_ERROR = new CodeMsg(500215, "密码错误");
/**
* 商品模块 5003XX
*/
/**
* 订单模块 5004XX
*/
/**
* 秒杀模块 5005XX
*/
/**
* 构造函数私有化
* 为了不让别人直接new出来
*
* @param code
* @param msg
*/
private CodeMsg(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
/**
* 给CodeMsg里面的msg属性追加属性
* @param args
* @return
*/
public CodeMsg fillArgs(Object... args) {
int code=this.code;
String message = String.format(this.msg, args);
return new CodeMsg(code,message);
}
}
package com.example.miaosha_xdp.result;
import lombok.Getter;
import lombok.Setter;
/**
* 封装返回结果
* 这里没有set方法,不让别人通过set给属性赋值
* @param <T>
*/
@Getter
public class Result<T> {
private Integer code;
private String msg;
private T data;
public static <T> Result<T> success(T data){
return new Result<T>(data);
}
public static <T> Result<T> error(CodeMsg codeMsg){
return new Result<T>(codeMsg);
}
private Result(T data) {
this.data = data;
}
private Result(CodeMsg codeMsg) {
if (codeMsg==null){
return;
}
this.code = codeMsg.getCode();
this.msg=codeMsg.getMsg();
}
}