岗位地址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;
import com.newyetai.recruit.position.dto.PositionAddressDTO;
import com.newyetai.recruit.position.dto.PositionAddressQueryDTO;
import com.newyetai.recruit.position.entity.PositionAddress;
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> {
List<PositionAddressDTO> list(@Param("param") PositionAddressQueryDTO queryDTO);
}

View File

@@ -33,4 +33,6 @@ public class PositionAddressQueryDTO implements Serializable {
@ApiModelProperty("ID集合")
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">
<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>

View File

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