# 岗位管理:支持新建人才集团机构查看全平台岗位数据
This commit is contained in:
@@ -1,13 +1,9 @@
|
|||||||
package com.newyetai.recruit.position.service.impl;
|
package com.newyetai.recruit.position.service.impl;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
|
||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.RandomUtil;
|
import cn.hutool.core.util.RandomUtil;
|
||||||
import com.newyetai.usercenter.user.constant.UserTypeEnum;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
import com.newyetai.common.AlitaResult;
|
import com.newyetai.common.AlitaResult;
|
||||||
import com.newyetai.common.constant.CommonConstants;
|
import com.newyetai.common.constant.CommonConstants;
|
||||||
import com.newyetai.common.dto.ExportHeadDetailInfoDTO;
|
import com.newyetai.common.dto.ExportHeadDetailInfoDTO;
|
||||||
@@ -15,30 +11,22 @@ import com.newyetai.common.dto.ExportHeadInfoDTO;
|
|||||||
import com.newyetai.common.easyexcel.ExcelUtil;
|
import com.newyetai.common.easyexcel.ExcelUtil;
|
||||||
import com.newyetai.common.exception.BusinessException;
|
import com.newyetai.common.exception.BusinessException;
|
||||||
import com.newyetai.common.exception.util.Assert;
|
import com.newyetai.common.exception.util.Assert;
|
||||||
import com.newyetai.common.util.JsonUtils;
|
import com.newyetai.common.util.UserContextHolder;
|
||||||
|
import com.newyetai.component.dict.util.DictUtils;
|
||||||
|
import com.newyetai.config.entity.Config;
|
||||||
|
import com.newyetai.config.service.ConfigService;
|
||||||
import com.newyetai.recruit.company.dto.HrCompanyDTO;
|
import com.newyetai.recruit.company.dto.HrCompanyDTO;
|
||||||
import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO;
|
import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO;
|
||||||
import com.newyetai.recruit.company.enums.HrCompanyEnum;
|
import com.newyetai.recruit.company.enums.HrCompanyEnum;
|
||||||
import com.newyetai.recruit.company.service.IHrCompanyService;
|
import com.newyetai.recruit.company.service.IHrCompanyService;
|
||||||
import com.newyetai.component.dict.util.DictUtils;
|
|
||||||
import com.newyetai.recruit.position.convert.PositionConvert;
|
import com.newyetai.recruit.position.convert.PositionConvert;
|
||||||
import com.newyetai.recruit.position.dao.PositionRegistrationMapper;
|
|
||||||
import com.newyetai.recruit.position.entity.Position;
|
|
||||||
import com.newyetai.recruit.position.dto.*;
|
|
||||||
import com.newyetai.recruit.position.dao.PositionMapper;
|
import com.newyetai.recruit.position.dao.PositionMapper;
|
||||||
|
import com.newyetai.recruit.position.dao.PositionRegistrationMapper;
|
||||||
|
import com.newyetai.recruit.position.dto.*;
|
||||||
|
import com.newyetai.recruit.position.entity.Position;
|
||||||
import com.newyetai.recruit.position.enums.PositionStatusEnum;
|
import com.newyetai.recruit.position.enums.PositionStatusEnum;
|
||||||
import com.newyetai.recruit.position.service.PositionFileService;
|
import com.newyetai.recruit.position.service.PositionFileService;
|
||||||
import com.newyetai.recruit.position.service.PositionService;
|
import com.newyetai.recruit.position.service.PositionService;
|
||||||
|
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.springframework.aop.framework.AopContext;
|
|
||||||
import org.springframework.beans.BeanUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import com.newyetai.common.util.UserContextHolder;
|
|
||||||
import com.newyetai.recruit.user.dao.UserCollectionMapper;
|
import com.newyetai.recruit.user.dao.UserCollectionMapper;
|
||||||
import com.newyetai.recruit.user.dto.JobExpectDTO;
|
import com.newyetai.recruit.user.dto.JobExpectDTO;
|
||||||
import com.newyetai.recruit.user.dto.JobExpectQueryDTO;
|
import com.newyetai.recruit.user.dto.JobExpectQueryDTO;
|
||||||
@@ -47,11 +35,10 @@ import com.newyetai.recruit.user.entity.UserCollection;
|
|||||||
import com.newyetai.recruit.user.service.JobExpectService;
|
import com.newyetai.recruit.user.service.JobExpectService;
|
||||||
import com.newyetai.recruit.user.service.ResumeService;
|
import com.newyetai.recruit.user.service.ResumeService;
|
||||||
import com.newyetai.sdk.tencent.map.TencentMapContext;
|
import com.newyetai.sdk.tencent.map.TencentMapContext;
|
||||||
import com.newyetai.sdk.tencent.map.dto.TencentMapBaseResDTO;
|
|
||||||
import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixElementsResDTO;
|
|
||||||
import com.newyetai.sdk.tencent.map.dto.TencentMapWsDistanceV1MatrixReqDTO;
|
import com.newyetai.sdk.tencent.map.dto.TencentMapWsDistanceV1MatrixReqDTO;
|
||||||
import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixResDTO;
|
import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixElementsResDTO;
|
||||||
import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixElementsRowResDTO;
|
import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixElementsRowResDTO;
|
||||||
|
import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixResDTO;
|
||||||
import com.newyetai.usercenter.org.dao.OrgMapper;
|
import com.newyetai.usercenter.org.dao.OrgMapper;
|
||||||
import com.newyetai.usercenter.org.entity.Org;
|
import com.newyetai.usercenter.org.entity.Org;
|
||||||
import com.newyetai.usercenter.org.enums.RecruitPositionTypeEnum;
|
import com.newyetai.usercenter.org.enums.RecruitPositionTypeEnum;
|
||||||
@@ -60,9 +47,16 @@ import com.newyetai.usercenter.user.service.UserService;
|
|||||||
import com.spatial4j.core.context.SpatialContext;
|
import com.spatial4j.core.context.SpatialContext;
|
||||||
import com.spatial4j.core.distance.DistanceUtils;
|
import com.spatial4j.core.distance.DistanceUtils;
|
||||||
import com.spatial4j.core.shape.Rectangle;
|
import com.spatial4j.core.shape.Rectangle;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.aop.framework.AopContext;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
@@ -109,6 +103,9 @@ public class PositionServiceImpl implements PositionService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private TencentMapContext tencentMapContext;
|
private TencentMapContext tencentMapContext;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ConfigService configService;
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public PositionDTO create(PositionOperatorDTO operatorDto) {
|
public PositionDTO create(PositionOperatorDTO operatorDto) {
|
||||||
@@ -263,9 +260,35 @@ public class PositionServiceImpl implements PositionService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<PositionDTO> page(PositionPageQueryDTO queryDTO) {
|
public List<PositionDTO> page(PositionPageQueryDTO queryDTO) {
|
||||||
if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) {
|
// 获取平台机构ID和当前登录机构ID
|
||||||
queryDTO.setOrgId(UserContextHolder.getExistLoginOrgId());
|
Long platformOrgId = CommonConstants.PLATFORM_ORG_ID;
|
||||||
|
Long loginOrgId = UserContextHolder.getExistLoginOrgId();
|
||||||
|
// 获取配置的邀请机构ID(可能为null)
|
||||||
|
Config orgApplyInviterOrgId = configService.getConfig("org_apply_inviter_org_id", platformOrgId, true);
|
||||||
|
|
||||||
|
// 标记是否需要设置orgId(默认不需要)
|
||||||
|
boolean needSetOrgId = false;
|
||||||
|
|
||||||
|
if (orgApplyInviterOrgId != null) {
|
||||||
|
// 配置存在:获取配置值,判断是否为有效非空值
|
||||||
|
String inviterOrgId = orgApplyInviterOrgId.getConfigValue();
|
||||||
|
if (inviterOrgId != null && !inviterOrgId.isEmpty()) {
|
||||||
|
// 配置存在且有效:既不是平台机构,也不等于配置机构时才需要设置
|
||||||
|
needSetOrgId = !platformOrgId.equals(loginOrgId) && !inviterOrgId.equals(loginOrgId);
|
||||||
|
} else {
|
||||||
|
// 配置存在但值为空:仅排除平台机构,其余需要设置
|
||||||
|
needSetOrgId = !platformOrgId.equals(loginOrgId);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 配置不存在:仅排除平台机构,其余需要设置
|
||||||
|
needSetOrgId = !platformOrgId.equals(loginOrgId);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据判断结果设置orgId
|
||||||
|
if (needSetOrgId) {
|
||||||
|
queryDTO.setOrgId(loginOrgId);
|
||||||
|
}
|
||||||
|
|
||||||
List<PositionDTO> list = positionMapper.page(queryDTO);
|
List<PositionDTO> list = positionMapper.page(queryDTO);
|
||||||
for (PositionDTO positionDTO : list) {
|
for (PositionDTO positionDTO : list) {
|
||||||
positionDTO.setRecruitPositionTypeName(DictUtils.getCodeNameMap("recruit_position_type").get(positionDTO.getRecruitPositionType()));
|
positionDTO.setRecruitPositionTypeName(DictUtils.getCodeNameMap("recruit_position_type").get(positionDTO.getRecruitPositionType()));
|
||||||
|
|||||||
Reference in New Issue
Block a user