枚举类
使用enum
关键字
@Getter
@AllArgsConstructor
@NoArgsConstructor
public enum ResponseEnum {
SUCCESS(0,"响应成功"),
ERROR(-1,"服务器内部错误"),
//-1xx 服务器错误
BAD_SQL_GRAMMAR_ERROR(-101, "sql语法错误"),
SERVLET_ERROR(-102, "servlet请求异常"), //-2xx 参数校验
UPLOAD_ERROR(-103, "文件上传错误"),
EXPORT_DATA_ERROR(104, "数据导出失败"),
//-2xx 参数校验
BORROW_AMOUNT_NULL_ERROR(-201, "借款额度不能为空"),
MOBILE_NULL_ERROR(-202, "手机号码不能为空"),
MOBILE_ERROR(-203, "手机号码不正确"),
PASSWORD_NULL_ERROR(204, "密码不能为空"),
CODE_NULL_ERROR(205, "验证码不能为空"),
CODE_ERROR(206, "验证码错误"),
MOBILE_EXIST_ERROR(207, "手机号已被注册"),
LOGIN_MOBILE_ERROR(208, "用户不存在"),
LOGIN_PASSWORD_ERROR(209, "密码错误"),
LOGIN_LOKED_ERROR(210, "用户被锁定"),
LOGIN_AUTH_ERROR(-211, "未登录"),
USER_BIND_IDCARD_EXIST_ERROR(-301, "身份证号码已绑定"),
USER_NO_BIND_ERROR(302, "用户未绑定"),
USER_NO_AMOUNT_ERROR(303, "用户信息未审核"),
USER_AMOUNT_LESS_ERROR(304, "您的借款额度不足"),
LEND_INVEST_ERROR(305, "当前状态无法投标"),
LEND_FULL_SCALE_ERROR(306, "已满标,无法投标"),
NOT_SUFFICIENT_FUNDS_ERROR(307, "余额不足,请充值"),
PAY_UNIFIEDORDER_ERROR(401, "统一下单错误"),
ALIYUN_SMS_LIMIT_CONTROL_ERROR(-502, "短信发送过于频繁"),//业务限流
ALIYUN_SMS_ERROR(-503, "短信发送失败"),//其他失败
WEIXIN_CALLBACK_PARAM_ERROR(-601, "回调参数不正确"),
WEIXIN_FETCH_ACCESSTOKEN_ERROR(-602, "获取access_token失败"),
WEIXIN_FETCH_USERINFO_ERROR(-603, "获取用户信息失败"),
;
private Integer code;
private String message;
}
@ApiModel(description = "API返回结果")
public class ApiResponse<T> {
/**
* 状态码
*
*/
@ApiModelProperty(value = "状态码")
private Integer code;
/**
* 信息
*/
@ApiModelProperty(value = "信息")
private String msg;
/**
* 数据
*/
@ApiModelProperty(value = "数据")
private T data;
public ApiResponse() {
}
public ApiResponse(Integer code, String msg, T data) {
this.code = code;
this.msg = msg;
this.data = data;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ApiResponse<?> that = (ApiResponse<?>) o;
return new EqualsBuilder()
.append(code, that.code)
.append(msg, that.msg)
.append(data, that.data)
.isEquals();
}
@Override
public int hashCode() {
return new HashCodeBuilder(17, 37)
.append(code)
.append(msg)
.append(data)
.toHashCode();
}
@Override
public String toString() {
return new ToStringBuilder(this)
.append("code", code)
.append("msg", msg)
.append("data", data)
.toString();
}
public static <T> ApiResponse success(T data) {
return new ApiResponse(ResponseEnum.SUCCESS.getCode(), ResponseEnum.SUCCESS.getMessage(), data);
}
public static <T> ApiResponse error(ResponseEnum codeEnum, String msg, T data) {
if (StringUtils.isBlank(msg)) {
msg = codeEnum.getMessage();
}
return new ApiResponse(codeEnum.getCode(), msg, data);
}
public static ApiResponse error(ResponseEnum codeEnum, String msg) {
return error(codeEnum, msg, null);
}
public static ApiResponse error(ResponseEnum codeEnum) {
return error(codeEnum, null, null);
}
}