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.experimental.SuperBuilder;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@ -89,18 +90,33 @@ public class ListOrgUserReq extends PageReqV2 {
|
||||
@CriteriaField(field = "status", operator = Operator.IN)
|
||||
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)
|
||||
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.entity.OrgUser;
|
||||
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.collection.CollUtil;
|
||||
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.metadata.IPage;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -36,7 +40,22 @@ public class OrgUserQueryRepositoryImpl implements OrgUserQueryRepository {
|
||||
@Override
|
||||
public PageResp<OrgUserResp> page(ListOrgUserReq req) {
|
||||
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)
|
||||
.convert(e -> BeanUtil.toBean(e, OrgUserResp.class));
|
||||
PageResp<OrgUserResp> resp = PageConverter.toResp(results);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user