-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
25 changed files
with
236 additions
and
388 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 12 additions & 0 deletions
12
server/src/main/java/com/jixialunbi/common/result/IResultCode.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package com.jixialunbi.common.result; | ||
|
||
/** | ||
* @author haoxr | ||
**/ | ||
public interface IResultCode { | ||
|
||
String getCode(); | ||
|
||
String getMessage(); | ||
|
||
} |
107 changes: 107 additions & 0 deletions
107
server/src/main/java/com/jixialunbi/common/result/ResultCode.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
package com.jixialunbi.common.result; | ||
|
||
import lombok.AllArgsConstructor; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.io.Serializable; | ||
|
||
/** | ||
* 前后端数据交换状态码 | ||
* | ||
* @author haoxr | ||
* @since 2020-06-23 | ||
**/ | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public enum ResultCode implements IResultCode, Serializable { | ||
|
||
SUCCESS("00000", "成功"), | ||
|
||
USER_ERROR("A0001", "用户端错误"), | ||
REPEAT_SUBMIT_ERROR("A0002", "您的请求已提交,请不要重复提交或等待片刻再尝试。"), | ||
USER_LOGIN_ERROR("A0200", "用户登录异常"), | ||
USER_NOT_EXIST("A0201", "用户不存在"), | ||
USERNAME_OR_PASSWORD_ERROR("A0210", "用户名或密码错误"), | ||
PASSWORD_ENTER_EXCEED_LIMIT("A0211", "用户输入密码次数超限"), | ||
CLIENT_AUTHENTICATION_FAILED("A0212", "客户端认证失败"), | ||
|
||
VERIFY_CODE_TIMEOUT("A0213", "验证码已过期"), | ||
VERIFY_CODE_ERROR("A0214", "验证码错误"), | ||
|
||
TOKEN_INVALID("A0230", "token无效或已过期"), | ||
TOKEN_ACCESS_FORBIDDEN("A0231", "token已被禁止访问"), | ||
|
||
AUTHORIZED_ERROR("A0300", "访问权限异常"), | ||
ACCESS_UNAUTHORIZED("A0301", "访问未授权"), | ||
FORBIDDEN_OPERATION("A0302", "演示环境禁止新增、修改和删除数据,请本地部署后测试"), | ||
|
||
|
||
PARAM_ERROR("A0400", "用户请求参数错误"), | ||
RESOURCE_NOT_FOUND("A0401", "请求资源不存在"), | ||
PARAM_IS_NULL("A0410", "请求必填参数为空"), | ||
|
||
USER_UPLOAD_FILE_ERROR("A0700", "用户上传文件异常"), | ||
USER_UPLOAD_FILE_TYPE_NOT_MATCH("A0701", "用户上传文件类型不匹配"), | ||
USER_UPLOAD_FILE_SIZE_EXCEEDS("A0702", "用户上传文件太大"), | ||
USER_UPLOAD_IMAGE_SIZE_EXCEEDS("A0703", "用户上传图片太大"), | ||
|
||
SYSTEM_EXECUTION_ERROR("B0001", "系统执行出错"), | ||
SYSTEM_EXECUTION_TIMEOUT("B0100", "系统执行超时"), | ||
SYSTEM_ORDER_PROCESSING_TIMEOUT("B0100", "系统订单处理超时"), | ||
|
||
SYSTEM_DISASTER_RECOVERY_TRIGGER("B0200", "系统容灾功能被出发"), | ||
FLOW_LIMITING("B0210", "系统限流"), | ||
DEGRADATION("B0220", "系统功能降级"), | ||
|
||
SYSTEM_RESOURCE_ERROR("B0300", "系统资源异常"), | ||
SYSTEM_RESOURCE_EXHAUSTION("B0310", "系统资源耗尽"), | ||
SYSTEM_RESOURCE_ACCESS_ERROR("B0320", "系统资源访问异常"), | ||
SYSTEM_READ_DISK_FILE_ERROR("B0321", "系统读取磁盘文件失败"), | ||
|
||
CALL_THIRD_PARTY_SERVICE_ERROR("C0001", "调用第三方服务出错"), | ||
MIDDLEWARE_SERVICE_ERROR("C0100", "中间件服务出错"), | ||
INTERFACE_NOT_EXIST("C0113", "接口不存在"), | ||
|
||
MESSAGE_SERVICE_ERROR("C0120", "消息服务出错"), | ||
MESSAGE_DELIVERY_ERROR("C0121", "消息投递出错"), | ||
MESSAGE_CONSUMPTION_ERROR("C0122", "消息消费出错"), | ||
MESSAGE_SUBSCRIPTION_ERROR("C0123", "消息订阅出错"), | ||
MESSAGE_GROUP_NOT_FOUND("C0124", "消息分组未查到"), | ||
|
||
DATABASE_ERROR("C0300", "数据库服务出错"), | ||
DATABASE_TABLE_NOT_EXIST("C0311", "表不存在"), | ||
DATABASE_COLUMN_NOT_EXIST("C0312", "列不存在"), | ||
DATABASE_DUPLICATE_COLUMN_NAME("C0321", "多表关联中存在多个相同名称的列"), | ||
DATABASE_DEADLOCK("C0331", "数据库死锁"), | ||
DATABASE_PRIMARY_KEY_CONFLICT("C0341", "主键冲突"); | ||
|
||
private String code; | ||
private String msg; | ||
|
||
public static ResultCode getValue(String code) { | ||
for (ResultCode value : values()) { | ||
if (value.getCode().equals(code)) { | ||
return value; | ||
} | ||
} | ||
return SYSTEM_EXECUTION_ERROR; // 默认系统执行错误 | ||
} | ||
|
||
@Override | ||
public String getCode() { | ||
return code; | ||
} | ||
|
||
@Override | ||
public String getMessage() { | ||
return msg; | ||
} | ||
|
||
@Override | ||
public String toString() { | ||
return "{" + | ||
"\"code\":\"" + code + '\"' + | ||
", \"msg\":\"" + msg + '\"' + | ||
'}'; | ||
} | ||
} |
37 changes: 37 additions & 0 deletions
37
server/src/main/java/com/jixialunbi/common/utils/ResponseUtils.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
package com.jixialunbi.common.utils; | ||
|
||
import cn.hutool.json.JSONUtil; | ||
import com.jixialunbi.common.R; | ||
import com.jixialunbi.common.result.ResultCode; | ||
import jakarta.servlet.http.HttpServletResponse; | ||
import lombok.extern.slf4j.Slf4j; | ||
import org.springframework.http.HttpStatus; | ||
import org.springframework.http.MediaType; | ||
|
||
import java.io.IOException; | ||
import java.io.PrintWriter; | ||
import java.nio.charset.StandardCharsets; | ||
|
||
@Slf4j | ||
public class ResponseUtils { | ||
|
||
public static void writeErrMsg(HttpServletResponse response, ResultCode resultCode) { | ||
// 根据不同的结果码设置HTTP状态 | ||
int status = switch (resultCode) { | ||
case ACCESS_UNAUTHORIZED, TOKEN_INVALID -> HttpStatus.UNAUTHORIZED.value(); | ||
case TOKEN_ACCESS_FORBIDDEN -> HttpStatus.FORBIDDEN.value(); | ||
default -> HttpStatus.BAD_REQUEST.value(); | ||
}; | ||
response.setStatus(status); | ||
response.setContentType(MediaType.APPLICATION_JSON_VALUE); | ||
response.setCharacterEncoding(StandardCharsets.UTF_8.name()); | ||
try (PrintWriter writer = response.getWriter()) { | ||
String jsonResponse = JSONUtil.toJsonStr(R.error(resultCode)); | ||
writer.print(jsonResponse); | ||
writer.flush(); // 确保将响应内容写入到输出流 | ||
} catch (IOException e) { | ||
log.error("响应异常处理失败", e); | ||
} | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.