Commit 8920b9787de127049e56865c82fc61a2fc4f95fb
1 parent
7914423c
fix: CRM selectBatchIds 权限查询 ids 筛选不生效的 bug
Showing
8 changed files
with
11 additions
and
5 deletions
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/business/CrmBusinessMapper.java
| ... | ... | @@ -58,6 +58,7 @@ public interface CrmBusinessMapper extends BaseMapperX<CrmBusinessDO> { |
| 58 | 58 | MPJLambdaWrapperX<CrmBusinessDO> query = new MPJLambdaWrapperX<>(); |
| 59 | 59 | // 拼接数据权限的查询条件 |
| 60 | 60 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_BUSINESS.getType(), ids, userId); |
| 61 | + query.selectAll(CrmBusinessDO.class).in(CrmBusinessDO::getId, ids).orderByDesc(CrmBusinessDO::getId); | |
| 61 | 62 | return selectJoinList(CrmBusinessDO.class, query); |
| 62 | 63 | } |
| 63 | 64 | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/clue/CrmClueMapper.java
| ... | ... | @@ -45,6 +45,7 @@ public interface CrmClueMapper extends BaseMapperX<CrmClueDO> { |
| 45 | 45 | MPJLambdaWrapperX<CrmClueDO> query = new MPJLambdaWrapperX<>(); |
| 46 | 46 | // 拼接数据权限的查询条件 |
| 47 | 47 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_LEADS.getType(), ids, userId); |
| 48 | + query.selectAll(CrmClueDO.class).in(CrmClueDO::getId, ids).orderByDesc(CrmClueDO::getId); | |
| 48 | 49 | return selectJoinList(CrmClueDO.class, query); |
| 49 | 50 | } |
| 50 | 51 | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/contact/CrmContactMapper.java
| ... | ... | @@ -67,6 +67,7 @@ public interface CrmContactMapper extends BaseMapperX<CrmContactDO> { |
| 67 | 67 | MPJLambdaWrapperX<CrmContactDO> query = new MPJLambdaWrapperX<>(); |
| 68 | 68 | // 拼接数据权限的查询条件 |
| 69 | 69 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_CONTACT.getType(), ids, userId); |
| 70 | + query.selectAll(CrmContactDO.class).in(CrmContactDO::getId, ids).orderByDesc(CrmContactDO::getId); | |
| 70 | 71 | return selectJoinList(CrmContactDO.class, query); |
| 71 | 72 | } |
| 72 | 73 | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/contract/CrmContractMapper.java
| ... | ... | @@ -54,10 +54,11 @@ public interface CrmContractMapper extends BaseMapperX<CrmContractDO> { |
| 54 | 54 | } |
| 55 | 55 | |
| 56 | 56 | default List<CrmContractDO> selectBatchIds(Collection<Long> ids, Long userId) { |
| 57 | - MPJLambdaWrapperX<CrmContractDO> mpjLambdaWrapperX = new MPJLambdaWrapperX<>(); | |
| 57 | + MPJLambdaWrapperX<CrmContractDO> query = new MPJLambdaWrapperX<>(); | |
| 58 | 58 | // 构建数据权限连表条件 |
| 59 | - CrmQueryWrapperUtils.appendPermissionCondition(mpjLambdaWrapperX, CrmBizTypeEnum.CRM_CONTACT.getType(), ids, userId); | |
| 60 | - return selectJoinList(CrmContractDO.class, mpjLambdaWrapperX); | |
| 59 | + CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_CONTACT.getType(), ids, userId); | |
| 60 | + query.selectAll(CrmContractDO.class).in(CrmContractDO::getId, ids).orderByDesc(CrmContractDO::getId); | |
| 61 | + return selectJoinList(CrmContractDO.class, query); | |
| 61 | 62 | } |
| 62 | 63 | |
| 63 | 64 | default Long selectCountByContactId(Long contactId) { | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/customer/CrmCustomerMapper.java
| ... | ... | @@ -64,6 +64,7 @@ public interface CrmCustomerMapper extends BaseMapperX<CrmCustomerDO> { |
| 64 | 64 | MPJLambdaWrapperX<CrmCustomerDO> query = new MPJLambdaWrapperX<>(); |
| 65 | 65 | // 拼接数据权限的查询条件 |
| 66 | 66 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_CUSTOMER.getType(), ids, userId); |
| 67 | + query.selectAll(CrmCustomerDO.class).in(CrmCustomerDO::getId, ids).orderByDesc(CrmCustomerDO::getId); | |
| 67 | 68 | return selectJoinList(CrmCustomerDO.class, query); |
| 68 | 69 | } |
| 69 | 70 | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/receivable/CrmReceivableMapper.java
| ... | ... | @@ -53,6 +53,7 @@ public interface CrmReceivableMapper extends BaseMapperX<CrmReceivableDO> { |
| 53 | 53 | MPJLambdaWrapperX<CrmReceivableDO> query = new MPJLambdaWrapperX<>(); |
| 54 | 54 | // 拼接数据权限的查询条件 |
| 55 | 55 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_RECEIVABLE.getType(), ids, userId); |
| 56 | + query.selectAll(CrmReceivableDO.class).in(CrmReceivableDO::getId, ids).orderByDesc(CrmReceivableDO::getId); | |
| 56 | 57 | return selectJoinList(CrmReceivableDO.class, query); |
| 57 | 58 | } |
| 58 | 59 | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/receivable/CrmReceivablePlanMapper.java
| ... | ... | @@ -52,6 +52,7 @@ public interface CrmReceivablePlanMapper extends BaseMapperX<CrmReceivablePlanDO |
| 52 | 52 | MPJLambdaWrapperX<CrmReceivablePlanDO> query = new MPJLambdaWrapperX<>(); |
| 53 | 53 | // 拼接数据权限的查询条件 |
| 54 | 54 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_RECEIVABLE_PLAN.getType(), ids, userId); |
| 55 | + query.selectAll(CrmReceivablePlanDO.class).in(CrmReceivablePlanDO::getId, ids).orderByDesc(CrmReceivablePlanDO::getId); | |
| 55 | 56 | return selectJoinList(CrmReceivablePlanDO.class, query); |
| 56 | 57 | } |
| 57 | 58 | ... | ... |
yudao-module-crm/yudao-module-crm-biz/src/main/java/cn/iocoder/yudao/module/crm/util/CrmQueryWrapperUtils.java
| ... | ... | @@ -84,10 +84,9 @@ public class CrmQueryWrapperUtils { |
| 84 | 84 | if (CrmPermissionUtils.isCrmAdmin()) {// 管理员不需要数据权限 |
| 85 | 85 | return; |
| 86 | 86 | } |
| 87 | - | |
| 88 | 87 | query.innerJoin(CrmPermissionDO.class, on -> |
| 89 | 88 | on.eq(CrmPermissionDO::getBizType, bizType).in(CrmPermissionDO::getBizId, bizIds) |
| 90 | - .in(CollUtil.isNotEmpty(bizIds), CrmPermissionDO::getUserId, userId)); | |
| 89 | + .eq(CollUtil.isNotEmpty(bizIds), CrmPermissionDO::getUserId, userId)); | |
| 91 | 90 | } |
| 92 | 91 | |
| 93 | 92 | /** | ... | ... |