feat(REQ-3488): 修改查询组织用户
This commit is contained in:
parent
610db4a3f9
commit
d3c7446ad6
@ -6,6 +6,7 @@ import cn.axzo.foundation.page.PageReqV2;
|
|||||||
import lombok.*;
|
import lombok.*;
|
||||||
import lombok.experimental.SuperBuilder;
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@ -89,18 +90,33 @@ public class ListOrgUserReq extends PageReqV2 {
|
|||||||
@CriteriaField(field = "status", operator = Operator.IN)
|
@CriteriaField(field = "status", operator = Operator.IN)
|
||||||
private Set<Integer> statuses;
|
private Set<Integer> statuses;
|
||||||
|
|
||||||
@CriteriaField(ignore = true)
|
|
||||||
@Builder.Default
|
|
||||||
private Integer page = 1;
|
|
||||||
/**
|
|
||||||
* 最大支持1000条数据,不支持单页超过1000的查询,接入方按需分页
|
|
||||||
*/
|
|
||||||
@Builder.Default
|
|
||||||
@CriteriaField(ignore = true)
|
|
||||||
private Integer pageSize = 1000;
|
|
||||||
@CriteriaField(ignore = true)
|
|
||||||
private List<String> sort;
|
|
||||||
|
|
||||||
@CriteriaField(ignore = true)
|
@CriteriaField(ignore = true)
|
||||||
private Boolean needPersonProfile;
|
private Boolean needPersonProfile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关键字查询:
|
||||||
|
* 1、用户名称模糊匹配;
|
||||||
|
* 2、手机号、身份证号精确匹配;
|
||||||
|
*/
|
||||||
|
@CriteriaField(ignore = true)
|
||||||
|
private String keyword;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 离职时间筛选起始
|
||||||
|
*/
|
||||||
|
@CriteriaField(field = "transferTime", operator = Operator.GE)
|
||||||
|
private Date leaveAtStart;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 离职时间筛选结束
|
||||||
|
*/
|
||||||
|
@CriteriaField(field = "transferTime", operator = Operator.LE)
|
||||||
|
private Date leaveAtEnd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是都包含删除(默认走查询未删除)
|
||||||
|
*/
|
||||||
|
@CriteriaField(ignore = true)
|
||||||
|
private Boolean includeDeleted;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,14 +10,18 @@ import cn.axzo.orgmanax.infra.client.profile.dto.ProfilePersonResp;
|
|||||||
import cn.axzo.orgmanax.infra.dao.orguser.dao.OrgUserDao;
|
import cn.axzo.orgmanax.infra.dao.orguser.dao.OrgUserDao;
|
||||||
import cn.axzo.orgmanax.infra.dao.orguser.entity.OrgUser;
|
import cn.axzo.orgmanax.infra.dao.orguser.entity.OrgUser;
|
||||||
import cn.axzo.orgmanax.infra.dao.orguser.repository.OrgUserQueryRepository;
|
import cn.axzo.orgmanax.infra.dao.orguser.repository.OrgUserQueryRepository;
|
||||||
|
import cn.axzo.trade.datasecurity.core.util.DataSecurityHelper;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.BooleanUtil;
|
import cn.hutool.core.util.BooleanUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -36,7 +40,22 @@ public class OrgUserQueryRepositoryImpl implements OrgUserQueryRepository {
|
|||||||
@Override
|
@Override
|
||||||
public PageResp<OrgUserResp> page(ListOrgUserReq req) {
|
public PageResp<OrgUserResp> page(ListOrgUserReq req) {
|
||||||
IPage<OrgUser> page = PageConverter.toMybatis(req, OrgUser.class);
|
IPage<OrgUser> page = PageConverter.toMybatis(req, OrgUser.class);
|
||||||
QueryWrapper<OrgUser> wrapper = QueryWrapperHelper.fromBean(req, OrgUser.class);
|
LambdaQueryWrapper<OrgUser> wrapper = QueryWrapperHelper.fromBean(req, OrgUser.class).lambda();
|
||||||
|
|
||||||
|
// 处理删除标记
|
||||||
|
if (!BooleanUtil.isTrue(req.getIncludeDeleted())) {
|
||||||
|
wrapper.eq(OrgUser::getIsDelete, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//处理关键词查询
|
||||||
|
if (ObjectUtil.isNotEmpty(req.getKeyword())) {
|
||||||
|
// 关键字加密(手机号与身份证需要精确匹配)
|
||||||
|
String encryptStr = DataSecurityHelper.encrypt(req.getKeyword());
|
||||||
|
wrapper.and(w -> w.like(OrgUser::getRealName, req.getKeyword())
|
||||||
|
.or().eq(OrgUser::getPhone, encryptStr)
|
||||||
|
.or().eq(OrgUser::getIdNumber, encryptStr));
|
||||||
|
}
|
||||||
|
|
||||||
IPage<OrgUserResp> results = orgUserDao.page(page, wrapper)
|
IPage<OrgUserResp> results = orgUserDao.page(page, wrapper)
|
||||||
.convert(e -> BeanUtil.toBean(e, OrgUserResp.class));
|
.convert(e -> BeanUtil.toBean(e, OrgUserResp.class));
|
||||||
PageResp<OrgUserResp> resp = PageConverter.toResp(results);
|
PageResp<OrgUserResp> resp = PageConverter.toResp(results);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user