package team.bangbang.common.data.response; import com.alibaba.fastjson.JSONObject; import team.bangbang.common.data.StatusCode; /** * HTTP接口响应数据 * * * @author 帮帮组 * @version 1.0 2017年9月6日 */ public class ResponseBase { /** 成功 */ public static final ResponseBase SUCCESS = new ResponseBase(StatusCode.SUCCESS, "成功"); /** 20X段服务调用 - 请求的服务不存在 */ public static final ResponseBase SERVICE_NOT_EXIST = new ResponseBase(StatusCode.SERVICE_NOT_EXIST, "请求的服务不存在"); /** 20X段服务调用 - 请求次数超限,暂时封禁 */ public static final ResponseBase SERVICE_REQUEST_OUT_LIMIT = new ResponseBase(StatusCode.SERVICE_REQUEST_OUT_LIMIT, "请求次数超限或者过于频繁,暂时封禁"); /** 20X段服务调用 - 请求参数缺少必要字段 */ public static final ResponseBase SERVICE_FIELD_EXPECTED = new ResponseBase(StatusCode.SERVICE_FIELD_EXPECTED, "请求参数缺少必要字段"); /** 30X段权限 - 无权限*/ public static final ResponseBase PERMISSION_DENIED = new ResponseBase(StatusCode.PERMISSION_DENIED, "当前操作无权限"); /** 30X段权限 - Token过期 */ public static final ResponseBase PERMISSION_EXPIRED_TOKEN = new ResponseBase(StatusCode.PERMISSION_EXPIRED_TOKEN, "Token过期"); /** 30X段权限 - 验签失败 */ public static final ResponseBase PERMISSION_INVALID_SIGN = new ResponseBase(StatusCode.PERMISSION_INVALID_SIGN, "签名sign无效"); /** 30X段权限 - IP无效 */ public static final ResponseBase PERMISSION_INVALID_IP = new ResponseBase(StatusCode.PERMISSION_INVALID_IP, "请求IP不被允许"); /** 40X段错误 - 网络错误 */ public static final ResponseBase ERROR_NETWORK = new ResponseBase(StatusCode.ERROR_NETWORK, "网络错误"); /** 40X段错误 - 业务逻辑错误 */ public static final ResponseBase ERROR_LOGIC = new ResponseBase(StatusCode.ERROR_LOGIC, "业务逻辑错误"); /** 40X段错误 - 数据库错误 */ public static final ResponseBase ERROR_DATABASE = new ResponseBase(StatusCode.ERROR_DATABASE, "数据库错误"); /** 40X段错误 - 文件读写错误 */ public static final ResponseBase ERROR_FILE_OPERATE = new ResponseBase(StatusCode.ERROR_FILE_OPERATE, "文件操作错误"); /** 50X数据操作 - 记录未发现 */ public static final ResponseBase DATA_NOT_FOUND = new ResponseBase(StatusCode.DATA_NOT_FOUND, "记录未发现"); /** 50X数据操作 - 重复的记录 */ public static final ResponseBase DATA_DUPLICATE = new ResponseBase(StatusCode.DATA_DUPLICATE, "数据库中存在重复的记录"); /** 50X数据操作 - 空白的结果 */ public static final ResponseBase DATA_BLANK = new ResponseBase(StatusCode.DATA_BLANK, "无数据"); /** 50X数据操作 - 系统保护数据 */ public static final ResponseBase DATA_PROTECTED = new ResponseBase(StatusCode.DATA_PROTECTED, "系统保护数据,不可修改或删除"); /** 100X操作账户相关 - 账号或者密码错误 */ public static final ResponseBase USER_LOGIN_FAILED = new ResponseBase(StatusCode.USER_LOGIN_FAILED, "账号或者密码错误"); /** 100X操作账户相关 - 账号已经被禁用 */ public static final ResponseBase USER_DISABLED = new ResponseBase(StatusCode.USER_DISABLED, "账号已经被禁用"); /** 100X操作账户相关 - 没有登录或者长时间未操作导致登录信息丢失 */ public static final ResponseBase USER_IDENTITY_MISS = new ResponseBase(StatusCode.USER_IDENTITY_MISS, "没有登录或者长时间未操作导致登录信息丢失"); /* 状态码 */ private int statusCode = 0; /* 消息 */ private String message = null; /** * 成功响应数据 */ public ResponseBase() { // 默认使用成功的状态吗 statusCode = StatusCode.SUCCESS; } /** * @param statusCode 状态码 * @param message 结果消息 */ public ResponseBase(int statusCode, String message) { this.statusCode = statusCode; this.message = message; } /** * 设置响应状态码、消息 * * @param responseBase 响应信息 * * @return 响应信息 */ public ResponseBase set(ResponseBase responseBase) { setStatusCode(responseBase.statusCode); setMessage(responseBase.message); return this; } /** * @return 状态码 */ public int getStatusCode() { return statusCode; } /** * @param statusCode 状态码 */ public void setStatusCode(int statusCode) { this.statusCode = statusCode; } /** * @return 消息 */ public String getMessage() { return message; } /** * @param message 消息 */ public void setMessage(String message) { this.message = message; } /** * @return 转变为JSON字符串 */ public String toString() { return JSONObject.toJSONString(this); } }