【修复】修复租户使用业务模块相关功能时提示的无此权限问题

This commit is contained in:
xuyuxiang
2026-01-12 22:44:32 +08:00
parent c7d719e286
commit 93d7c5daf2

View File

@@ -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<String> roleCodeList = roleList.stream().map(jsonObject -> jsonObject.getStr("code")).collect(Collectors.toList());
// 角色id和用户id集合
List<String> userAndRoleIdList = CollectionUtil.unionAll(roleIdList, CollectionUtil.newArrayList(saBaseLoginUser.getId()));
// 并行获取信息
CompletableFuture<List<String>> buttonCodeListFuture = CompletableFuture.supplyAsync(() ->
loginUserApi.getButtonCodeListListByUserAndRoleIdList(userAndRoleIdList));
CompletableFuture<List<String>> mobileButtonCodeListFuture = CompletableFuture.supplyAsync(() ->
loginUserApi.getMobileButtonCodeListListByUserIdAndRoleIdList(userAndRoleIdList));
CompletableFuture<List<JSONObject>> permissionListFuture = CompletableFuture.supplyAsync(() ->
loginUserApi.getPermissionListByUserIdAndRoleIdList(userAndRoleIdList, saBaseLoginUser.getOrgId()));
try {
// 等待所有任务完成
CompletableFuture.allOf(buttonCodeListFuture, mobileButtonCodeListFuture, permissionListFuture).join();
// 获取按钮码
saBaseLoginUser.setButtonCodeList(buttonCodeListFuture.get());
saBaseLoginUser.setButtonCodeList(loginUserApi.getButtonCodeListListByUserAndRoleIdList(userAndRoleIdList));
// 获取移动端按钮码
saBaseLoginUser.setMobileButtonCodeList(mobileButtonCodeListFuture.get());
saBaseLoginUser.setMobileButtonCodeList(loginUserApi.getMobileButtonCodeListListByUserIdAndRoleIdList(userAndRoleIdList));
// 获取数据范围
saBaseLoginUser.setDataScopeList(Convert.toList(SaBaseLoginUser.DataScope.class, permissionListFuture.get()));
} catch (Exception e) {
throw new CommonException("获取登录配置信息失败", e);
}
saBaseLoginUser.setDataScopeList(Convert.toList(SaBaseLoginUser.DataScope.class,
loginUserApi.getPermissionListByUserIdAndRoleIdList(userAndRoleIdList, saBaseLoginUser.getOrgId())));
// 获取权限码
List<String> permissionCodeList = saBaseLoginUser.getDataScopeList().stream()
.map(SaBaseLoginUser.DataScope::getApiUrl).collect(Collectors.toList());
@@ -772,28 +757,13 @@ public class AuthServiceImpl implements AuthService {
List<String> roleCodeList = roleList.stream().map(jsonObject -> jsonObject.getStr("code")).collect(Collectors.toList());
// 角色id和用户id集合
List<String> userAndRoleIdList = CollectionUtil.unionAll(roleIdList, CollectionUtil.newArrayList(saBaseClientLoginUser.getId()));
// 并行获取信息
CompletableFuture<List<String>> buttonCodeListFuture = CompletableFuture.supplyAsync(() ->
clientLoginUserApi.getButtonCodeListListByUserAndRoleIdList(userAndRoleIdList));
CompletableFuture<List<String>> mobileButtonCodeListFuture = CompletableFuture.supplyAsync(() ->
clientLoginUserApi.getMobileButtonCodeListListByUserIdAndRoleIdList(userAndRoleIdList));
CompletableFuture<List<JSONObject>> permissionListFuture = CompletableFuture.supplyAsync(() ->
clientLoginUserApi.getPermissionListByUserIdAndRoleIdList(userAndRoleIdList, null));
try {
// 等待所有任务完成
CompletableFuture.allOf(buttonCodeListFuture, mobileButtonCodeListFuture, permissionListFuture).join();
// 获取按钮码
saBaseClientLoginUser.setButtonCodeList(buttonCodeListFuture.get());
saBaseClientLoginUser.setButtonCodeList(clientLoginUserApi.getButtonCodeListListByUserAndRoleIdList(userAndRoleIdList));
// 获取移动端按钮码
saBaseClientLoginUser.setMobileButtonCodeList(mobileButtonCodeListFuture.get());
saBaseClientLoginUser.setMobileButtonCodeList(clientLoginUserApi.getMobileButtonCodeListListByUserIdAndRoleIdList(userAndRoleIdList));
// 获取数据范围
saBaseClientLoginUser.setDataScopeList(Convert.toList(SaBaseClientLoginUser.DataScope.class, permissionListFuture.get()));
} catch (Exception e) {
throw new CommonException("获取登录配置信息失败", e);
}
saBaseClientLoginUser.setDataScopeList(Convert.toList(SaBaseClientLoginUser.DataScope.class,
clientLoginUserApi.getPermissionListByUserIdAndRoleIdList(userAndRoleIdList, null)));
// 获取权限码
List<String> permissionCodeList = saBaseClientLoginUser.getDataScopeList().stream()
.map(SaBaseClientLoginUser.DataScope::getApiUrl).collect(Collectors.toList());