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,6 +58,7 @@ public interface CrmBusinessMapper extends BaseMapperX<CrmBusinessDO> { | ||
| 58 | MPJLambdaWrapperX<CrmBusinessDO> query = new MPJLambdaWrapperX<>(); | 58 | MPJLambdaWrapperX<CrmBusinessDO> query = new MPJLambdaWrapperX<>(); |
| 59 | // 拼接数据权限的查询条件 | 59 | // 拼接数据权限的查询条件 |
| 60 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_BUSINESS.getType(), ids, userId); | 60 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_BUSINESS.getType(), ids, userId); |
| 61 | + query.selectAll(CrmBusinessDO.class).in(CrmBusinessDO::getId, ids).orderByDesc(CrmBusinessDO::getId); | ||
| 61 | return selectJoinList(CrmBusinessDO.class, query); | 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,6 +45,7 @@ public interface CrmClueMapper extends BaseMapperX<CrmClueDO> { | ||
| 45 | MPJLambdaWrapperX<CrmClueDO> query = new MPJLambdaWrapperX<>(); | 45 | MPJLambdaWrapperX<CrmClueDO> query = new MPJLambdaWrapperX<>(); |
| 46 | // 拼接数据权限的查询条件 | 46 | // 拼接数据权限的查询条件 |
| 47 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_LEADS.getType(), ids, userId); | 47 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_LEADS.getType(), ids, userId); |
| 48 | + query.selectAll(CrmClueDO.class).in(CrmClueDO::getId, ids).orderByDesc(CrmClueDO::getId); | ||
| 48 | return selectJoinList(CrmClueDO.class, query); | 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,6 +67,7 @@ public interface CrmContactMapper extends BaseMapperX<CrmContactDO> { | ||
| 67 | MPJLambdaWrapperX<CrmContactDO> query = new MPJLambdaWrapperX<>(); | 67 | MPJLambdaWrapperX<CrmContactDO> query = new MPJLambdaWrapperX<>(); |
| 68 | // 拼接数据权限的查询条件 | 68 | // 拼接数据权限的查询条件 |
| 69 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_CONTACT.getType(), ids, userId); | 69 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_CONTACT.getType(), ids, userId); |
| 70 | + query.selectAll(CrmContactDO.class).in(CrmContactDO::getId, ids).orderByDesc(CrmContactDO::getId); | ||
| 70 | return selectJoinList(CrmContactDO.class, query); | 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,10 +54,11 @@ public interface CrmContractMapper extends BaseMapperX<CrmContractDO> { | ||
| 54 | } | 54 | } |
| 55 | 55 | ||
| 56 | default List<CrmContractDO> selectBatchIds(Collection<Long> ids, Long userId) { | 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 | default Long selectCountByContactId(Long contactId) { | 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,6 +64,7 @@ public interface CrmCustomerMapper extends BaseMapperX<CrmCustomerDO> { | ||
| 64 | MPJLambdaWrapperX<CrmCustomerDO> query = new MPJLambdaWrapperX<>(); | 64 | MPJLambdaWrapperX<CrmCustomerDO> query = new MPJLambdaWrapperX<>(); |
| 65 | // 拼接数据权限的查询条件 | 65 | // 拼接数据权限的查询条件 |
| 66 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_CUSTOMER.getType(), ids, userId); | 66 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_CUSTOMER.getType(), ids, userId); |
| 67 | + query.selectAll(CrmCustomerDO.class).in(CrmCustomerDO::getId, ids).orderByDesc(CrmCustomerDO::getId); | ||
| 67 | return selectJoinList(CrmCustomerDO.class, query); | 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,6 +53,7 @@ public interface CrmReceivableMapper extends BaseMapperX<CrmReceivableDO> { | ||
| 53 | MPJLambdaWrapperX<CrmReceivableDO> query = new MPJLambdaWrapperX<>(); | 53 | MPJLambdaWrapperX<CrmReceivableDO> query = new MPJLambdaWrapperX<>(); |
| 54 | // 拼接数据权限的查询条件 | 54 | // 拼接数据权限的查询条件 |
| 55 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_RECEIVABLE.getType(), ids, userId); | 55 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_RECEIVABLE.getType(), ids, userId); |
| 56 | + query.selectAll(CrmReceivableDO.class).in(CrmReceivableDO::getId, ids).orderByDesc(CrmReceivableDO::getId); | ||
| 56 | return selectJoinList(CrmReceivableDO.class, query); | 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,6 +52,7 @@ public interface CrmReceivablePlanMapper extends BaseMapperX<CrmReceivablePlanDO | ||
| 52 | MPJLambdaWrapperX<CrmReceivablePlanDO> query = new MPJLambdaWrapperX<>(); | 52 | MPJLambdaWrapperX<CrmReceivablePlanDO> query = new MPJLambdaWrapperX<>(); |
| 53 | // 拼接数据权限的查询条件 | 53 | // 拼接数据权限的查询条件 |
| 54 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_RECEIVABLE_PLAN.getType(), ids, userId); | 54 | CrmQueryWrapperUtils.appendPermissionCondition(query, CrmBizTypeEnum.CRM_RECEIVABLE_PLAN.getType(), ids, userId); |
| 55 | + query.selectAll(CrmReceivablePlanDO.class).in(CrmReceivablePlanDO::getId, ids).orderByDesc(CrmReceivablePlanDO::getId); | ||
| 55 | return selectJoinList(CrmReceivablePlanDO.class, query); | 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,10 +84,9 @@ public class CrmQueryWrapperUtils { | ||
| 84 | if (CrmPermissionUtils.isCrmAdmin()) {// 管理员不需要数据权限 | 84 | if (CrmPermissionUtils.isCrmAdmin()) {// 管理员不需要数据权限 |
| 85 | return; | 85 | return; |
| 86 | } | 86 | } |
| 87 | - | ||
| 88 | query.innerJoin(CrmPermissionDO.class, on -> | 87 | query.innerJoin(CrmPermissionDO.class, on -> |
| 89 | on.eq(CrmPermissionDO::getBizType, bizType).in(CrmPermissionDO::getBizId, bizIds) | 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 | /** |