From 93d7c5daf2d6c33c763536888209c80faecb12ad Mon Sep 17 00:00:00 2001 From: xuyuxiang Date: Mon, 12 Jan 2026 22:44:32 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E7=A7=9F=E6=88=B7=E4=BD=BF=E7=94=A8=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=E6=97=B6?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E7=9A=84=E6=97=A0=E6=AD=A4=E6=9D=83=E9=99=90?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../login/service/impl/AuthServiceImpl.java | 58 +++++-------------- 1 file changed, 14 insertions(+), 44 deletions(-) diff --git a/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/login/service/impl/AuthServiceImpl.java b/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/login/service/impl/AuthServiceImpl.java index 4b4b8f14..bc76d77b 100644 --- a/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/login/service/impl/AuthServiceImpl.java +++ b/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/login/service/impl/AuthServiceImpl.java @@ -48,7 +48,6 @@ import vip.xiaonuo.common.consts.CacheConstant; import vip.xiaonuo.common.exception.CommonException; import vip.xiaonuo.common.util.CommonCryptogramUtil; import vip.xiaonuo.common.util.CommonEmailUtil; -import java.util.concurrent.CompletableFuture; import vip.xiaonuo.common.util.CommonOtpUtil; import vip.xiaonuo.common.util.CommonTimeFormatUtil; import vip.xiaonuo.dev.api.DevConfigApi; @@ -704,27 +703,13 @@ public class AuthServiceImpl implements AuthService { List roleCodeList = roleList.stream().map(jsonObject -> jsonObject.getStr("code")).collect(Collectors.toList()); // 角色id和用户id集合 List userAndRoleIdList = CollectionUtil.unionAll(roleIdList, CollectionUtil.newArrayList(saBaseLoginUser.getId())); - - // 并行获取信息 - CompletableFuture> buttonCodeListFuture = CompletableFuture.supplyAsync(() -> - loginUserApi.getButtonCodeListListByUserAndRoleIdList(userAndRoleIdList)); - CompletableFuture> mobileButtonCodeListFuture = CompletableFuture.supplyAsync(() -> - loginUserApi.getMobileButtonCodeListListByUserIdAndRoleIdList(userAndRoleIdList)); - CompletableFuture> permissionListFuture = CompletableFuture.supplyAsync(() -> - loginUserApi.getPermissionListByUserIdAndRoleIdList(userAndRoleIdList, saBaseLoginUser.getOrgId())); - try { - // 等待所有任务完成 - CompletableFuture.allOf(buttonCodeListFuture, mobileButtonCodeListFuture, permissionListFuture).join(); - // 获取按钮码 - saBaseLoginUser.setButtonCodeList(buttonCodeListFuture.get()); - // 获取移动端按钮码 - saBaseLoginUser.setMobileButtonCodeList(mobileButtonCodeListFuture.get()); - // 获取数据范围 - saBaseLoginUser.setDataScopeList(Convert.toList(SaBaseLoginUser.DataScope.class, permissionListFuture.get())); - } catch (Exception e) { - throw new CommonException("获取登录配置信息失败", e); - } - + // 获取按钮码 + saBaseLoginUser.setButtonCodeList(loginUserApi.getButtonCodeListListByUserAndRoleIdList(userAndRoleIdList)); + // 获取移动端按钮码 + saBaseLoginUser.setMobileButtonCodeList(loginUserApi.getMobileButtonCodeListListByUserIdAndRoleIdList(userAndRoleIdList)); + // 获取数据范围 + saBaseLoginUser.setDataScopeList(Convert.toList(SaBaseLoginUser.DataScope.class, + loginUserApi.getPermissionListByUserIdAndRoleIdList(userAndRoleIdList, saBaseLoginUser.getOrgId()))); // 获取权限码 List permissionCodeList = saBaseLoginUser.getDataScopeList().stream() .map(SaBaseLoginUser.DataScope::getApiUrl).collect(Collectors.toList()); @@ -772,28 +757,13 @@ public class AuthServiceImpl implements AuthService { List roleCodeList = roleList.stream().map(jsonObject -> jsonObject.getStr("code")).collect(Collectors.toList()); // 角色id和用户id集合 List userAndRoleIdList = CollectionUtil.unionAll(roleIdList, CollectionUtil.newArrayList(saBaseClientLoginUser.getId())); - - // 并行获取信息 - CompletableFuture> buttonCodeListFuture = CompletableFuture.supplyAsync(() -> - clientLoginUserApi.getButtonCodeListListByUserAndRoleIdList(userAndRoleIdList)); - CompletableFuture> mobileButtonCodeListFuture = CompletableFuture.supplyAsync(() -> - clientLoginUserApi.getMobileButtonCodeListListByUserIdAndRoleIdList(userAndRoleIdList)); - CompletableFuture> permissionListFuture = CompletableFuture.supplyAsync(() -> - clientLoginUserApi.getPermissionListByUserIdAndRoleIdList(userAndRoleIdList, null)); - - try { - // 等待所有任务完成 - CompletableFuture.allOf(buttonCodeListFuture, mobileButtonCodeListFuture, permissionListFuture).join(); - // 获取按钮码 - saBaseClientLoginUser.setButtonCodeList(buttonCodeListFuture.get()); - // 获取移动端按钮码 - saBaseClientLoginUser.setMobileButtonCodeList(mobileButtonCodeListFuture.get()); - // 获取数据范围 - saBaseClientLoginUser.setDataScopeList(Convert.toList(SaBaseClientLoginUser.DataScope.class, permissionListFuture.get())); - } catch (Exception e) { - throw new CommonException("获取登录配置信息失败", e); - } - + // 获取按钮码 + saBaseClientLoginUser.setButtonCodeList(clientLoginUserApi.getButtonCodeListListByUserAndRoleIdList(userAndRoleIdList)); + // 获取移动端按钮码 + saBaseClientLoginUser.setMobileButtonCodeList(clientLoginUserApi.getMobileButtonCodeListListByUserIdAndRoleIdList(userAndRoleIdList)); + // 获取数据范围 + saBaseClientLoginUser.setDataScopeList(Convert.toList(SaBaseClientLoginUser.DataScope.class, + clientLoginUserApi.getPermissionListByUserIdAndRoleIdList(userAndRoleIdList, null))); // 获取权限码 List permissionCodeList = saBaseClientLoginUser.getDataScopeList().stream() .map(SaBaseClientLoginUser.DataScope::getApiUrl).collect(Collectors.toList());