From a3e354cea91d2139265f11b18b16399b1f0e119c Mon Sep 17 00:00:00 2001 From: lijiahang Date: Tue, 16 Apr 2024 12:01:44 +0800 Subject: [PATCH] =?UTF-8?q?:zap:=20=E4=BC=98=E5=8C=96=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=BA=A4=E4=BA=92=E9=80=BB=E8=BE=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/common/constant/ErrorCode.java | 8 +-- .../infra/entity/dto/user/SystemUserDTO.java | 2 +- .../infra/entity/domain/SystemUserDO.java | 2 +- .../module/infra/entity/dto/UserInfoDTO.java | 2 +- .../request/user/SystemUserQueryRequest.java | 2 +- .../user/SystemUserUpdateStatusRequest.java | 2 +- .../module/infra/entity/vo/SystemUserVO.java | 2 +- .../infra/enums/LoginTokenStatusEnum.java | 4 +- .../module/infra/enums/UserStatusEnum.java | 8 --- .../impl/AuthenticationServiceImpl.java | 16 ----- .../service/impl/SystemUserServiceImpl.java | 8 +-- orion-ops-ui/src/api/interceptor.ts | 2 +- .../views/user/role/components/role-table.vue | 64 ++++++++--------- .../views/user/role/types/table.columns.ts | 6 +- .../views/user/user/components/user-table.vue | 72 ++++++++----------- .../src/views/user/user/types/const.ts | 2 - .../views/user/user/types/table.columns.ts | 6 +- sql/init-2-schema-tables.sql | 2 +- sql/init-4-data.sql | 1 - 19 files changed, 78 insertions(+), 133 deletions(-) diff --git a/orion-ops-framework/orion-ops-framework-common/src/main/java/com/orion/ops/framework/common/constant/ErrorCode.java b/orion-ops-framework/orion-ops-framework-common/src/main/java/com/orion/ops/framework/common/constant/ErrorCode.java index ab3e9944..06c91935 100644 --- a/orion-ops-framework/orion-ops-framework-common/src/main/java/com/orion/ops/framework/common/constant/ErrorCode.java +++ b/orion-ops-framework/orion-ops-framework-common/src/main/java/com/orion/ops/framework/common/constant/ErrorCode.java @@ -38,7 +38,7 @@ public enum ErrorCode implements CodeInfo { PAYLOAD_TOO_LARGE(413, "请求过大"), - LOCKED(423, "当前已被锁定"), + LOCKED(423, "当前操作已被锁定"), TOO_MANY_REQUESTS(429, "请求过快"), @@ -48,11 +48,9 @@ public enum ErrorCode implements CodeInfo { USER_DISABLED(700, "当前用户已禁用"), - USER_LOCKED(701, "当前用户已被锁定"), + USER_OTHER_DEVICE_LOGIN(701, "该账号于 {} 已在其他设备登录 {}({})"), - OTHER_DEVICE_LOGIN(702, "该账号于 {} 已在其他设备登录 {}({})"), - - SESSION_OFFLINE(703, "该账号于 {} 已被强制下线 {}({})"), + USER_OFFLINE(702, "该账号于 {} 已被强制下线 {}({})"), // -------------------- 自定义 - 通用 -------------------- diff --git a/orion-ops-module-infra/orion-ops-module-infra-provider/src/main/java/com/orion/ops/module/infra/entity/dto/user/SystemUserDTO.java b/orion-ops-module-infra/orion-ops-module-infra-provider/src/main/java/com/orion/ops/module/infra/entity/dto/user/SystemUserDTO.java index fe9741d5..f281c3e6 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-provider/src/main/java/com/orion/ops/module/infra/entity/dto/user/SystemUserDTO.java +++ b/orion-ops-module-infra/orion-ops-module-infra-provider/src/main/java/com/orion/ops/module/infra/entity/dto/user/SystemUserDTO.java @@ -43,7 +43,7 @@ public class SystemUserDTO implements Serializable { @Schema(description = "邮箱") private String email; - @Schema(description = "用户状态 0停用 1启用 2锁定") + @Schema(description = "用户状态 0停用 1启用") private Integer status; @Schema(description = "最后登录时间") diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemUserDO.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemUserDO.java index bd2c2fb6..b2b5111b 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemUserDO.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemUserDO.java @@ -56,7 +56,7 @@ public class SystemUserDO extends BaseDO { @TableField("email") private String email; - @Schema(description = "用户状态 0停用 1启用 2锁定") + @Schema(description = "用户状态 0停用 1启用") @TableField("status") private Integer status; diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/dto/UserInfoDTO.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/dto/UserInfoDTO.java index 9e40b98c..5f2359bc 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/dto/UserInfoDTO.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/dto/UserInfoDTO.java @@ -43,7 +43,7 @@ public class UserInfoDTO implements LongCacheIdModel, Serializable { @Schema(description = "邮箱") private String email; - @Schema(description = "用户状态 0停用 1启用 2锁定") + @Schema(description = "用户状态 0停用 1启用") private Integer status; } diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/user/SystemUserQueryRequest.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/user/SystemUserQueryRequest.java index 7c5025f8..7cd7f5b5 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/user/SystemUserQueryRequest.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/user/SystemUserQueryRequest.java @@ -40,7 +40,7 @@ public class SystemUserQueryRequest extends PageRequest { @Schema(description = "邮箱") private String email; - @Schema(description = "用户状态 0停用 1启用 2锁定") + @Schema(description = "用户状态 0停用 1启用") private Integer status; } diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/user/SystemUserUpdateStatusRequest.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/user/SystemUserUpdateStatusRequest.java index 9e7b50c0..8f0aadd0 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/user/SystemUserUpdateStatusRequest.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/user/SystemUserUpdateStatusRequest.java @@ -28,7 +28,7 @@ public class SystemUserUpdateStatusRequest implements Serializable { private Long id; @NotNull - @Schema(description = "用户状态 0停用 1启用 2锁定") + @Schema(description = "用户状态 0停用 1启用") private Integer status; } diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/vo/SystemUserVO.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/vo/SystemUserVO.java index 62b9d62e..52c9cdc7 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/vo/SystemUserVO.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/vo/SystemUserVO.java @@ -43,7 +43,7 @@ public class SystemUserVO implements Serializable { @Schema(description = "邮箱") private String email; - @Schema(description = "用户状态 0停用 1启用 2锁定") + @Schema(description = "用户状态 0停用 1启用") private Integer status; @Schema(description = "最后登录时间") diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/enums/LoginTokenStatusEnum.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/enums/LoginTokenStatusEnum.java index 61d12f82..b28baab1 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/enums/LoginTokenStatusEnum.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/enums/LoginTokenStatusEnum.java @@ -32,7 +32,7 @@ public enum LoginTokenStatusEnum { @Override public RuntimeException toException(LoginTokenDTO token) { LoginTokenIdentityDTO override = token.getOverride(); - return ErrorCode.OTHER_DEVICE_LOGIN.exception( + return ErrorCode.USER_OTHER_DEVICE_LOGIN.exception( Dates.format(new Date(override.getLoginTime()), Dates.MD_HM), override.getAddress(), override.getLocation()); @@ -47,7 +47,7 @@ public enum LoginTokenStatusEnum { @Override public RuntimeException toException(LoginTokenDTO token) { LoginTokenIdentityDTO override = token.getOverride(); - return ErrorCode.SESSION_OFFLINE.exception( + return ErrorCode.USER_OFFLINE.exception( Dates.format(new Date(override.getLoginTime()), Dates.MD_HM), override.getAddress(), override.getLocation()); diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/enums/UserStatusEnum.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/enums/UserStatusEnum.java index 7afb941a..d92350a7 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/enums/UserStatusEnum.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/enums/UserStatusEnum.java @@ -25,11 +25,6 @@ public enum UserStatusEnum { */ ENABLED(1), - /** - * 2 锁定 - */ - LOCKED(2), - ; private final Integer status; @@ -55,9 +50,6 @@ public enum UserStatusEnum { if (UserStatusEnum.DISABLED.getStatus().equals(status)) { // 禁用状态 throw ErrorCode.USER_DISABLED.exception(); - } else if (UserStatusEnum.LOCKED.getStatus().equals(status)) { - // 锁定状态 - throw ErrorCode.USER_LOCKED.exception(); } } diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/AuthenticationServiceImpl.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/AuthenticationServiceImpl.java index c31b5379..ec31bf96 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/AuthenticationServiceImpl.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/AuthenticationServiceImpl.java @@ -242,22 +242,6 @@ public class AuthenticationServiceImpl implements AuthenticationService { String failedCountKey = UserCacheKeyDefine.LOGIN_FAILED_COUNT.format(request.getUsername()); Long failedLoginCount = redisTemplate.opsForValue().increment(failedCountKey); RedisUtils.setExpire(failedCountKey, appAuthenticationConfig.getLoginFailedLockTime(), TimeUnit.MINUTES); - // // 锁定用户 - // if (failedLoginCount >= appAuthenticationConfig.getLoginFailedLockCount()) { - // // 更新用户表 - // SystemUserDO updateUser = new SystemUserDO(); - // updateUser.setId(user.getId()); - // updateUser.setStatus(UserStatusEnum.LOCKED.getStatus()); - // systemUserDAO.updateById(updateUser); - // // 修改缓存状态 - // String userInfoKey = UserCacheKeyDefine.USER_INFO.format(user.getId()); - // String userInfoCache = redisTemplate.opsForValue().get(userInfoKey); - // if (userInfoCache != null) { - // LoginUser loginUser = JSON.parseObject(userInfoCache, LoginUser.class); - // loginUser.setStatus(UserStatusEnum.LOCKED.getStatus()); - // RedisStrings.setJson(userInfoKey, UserCacheKeyDefine.USER_INFO, loginUser); - // } - // } return false; } diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/SystemUserServiceImpl.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/SystemUserServiceImpl.java index 5044b943..b3828d36 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/SystemUserServiceImpl.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/SystemUserServiceImpl.java @@ -130,11 +130,7 @@ public class SystemUserServiceImpl implements SystemUserService { if (id.equals(SecurityUtils.getLoginUserId())) { throw ErrorCode.UNSUPPOETED.exception(); } - // 检查状态 UserStatusEnum status = Valid.valid(UserStatusEnum::of, request.getStatus()); - if (!status.equals(UserStatusEnum.DISABLED) && !status.equals(UserStatusEnum.ENABLED)) { - throw ErrorCode.BAD_REQUEST.exception(); - } // 查询用户 SystemUserDO record = systemUserDAO.selectById(id); Valid.notNull(record, ErrorMessage.USER_ABSENT); @@ -146,8 +142,8 @@ public class SystemUserServiceImpl implements SystemUserService { // 更新用户 int effect = systemUserDAO.updateById(updateRecord); log.info("SystemUserService-updateUserStatus effect: {}, updateRecord: {}", effect, JSON.toJSONString(updateRecord)); - // 如果之前是锁定则删除登录失败次数缓存 - if (UserStatusEnum.LOCKED.getStatus().equals(record.getStatus())) { + // 改为启用则删除登录失败次数缓存 + if (UserStatusEnum.ENABLED.equals(status)) { RedisUtils.delete(UserCacheKeyDefine.LOGIN_FAILED_COUNT.format(record.getUsername())); } // 更新用户缓存中的 status diff --git a/orion-ops-ui/src/api/interceptor.ts b/orion-ops-ui/src/api/interceptor.ts index 52998264..0979c928 100644 --- a/orion-ops-ui/src/api/interceptor.ts +++ b/orion-ops-ui/src/api/interceptor.ts @@ -46,7 +46,7 @@ axios.interceptors.response.use( return res; } // 异常判断 - if ([401, 700, 701, 702, 703].includes(code)) { + if ([401, 700, 701, 702].includes(code)) { // 提示 Message.error({ content: res.msg || 'Error', diff --git a/orion-ops-ui/src/views/user/role/components/role-table.vue b/orion-ops-ui/src/views/user/role/components/role-table.vue index 3c2e472f..e69d9007 100644 --- a/orion-ops-ui/src/views/user/role/components/role-table.vue +++ b/orion-ops-ui/src/views/user/role/components/role-table.vue @@ -68,27 +68,27 @@