From 8b0887206207b9692b1b6449830db42e87e5b430 Mon Sep 17 00:00:00 2001 From: aikai Date: Thu, 19 Dec 2024 18:33:46 +0800 Subject: [PATCH] =?UTF-8?q?fix(system):=20=E4=BF=AE=E5=A4=8D=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E5=85=AC=E4=BC=97=E5=8F=B7=E5=B9=B3=E5=8F=B0=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=20API=20=E7=9A=84=E6=95=B0=E6=8D=AE=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 - 在 getOpenIdByCondition 和 getByCondition 方法中添加数据权限忽略逻辑 - 使用 AtomicReference 和 DataPermissionUtils.executeIgnore 包装原有逻辑,以忽略数据权限检查 - 优化代码结构,提高可读性和维护性 --- .../auth/AdminOauthUserOtherInfoApiImpl.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/auth/AdminOauthUserOtherInfoApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/auth/AdminOauthUserOtherInfoApiImpl.java index 4ab5ebd7..8c299e05 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/auth/AdminOauthUserOtherInfoApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/auth/AdminOauthUserOtherInfoApiImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; +import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils; import cn.iocoder.yudao.module.system.api.auth.dto.AdminOauthUserOtherInfoApiDTO; import cn.iocoder.yudao.module.system.api.auth.vo.AdminOauthUserOtherInfoApiVO; import cn.iocoder.yudao.module.system.dal.dataobject.auth.AdminOauthUserOtherInfoDO; @@ -13,7 +14,9 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; +import java.util.concurrent.atomic.AtomicReference; @RestController // 提供 RESTful API 接口,给 Feign 调用 @Validated @@ -24,20 +27,24 @@ public class AdminOauthUserOtherInfoApiImpl implements AdminOauthUserOtherInfoAp @Override - @DataPermission(enable = false) public CommonResult> getOpenIdByCondition(AdminOauthUserOtherInfoApiDTO dto) { AdminOauthUserOtherInfoDTO adminOauthUserOtherInfoDTO = BeanUtil.copyProperties(dto, AdminOauthUserOtherInfoDTO.class); - List list = adminOauthUserOtherInfoService.getOpenIdByCondition(adminOauthUserOtherInfoDTO); - return CommonResult.success(BeanUtil.copyToList(list, AdminOauthUserOtherInfoApiVO.class)); + AtomicReference> list = new AtomicReference<>(new ArrayList<>()); + DataPermissionUtils.executeIgnore( + () -> list.set(adminOauthUserOtherInfoService.getOpenIdByCondition(adminOauthUserOtherInfoDTO)) + ); + return CommonResult.success(BeanUtil.copyToList(list.get(), AdminOauthUserOtherInfoApiVO.class)); } @Override - @DataPermission(enable = false) public CommonResult getByCondition(AdminOauthUserOtherInfoApiDTO dto) { AdminOauthUserOtherInfoDTO adminOauthUserOtherInfoDTO = BeanUtil.copyProperties(dto, AdminOauthUserOtherInfoDTO.class); - List list = adminOauthUserOtherInfoService.getOpenIdByCondition(adminOauthUserOtherInfoDTO); - if (CollUtil.isNotEmpty(list)) { - return CommonResult.success(BeanUtil.copyProperties(list.get(0), AdminOauthUserOtherInfoApiVO.class)); + AtomicReference> list = new AtomicReference<>(new ArrayList<>()); + DataPermissionUtils.executeIgnore( + () -> list.set(adminOauthUserOtherInfoService.getOpenIdByCondition(adminOauthUserOtherInfoDTO)) + ); + if (CollUtil.isNotEmpty(list.get())) { + return CommonResult.success(BeanUtil.copyProperties(list.get().get(0), AdminOauthUserOtherInfoApiVO.class)); } return CommonResult.success(null); }