Commit 975afd36f5bb1e8c74ba6105aeea38e75104381f

Authored by zichun
1 parent cb7705e0

feat(usr): 新增登录限流错误码 42901 REQ-USR-004

backend/src/main/java/com/xly/erp/common/response/ResultCode.java
@@ -24,6 +24,8 @@ public enum ResultCode { @@ -24,6 +24,8 @@ public enum ResultCode {
24 USERNAME_EXISTS(40901, "用户名已存在"), 24 USERNAME_EXISTS(40901, "用户名已存在"),
25 /** 分页参数非法(预留 REQ-USR-003)。 */ 25 /** 分页参数非法(预留 REQ-USR-003)。 */
26 PAGE_PARAM_INVALID(42201, "分页参数非法"), 26 PAGE_PARAM_INVALID(42201, "分页参数非法"),
  27 + /** 登录过于频繁(连续失败超阈值,账号临时锁定;REQ-USR-004)。 */
  28 + LOGIN_RATE_LIMITED(42901, "请求过于频繁,请稍后重试"),
27 /** 系统内部错误(兜底)。 */ 29 /** 系统内部错误(兜底)。 */
28 SYSTEM_ERROR(50000, "系统繁忙,请稍后重试"); 30 SYSTEM_ERROR(50000, "系统繁忙,请稍后重试");
29 31
backend/src/test/java/com/xly/erp/common/response/ResultCodeLoginTest.java 0 → 100644
  1 +package com.xly.erp.common.response;
  2 +
  3 +import static org.assertj.core.api.Assertions.assertThat;
  4 +
  5 +import org.junit.jupiter.api.Test;
  6 +
  7 +/**
  8 + * REQ-USR-004 T1:登录相关错误码断言。
  9 + *
  10 + * <p>新增登录限流码 {@code LOGIN_RATE_LIMITED=42901};并确认登录流程复用的既有码
  11 + * {@code UNAUTHORIZED=40101} / {@code ACCOUNT_DISABLED=40302} / {@code PARAM_INVALID=40001}
  12 + * 取值不变(不重复定义、不漂移)。</p>
  13 + */
  14 +class ResultCodeLoginTest {
  15 +
  16 + @Test
  17 + void loginRateLimitedCodeIs42901() {
  18 + assertThat(ResultCode.LOGIN_RATE_LIMITED.getCode()).isEqualTo(42901);
  19 + assertThat(ResultCode.LOGIN_RATE_LIMITED.getMessage()).isNotBlank();
  20 + }
  21 +
  22 + @Test
  23 + void existingLoginCodesPresent() {
  24 + assertThat(ResultCode.UNAUTHORIZED.getCode()).isEqualTo(40101);
  25 + assertThat(ResultCode.ACCOUNT_DISABLED.getCode()).isEqualTo(40302);
  26 + assertThat(ResultCode.PARAM_INVALID.getCode()).isEqualTo(40001);
  27 + }
  28 +}