mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-22 23:31:52 +08:00
crm-客户:分页查询 mapper 还是得拆成两个,怎么查逻辑交给 service 去做处理
This commit is contained in:
parent
6c536caad4
commit
79600774ec
@ -23,7 +23,7 @@ import static cn.iocoder.yudao.framework.common.util.collection.MapUtils.findAnd
|
|||||||
/**
|
/**
|
||||||
* Crm 数据权限 Convert
|
* Crm 数据权限 Convert
|
||||||
*
|
*
|
||||||
* @author Wanwan
|
* @author HUIHUI
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface CrmPermissionConvert {
|
public interface CrmPermissionConvert {
|
||||||
|
@ -25,47 +25,25 @@ import java.util.List;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface CrmCustomerMapper extends BaseMapperX<CrmCustomerDO> {
|
public interface CrmCustomerMapper extends BaseMapperX<CrmCustomerDO> {
|
||||||
|
|
||||||
static void appendQueryParams(MPJLambdaWrapperX<CrmCustomerDO> mpjLambdaWrapperX, CrmCustomerPageReqVO pageReqVO, Long userId) {
|
|
||||||
if (pageReqVO.getPool()) { // 情况一:公海
|
|
||||||
mpjLambdaWrapperX.isNull(CrmCustomerDO::getOwnerUserId);
|
|
||||||
} else { // 情况二:不是公海
|
|
||||||
mpjLambdaWrapperX.isNotNull(CrmCustomerDO::getOwnerUserId);
|
|
||||||
}
|
|
||||||
// TODO 场景数据过滤
|
|
||||||
if (CrmSceneEnum.isOwner(pageReqVO.getSceneType())) { // 场景一:我负责的数据
|
|
||||||
mpjLambdaWrapperX.eq(CrmCustomerDO::getOwnerUserId, userId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void appendQueryParams(LambdaQueryWrapperX<CrmCustomerDO> lambdaQueryWrapperX, CrmCustomerPageReqVO pageReqVO, Long userId) {
|
|
||||||
if (pageReqVO.getPool()) { // 情况一:公海
|
|
||||||
lambdaQueryWrapperX.isNull(CrmCustomerDO::getOwnerUserId);
|
|
||||||
} else { // 情况二:不是公海
|
|
||||||
lambdaQueryWrapperX.isNotNull(CrmCustomerDO::getOwnerUserId);
|
|
||||||
}
|
|
||||||
// TODO 场景数据过滤
|
|
||||||
if (CrmSceneEnum.isOwner(pageReqVO.getSceneType())) { // 场景一:我负责的数据
|
|
||||||
lambdaQueryWrapperX.eq(CrmCustomerDO::getOwnerUserId, userId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
default int updateOwnerUserIdById(Long id, Long ownerUserId) {
|
default int updateOwnerUserIdById(Long id, Long ownerUserId) {
|
||||||
return update(new LambdaUpdateWrapper<CrmCustomerDO>()
|
return update(new LambdaUpdateWrapper<CrmCustomerDO>()
|
||||||
.eq(CrmCustomerDO::getId, id)
|
.eq(CrmCustomerDO::getId, id)
|
||||||
.set(CrmCustomerDO::getOwnerUserId, ownerUserId));
|
.set(CrmCustomerDO::getOwnerUserId, ownerUserId));
|
||||||
}
|
}
|
||||||
|
|
||||||
default PageResult<CrmCustomerDO> selectPage(CrmCustomerPageReqVO pageReqVO, Long userId, Boolean admin) {
|
default PageResult<CrmCustomerDO> selectPageWithAdmin(CrmCustomerPageReqVO pageReqVO, Long userId) {
|
||||||
if (admin) { // 情况一:管理员查看
|
// 情况一:管理员查看
|
||||||
LambdaQueryWrapperX<CrmCustomerDO> queryWrapperX = new LambdaQueryWrapperX<>();
|
LambdaQueryWrapperX<CrmCustomerDO> queryWrapperX = new LambdaQueryWrapperX<>();
|
||||||
appendQueryParams(queryWrapperX, pageReqVO, userId);
|
appendQueryParams(queryWrapperX, pageReqVO, userId);
|
||||||
return selectPage(pageReqVO, queryWrapperX
|
return selectPage(pageReqVO, queryWrapperX
|
||||||
.likeIfPresent(CrmCustomerDO::getName, pageReqVO.getName())
|
.likeIfPresent(CrmCustomerDO::getName, pageReqVO.getName())
|
||||||
.eqIfPresent(CrmCustomerDO::getMobile, pageReqVO.getMobile())
|
.eqIfPresent(CrmCustomerDO::getMobile, pageReqVO.getMobile())
|
||||||
.eqIfPresent(CrmCustomerDO::getIndustryId, pageReqVO.getIndustryId())
|
.eqIfPresent(CrmCustomerDO::getIndustryId, pageReqVO.getIndustryId())
|
||||||
.eqIfPresent(CrmCustomerDO::getLevel, pageReqVO.getLevel())
|
.eqIfPresent(CrmCustomerDO::getLevel, pageReqVO.getLevel())
|
||||||
.eqIfPresent(CrmCustomerDO::getSource, pageReqVO.getSource()));
|
.eqIfPresent(CrmCustomerDO::getSource, pageReqVO.getSource()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default PageResult<CrmCustomerDO> selectPage(CrmCustomerPageReqVO pageReqVO, Long userId) {
|
||||||
// 情况二:获取当前用户能看的分页数据
|
// 情况二:获取当前用户能看的分页数据
|
||||||
IPage<CrmCustomerDO> mpPage = MyBatisUtils.buildPage(pageReqVO);
|
IPage<CrmCustomerDO> mpPage = MyBatisUtils.buildPage(pageReqVO);
|
||||||
MPJLambdaWrapperX<CrmCustomerDO> mpjLambdaWrapperX = new MPJLambdaWrapperX<>();
|
MPJLambdaWrapperX<CrmCustomerDO> mpjLambdaWrapperX = new MPJLambdaWrapperX<>();
|
||||||
@ -91,4 +69,28 @@ public interface CrmCustomerMapper extends BaseMapperX<CrmCustomerDO> {
|
|||||||
return new PageResult<>(mpPage.getRecords(), mpPage.getTotal());
|
return new PageResult<>(mpPage.getRecords(), mpPage.getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void appendQueryParams(MPJLambdaWrapperX<CrmCustomerDO> mpjLambdaWrapperX, CrmCustomerPageReqVO pageReqVO, Long userId) {
|
||||||
|
if (pageReqVO.getPool()) { // 情况一:公海
|
||||||
|
mpjLambdaWrapperX.isNull(CrmCustomerDO::getOwnerUserId);
|
||||||
|
} else { // 情况二:不是公海
|
||||||
|
mpjLambdaWrapperX.isNotNull(CrmCustomerDO::getOwnerUserId);
|
||||||
|
}
|
||||||
|
// TODO 场景数据过滤
|
||||||
|
if (CrmSceneEnum.isOwner(pageReqVO.getSceneType())) { // 场景一:我负责的数据
|
||||||
|
mpjLambdaWrapperX.eq(CrmCustomerDO::getOwnerUserId, userId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void appendQueryParams(LambdaQueryWrapperX<CrmCustomerDO> lambdaQueryWrapperX, CrmCustomerPageReqVO pageReqVO, Long userId) {
|
||||||
|
if (pageReqVO.getPool()) { // 情况一:公海
|
||||||
|
lambdaQueryWrapperX.isNull(CrmCustomerDO::getOwnerUserId);
|
||||||
|
} else { // 情况二:不是公海
|
||||||
|
lambdaQueryWrapperX.isNotNull(CrmCustomerDO::getOwnerUserId);
|
||||||
|
}
|
||||||
|
// TODO 场景数据过滤
|
||||||
|
if (CrmSceneEnum.isOwner(pageReqVO.getSceneType())) { // 场景一:我负责的数据
|
||||||
|
lambdaQueryWrapperX.eq(CrmCustomerDO::getOwnerUserId, userId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -100,9 +100,12 @@ public class CrmCustomerServiceImpl implements CrmCustomerService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<CrmCustomerDO> getCustomerPage(CrmCustomerPageReqVO pageReqVO, Long userId) {
|
public PageResult<CrmCustomerDO> getCustomerPage(CrmCustomerPageReqVO pageReqVO, Long userId) {
|
||||||
// 1.1. TODO 如果是超级管理员
|
|
||||||
boolean admin = false;
|
boolean admin = false;
|
||||||
return customerMapper.selectPage(pageReqVO, userId, admin);
|
if (admin) { // 1.1. 情况一: TODO 如果是管理员
|
||||||
|
customerMapper.selectPageWithAdmin(pageReqVO, userId);
|
||||||
|
}
|
||||||
|
// 1.2. 情况二:获取当前用户能看的分页数据
|
||||||
|
return customerMapper.selectPage(pageReqVO, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,11 +19,10 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
|
|||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
public class BannerPageReqVO extends PageParam {
|
public class BannerPageReqVO extends PageParam {
|
||||||
|
|
||||||
// TODO @puhui999:example
|
@Schema(description = "标题", example = "这是一个标题")
|
||||||
@Schema(description = "标题")
|
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
@Schema(description = "状态")
|
@Schema(description = "状态", example = "1")
|
||||||
@InEnum(CommonStatusEnum.class)
|
@InEnum(CommonStatusEnum.class)
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user