diff --git a/src/main/java/com/newyetai/recruit/position/service/impl/PositionAuditServiceImpl.java b/src/main/java/com/newyetai/recruit/position/service/impl/PositionAuditServiceImpl.java index dae8823..87a6508 100644 --- a/src/main/java/com/newyetai/recruit/position/service/impl/PositionAuditServiceImpl.java +++ b/src/main/java/com/newyetai/recruit/position/service/impl/PositionAuditServiceImpl.java @@ -294,9 +294,30 @@ public class PositionAuditServiceImpl implements PositionAuditService { @Override public List positionPage(PositionNewPageQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - queryDTO.setOrgId(UserContextHolder.getExistLoginOrgId()); + + // 获取平台机构ID和当前登录机构ID + Long platformOrgId = CommonConstants.PLATFORM_ORG_ID; + Long loginOrgId = UserContextHolder.getExistLoginOrgId(); + // 获取配置的邀请机构ID(可能为null) + String inviterOrgId = configService.getConfigValue("org_apply_inviter_org_id", platformOrgId, true); + + // 标记是否需要设置orgId(默认不需要) + boolean needSetOrgId = false; + + if (inviterOrgId != null && !inviterOrgId.isEmpty()) { + // 配置存在且有效:既不是平台机构,也不等于配置机构时才需要设置 + needSetOrgId = !platformOrgId.equals(loginOrgId) && !inviterOrgId.equals(loginOrgId); + } else { + // 配置不存在:仅排除平台机构,其余需要设置 + needSetOrgId = !platformOrgId.equals(loginOrgId); } + + // 根据判断结果设置orgId + if (needSetOrgId) { + queryDTO.setOrgId(loginOrgId); + } + + List list = positionAuditMapper.positionPage(queryDTO); for (PositionNewDTO positionNewDTO : list) { positionNewDTO.setRecruitPositionTypeName(DictUtils.getCodeNameMap("recruit_position_type").get(positionNewDTO.getRecruitPositionType()));