Commit 79600774ecc8f3111361e92c420140f7ffa18dea
1 parent
6c536caa
crm-客户:分页查询 mapper 还是得拆成两个,怎么查逻辑交给 service 去做处理
Showing
4 changed files
with
45 additions
and
41 deletions
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/convert/permission/CrmPermissionConvert.java
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/customer/CrmCustomerMapper.java
| ... | ... | @@ -25,47 +25,25 @@ import java.util.List; |
| 25 | 25 | @Mapper |
| 26 | 26 | public interface CrmCustomerMapper extends BaseMapperX<CrmCustomerDO> { |
| 27 | 27 | |
| 28 | - static void appendQueryParams(MPJLambdaWrapperX<CrmCustomerDO> mpjLambdaWrapperX, CrmCustomerPageReqVO pageReqVO, Long userId) { | |
| 29 | - if (pageReqVO.getPool()) { // 情况一:公海 | |
| 30 | - mpjLambdaWrapperX.isNull(CrmCustomerDO::getOwnerUserId); | |
| 31 | - } else { // 情况二:不是公海 | |
| 32 | - mpjLambdaWrapperX.isNotNull(CrmCustomerDO::getOwnerUserId); | |
| 33 | - } | |
| 34 | - // TODO 场景数据过滤 | |
| 35 | - if (CrmSceneEnum.isOwner(pageReqVO.getSceneType())) { // 场景一:我负责的数据 | |
| 36 | - mpjLambdaWrapperX.eq(CrmCustomerDO::getOwnerUserId, userId); | |
| 37 | - } | |
| 38 | - } | |
| 39 | - | |
| 40 | - static void appendQueryParams(LambdaQueryWrapperX<CrmCustomerDO> lambdaQueryWrapperX, CrmCustomerPageReqVO pageReqVO, Long userId) { | |
| 41 | - if (pageReqVO.getPool()) { // 情况一:公海 | |
| 42 | - lambdaQueryWrapperX.isNull(CrmCustomerDO::getOwnerUserId); | |
| 43 | - } else { // 情况二:不是公海 | |
| 44 | - lambdaQueryWrapperX.isNotNull(CrmCustomerDO::getOwnerUserId); | |
| 45 | - } | |
| 46 | - // TODO 场景数据过滤 | |
| 47 | - if (CrmSceneEnum.isOwner(pageReqVO.getSceneType())) { // 场景一:我负责的数据 | |
| 48 | - lambdaQueryWrapperX.eq(CrmCustomerDO::getOwnerUserId, userId); | |
| 49 | - } | |
| 50 | - } | |
| 51 | - | |
| 52 | 28 | default int updateOwnerUserIdById(Long id, Long ownerUserId) { |
| 53 | 29 | return update(new LambdaUpdateWrapper<CrmCustomerDO>() |
| 54 | 30 | .eq(CrmCustomerDO::getId, id) |
| 55 | 31 | .set(CrmCustomerDO::getOwnerUserId, ownerUserId)); |
| 56 | 32 | } |
| 57 | 33 | |
| 58 | - default PageResult<CrmCustomerDO> selectPage(CrmCustomerPageReqVO pageReqVO, Long userId, Boolean admin) { | |
| 59 | - if (admin) { // 情况一:管理员查看 | |
| 60 | - LambdaQueryWrapperX<CrmCustomerDO> queryWrapperX = new LambdaQueryWrapperX<>(); | |
| 61 | - appendQueryParams(queryWrapperX, pageReqVO, userId); | |
| 62 | - return selectPage(pageReqVO, queryWrapperX | |
| 63 | - .likeIfPresent(CrmCustomerDO::getName, pageReqVO.getName()) | |
| 64 | - .eqIfPresent(CrmCustomerDO::getMobile, pageReqVO.getMobile()) | |
| 65 | - .eqIfPresent(CrmCustomerDO::getIndustryId, pageReqVO.getIndustryId()) | |
| 66 | - .eqIfPresent(CrmCustomerDO::getLevel, pageReqVO.getLevel()) | |
| 67 | - .eqIfPresent(CrmCustomerDO::getSource, pageReqVO.getSource())); | |
| 68 | - } | |
| 34 | + default PageResult<CrmCustomerDO> selectPageWithAdmin(CrmCustomerPageReqVO pageReqVO, Long userId) { | |
| 35 | + // 情况一:管理员查看 | |
| 36 | + LambdaQueryWrapperX<CrmCustomerDO> queryWrapperX = new LambdaQueryWrapperX<>(); | |
| 37 | + appendQueryParams(queryWrapperX, pageReqVO, userId); | |
| 38 | + return selectPage(pageReqVO, queryWrapperX | |
| 39 | + .likeIfPresent(CrmCustomerDO::getName, pageReqVO.getName()) | |
| 40 | + .eqIfPresent(CrmCustomerDO::getMobile, pageReqVO.getMobile()) | |
| 41 | + .eqIfPresent(CrmCustomerDO::getIndustryId, pageReqVO.getIndustryId()) | |
| 42 | + .eqIfPresent(CrmCustomerDO::getLevel, pageReqVO.getLevel()) | |
| 43 | + .eqIfPresent(CrmCustomerDO::getSource, pageReqVO.getSource())); | |
| 44 | + } | |
| 45 | + | |
| 46 | + default PageResult<CrmCustomerDO> selectPage(CrmCustomerPageReqVO pageReqVO, Long userId) { | |
| 69 | 47 | // 情况二:获取当前用户能看的分页数据 |
| 70 | 48 | IPage<CrmCustomerDO> mpPage = MyBatisUtils.buildPage(pageReqVO); |
| 71 | 49 | MPJLambdaWrapperX<CrmCustomerDO> mpjLambdaWrapperX = new MPJLambdaWrapperX<>(); |
| ... | ... | @@ -91,4 +69,28 @@ public interface CrmCustomerMapper extends BaseMapperX<CrmCustomerDO> { |
| 91 | 69 | return new PageResult<>(mpPage.getRecords(), mpPage.getTotal()); |
| 92 | 70 | } |
| 93 | 71 | |
| 72 | + static void appendQueryParams(MPJLambdaWrapperX<CrmCustomerDO> mpjLambdaWrapperX, CrmCustomerPageReqVO pageReqVO, Long userId) { | |
| 73 | + if (pageReqVO.getPool()) { // 情况一:公海 | |
| 74 | + mpjLambdaWrapperX.isNull(CrmCustomerDO::getOwnerUserId); | |
| 75 | + } else { // 情况二:不是公海 | |
| 76 | + mpjLambdaWrapperX.isNotNull(CrmCustomerDO::getOwnerUserId); | |
| 77 | + } | |
| 78 | + // TODO 场景数据过滤 | |
| 79 | + if (CrmSceneEnum.isOwner(pageReqVO.getSceneType())) { // 场景一:我负责的数据 | |
| 80 | + mpjLambdaWrapperX.eq(CrmCustomerDO::getOwnerUserId, userId); | |
| 81 | + } | |
| 82 | + } | |
| 83 | + | |
| 84 | + static void appendQueryParams(LambdaQueryWrapperX<CrmCustomerDO> lambdaQueryWrapperX, CrmCustomerPageReqVO pageReqVO, Long userId) { | |
| 85 | + if (pageReqVO.getPool()) { // 情况一:公海 | |
| 86 | + lambdaQueryWrapperX.isNull(CrmCustomerDO::getOwnerUserId); | |
| 87 | + } else { // 情况二:不是公海 | |
| 88 | + lambdaQueryWrapperX.isNotNull(CrmCustomerDO::getOwnerUserId); | |
| 89 | + } | |
| 90 | + // TODO 场景数据过滤 | |
| 91 | + if (CrmSceneEnum.isOwner(pageReqVO.getSceneType())) { // 场景一:我负责的数据 | |
| 92 | + lambdaQueryWrapperX.eq(CrmCustomerDO::getOwnerUserId, userId); | |
| 93 | + } | |
| 94 | + } | |
| 95 | + | |
| 94 | 96 | } | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java
| ... | ... | @@ -100,9 +100,12 @@ public class CrmCustomerServiceImpl implements CrmCustomerService { |
| 100 | 100 | |
| 101 | 101 | @Override |
| 102 | 102 | public PageResult<CrmCustomerDO> getCustomerPage(CrmCustomerPageReqVO pageReqVO, Long userId) { |
| 103 | - // 1.1. TODO 如果是超级管理员 | |
| 104 | 103 | boolean admin = false; |
| 105 | - return customerMapper.selectPage(pageReqVO, userId, admin); | |
| 104 | + if (admin) { // 1.1. 情况一: TODO 如果是管理员 | |
| 105 | + customerMapper.selectPageWithAdmin(pageReqVO, userId); | |
| 106 | + } | |
| 107 | + // 1.2. 情况二:获取当前用户能看的分页数据 | |
| 108 | + return customerMapper.selectPage(pageReqVO, userId); | |
| 106 | 109 | } |
| 107 | 110 | |
| 108 | 111 | /** | ... | ... |
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/controller/admin/banner/vo/BannerPageReqVO.java
| ... | ... | @@ -19,11 +19,10 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ |
| 19 | 19 | @ToString(callSuper = true) |
| 20 | 20 | public class BannerPageReqVO extends PageParam { |
| 21 | 21 | |
| 22 | - // TODO @puhui999:example | |
| 23 | - @Schema(description = "标题") | |
| 22 | + @Schema(description = "标题", example = "这是一个标题") | |
| 24 | 23 | private String title; |
| 25 | 24 | |
| 26 | - @Schema(description = "状态") | |
| 25 | + @Schema(description = "状态", example = "1") | |
| 27 | 26 | @InEnum(CommonStatusEnum.class) |
| 28 | 27 | private Integer status; |
| 29 | 28 | ... | ... |