From d05756932afd57af3cffbdf63ec94d5200961b00 Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Tue, 10 Sep 2024 09:33:43 +0800 Subject: [PATCH] =?UTF-8?q?fix(Bug=E4=BF=AE=E5=A4=8D):=20=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=94=B3=E8=AF=B7=E5=8A=A0=E5=85=A5=E4=B8=93=E5=8C=BA?= =?UTF-8?q?=EF=BC=8C=E6=8E=A5=E5=8F=A3=E6=8A=A5=E9=94=99=E6=97=A0=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原因:申请加入专区时调用了校验数据权限的查询专区详情接口 修复方案:申请加入专区接口不校验数据权限 --- .../service/impl/PmsEnterpriseServiceImpl.java | 6 ------ .../zone/detail/service/IZoneDetailService.java | 8 ++++++++ .../detail/service/impl/ZoneDetailServiceImpl.java | 11 +++++++++++ .../member/service/impl/ZoneMemberServiceImpl.java | 2 +- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/enterprise/service/impl/PmsEnterpriseServiceImpl.java b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/enterprise/service/impl/PmsEnterpriseServiceImpl.java index ca72cccfb..abf2a1496 100644 --- a/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/enterprise/service/impl/PmsEnterpriseServiceImpl.java +++ b/microservices-modules/microservices-modules-pms/src/main/java/com/microservices/pms/enterprise/service/impl/PmsEnterpriseServiceImpl.java @@ -225,12 +225,6 @@ public class PmsEnterpriseServiceImpl implements IPmsEnterpriseService { List gitlinkUserList = pmsCommonService.getAllGitlinkUsersByOrgTeam( pmsEnterprise.getEnterpriseIdentifier(), gitlinkOrganizationTeamVo.getId() ); - if ("owner".equalsIgnoreCase(gitlinkOrganizationTeamVo.getAuthorize())) { - boolean currentUserIsOwner = gitlinkUserList.stream().anyMatch(x -> x.getUserId().equals(SecurityUtils.getGitlinkUserId())); - if (!currentUserIsOwner) { - throw new ServiceException("当前用户非组织管理员,无法开通工作台"); - } - } for (GitLinkUserSimpleInfoVo gitLinkUserSimpleInfoVo : gitlinkUserList) { if (gitLinkUserSimpleInfoVo.getUserId() == null) { break; diff --git a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/detail/service/IZoneDetailService.java b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/detail/service/IZoneDetailService.java index 89f0d1df5..65859f6ea 100644 --- a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/detail/service/IZoneDetailService.java +++ b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/detail/service/IZoneDetailService.java @@ -224,4 +224,12 @@ public interface IZoneDetailService { * @param zoneKey 专区标识 */ void checkZoneKey(String zoneKey); + + /** + * 查询专区详情(不校验数据权限) + * + * @param zoneId 专区id + * @return 专区详情 + */ + ZoneDetail selectZoneDetailByIdNotVerifiedDataScope(Long zoneId); } diff --git a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/detail/service/impl/ZoneDetailServiceImpl.java b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/detail/service/impl/ZoneDetailServiceImpl.java index 01e4acba3..b1eebf60e 100644 --- a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/detail/service/impl/ZoneDetailServiceImpl.java +++ b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/detail/service/impl/ZoneDetailServiceImpl.java @@ -116,6 +116,17 @@ public class ZoneDetailServiceImpl implements IZoneDetailService { @Override public ZoneDetail selectZoneDetailById(Long id) { checkZoneDataScope(id); + return selectZoneDetailByIdNotVerifiedDataScope(id); + } + + /** + * 查询特色专区详情(不校验数据权限) + * + * @param id 特色专区详情主键 + * @return 特色专区详情 + */ + @Override + public ZoneDetail selectZoneDetailByIdNotVerifiedDataScope(Long id) { ZoneDetail zoneDetail = zoneDetailMapper.selectZoneDetailById(id); if (zoneDetail == null) { throw new ServiceException("该特色专区不存在或无权限访问(专区id[" + id + "])"); diff --git a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/member/service/impl/ZoneMemberServiceImpl.java b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/member/service/impl/ZoneMemberServiceImpl.java index 07369e2b0..16d49b8d8 100644 --- a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/member/service/impl/ZoneMemberServiceImpl.java +++ b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/member/service/impl/ZoneMemberServiceImpl.java @@ -449,7 +449,7 @@ public class ZoneMemberServiceImpl implements IZoneMemberService { public boolean applyToJoinZone(Long zoneId, ZoneMemberApplyVo zoneMemberApplyVo) { Long currentUserId = SecurityUtils.getUserId(); String currentUsername = SecurityUtils.getUsername(); - ZoneDetail zoneDetail = zoneDetailService.selectZoneDetailById(zoneId); + ZoneDetail zoneDetail = zoneDetailService.selectZoneDetailByIdNotVerifiedDataScope(zoneId); ZoneMember zoneMember = zoneMemberMapper.selectZoneMemberByZoneIdAndUserId(zoneId, currentUserId); if (zoneMember != null) { throw new ServiceException("专区中已存在该会员(专区名称[" + zoneDetail.getName() + "],用户名[" + SecurityUtils.getUsername() + "])");