Commit 8920b9787de127049e56865c82fc61a2fc4f95fb

Authored by puhui999
1 parent 7914423c

fix: CRM selectBatchIds 权限查询 ids 筛选不生效的 bug

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&lt;CrmClueDO&gt; { @@ -45,6 +45,7 @@ public interface CrmClueMapper extends BaseMapperX&lt;CrmClueDO&gt; {
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&lt;CrmContactDO&gt; { @@ -67,6 +67,7 @@ public interface CrmContactMapper extends BaseMapperX&lt;CrmContactDO&gt; {
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&lt;CrmContractDO&gt; { @@ -54,10 +54,11 @@ public interface CrmContractMapper extends BaseMapperX&lt;CrmContractDO&gt; {
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&lt;CrmCustomerDO&gt; { @@ -64,6 +64,7 @@ public interface CrmCustomerMapper extends BaseMapperX&lt;CrmCustomerDO&gt; {
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&lt;CrmReceivableDO&gt; { @@ -53,6 +53,7 @@ public interface CrmReceivableMapper extends BaseMapperX&lt;CrmReceivableDO&gt; {
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&lt;CrmReceivablePlanDO @@ -52,6 +52,7 @@ public interface CrmReceivablePlanMapper extends BaseMapperX&lt;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 /**