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 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&lt;CrmClueDO&gt; {
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&lt;CrmContactDO&gt; {
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&lt;CrmContractDO&gt; {
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&lt;CrmCustomerDO&gt; {
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&lt;CrmReceivableDO&gt; {
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&lt;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 /**
... ...