岗位地址list改造

This commit is contained in:
guixinman
2025-07-25 15:21:46 +08:00
parent 73e8dcabb2
commit 8ae137192b
4 changed files with 33 additions and 10 deletions

View File

@@ -1,8 +1,13 @@
package com.newyetai.recruit.position.dao; package com.newyetai.recruit.position.dao;
import com.newyetai.recruit.position.dto.PositionAddressDTO;
import com.newyetai.recruit.position.dto.PositionAddressQueryDTO;
import com.newyetai.recruit.position.entity.PositionAddress; import com.newyetai.recruit.position.entity.PositionAddress;
import com.newyetai.tkmybatis.mybatis.MyMapper; import com.newyetai.tkmybatis.mybatis.MyMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
@@ -13,4 +18,5 @@ import com.newyetai.tkmybatis.mybatis.MyMapper;
*/ */
public interface PositionAddressMapper extends MyMapper<PositionAddress> { public interface PositionAddressMapper extends MyMapper<PositionAddress> {
List<PositionAddressDTO> list(@Param("param") PositionAddressQueryDTO queryDTO);
} }

View File

@@ -33,4 +33,6 @@ public class PositionAddressQueryDTO implements Serializable {
@ApiModelProperty("ID集合") @ApiModelProperty("ID集合")
private Set<Long> ids; private Set<Long> ids;
private Long orgId;
} }

View File

@@ -2,4 +2,24 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.newyetai.recruit.position.dao.PositionAddressMapper"> <mapper namespace="com.newyetai.recruit.position.dao.PositionAddressMapper">
<select id="list" resultType="com.newyetai.recruit.position.dto.PositionAddressDTO">
select
t.*
from
hr_position_address t
inner join hr_company hc on t.company_id = hc.id and hc.deleted = 0
where t.deleted = 0
<if test='param.orgId != null'>
AND hc.org_id = #{param.orgId}
</if>
<if test='param.companyId != null'>
AND t.company_id = #{param.companyId}
</if>
<if test="param.ids != null and param.ids.size()>0">
AND t.id in
<foreach collection="param.ids" open="(" separator="," close=")" item="id">
#{id}
</foreach>
</if>
</select>
</mapper> </mapper>

View File

@@ -2,6 +2,7 @@ package com.newyetai.recruit.position.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.newyetai.common.constant.CommonConstants;
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.SensitiveWordUtils; import com.newyetai.common.util.SensitiveWordUtils;
@@ -62,18 +63,12 @@ public class PositionAddressServiceImpl implements PositionAddressService {
@Override @Override
public List<PositionAddressDTO> list(PositionAddressQueryDTO queryDTO) { public List<PositionAddressDTO> list(PositionAddressQueryDTO queryDTO) {
LambdaQueryWrapper<PositionAddress> lambdaQueryWrapper = new LambdaQueryWrapper<>(); if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) {
lambdaQueryWrapper.eq(PositionAddress::getDeleted, false); queryDTO.setOrgId(UserContextHolder.getLoginOrgId());
if (Objects.nonNull(queryDTO.getCompanyId())) {
lambdaQueryWrapper.eq(PositionAddress::getCompanyId, queryDTO.getCompanyId());
}
if (CollUtil.isNotEmpty(queryDTO.getIds())) {
lambdaQueryWrapper.in(PositionAddress::getId, queryDTO.getIds());
} }
List<PositionAddress> positionAddresses = positionAddressMapper.selectList(lambdaQueryWrapper); List<PositionAddressDTO> positionAddresses = positionAddressMapper.list(queryDTO);
if (CollUtil.isNotEmpty(positionAddresses)) { if (CollUtil.isNotEmpty(positionAddresses)) {
return positionAddresses.stream().map(positionAddress -> { return positionAddresses.stream().map(positionAddress -> {
PositionAddressDTO positionAddressDTO = new PositionAddressDTO(); PositionAddressDTO positionAddressDTO = new PositionAddressDTO();