fix(Bug修复): 用户申请加入专区,接口报错无权限
原因:申请加入专区时调用了校验数据权限的查询专区详情接口 修复方案:申请加入专区接口不校验数据权限
This commit is contained in:
parent
b4fd5ece52
commit
d05756932a
|
|
@ -225,12 +225,6 @@ public class PmsEnterpriseServiceImpl implements IPmsEnterpriseService {
|
|||
List<GitLinkUserSimpleInfoVo> 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;
|
||||
|
|
|
|||
|
|
@ -224,4 +224,12 @@ public interface IZoneDetailService {
|
|||
* @param zoneKey 专区标识
|
||||
*/
|
||||
void checkZoneKey(String zoneKey);
|
||||
|
||||
/**
|
||||
* 查询专区详情(不校验数据权限)
|
||||
*
|
||||
* @param zoneId 专区id
|
||||
* @return 专区详情
|
||||
*/
|
||||
ZoneDetail selectZoneDetailByIdNotVerifiedDataScope(Long zoneId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 + "])");
|
||||
|
|
|
|||
|
|
@ -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() + "])");
|
||||
|
|
|
|||
Loading…
Reference in New Issue