From db46314b9c56256a31c9114bd45d9bd63368cbd8 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 29 七月 2026 18:06:22 +0800
Subject: [PATCH] feat(crm): 实现CRM客户管理查看全部权限功能

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/util/CrmPermissionUtils.java |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/util/CrmPermissionUtils.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/util/CrmPermissionUtils.java
index c97266b..24740c9 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/util/CrmPermissionUtils.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/util/CrmPermissionUtils.java
@@ -37,6 +37,16 @@
     }
 
     /**
+     * 鏍¢獙鐢ㄦ埛鏄惁鏈夋煡鐪嬪叏閮ㄥ鎴风殑鏉冮檺
+     *
+     * @return 鏄�/鍚�
+     */
+    private static boolean hasCustomerViewAllPermission() {
+        PermissionCommonApi permissionApi = SpringUtil.getBean(PermissionCommonApi.class);
+        return permissionApi.hasAnyPermissions(getLoginUserId(), "crm:customer:view-all");
+    }
+
+    /**
      * 鏋勯�� CRM 鏁版嵁绫诲瀷鏁版嵁銆愬垎椤点�戞煡璇㈡潯浠�
      *
      * @param query     杩炶〃鏌ヨ瀵硅薄
@@ -79,6 +89,14 @@
                 query.in(ownerUserIdField, convertSet(subordinateUsers, AdminUserRespDTO::getId));
             }
         }
+        // 鍦烘櫙鍥涳細鍏ㄩ儴鏁版嵁锛堥渶瑕佹湁 view-all 鏉冮檺鎴� CRM 绠$悊鍛橈級
+        if (CrmSceneTypeEnum.isAll(sceneType)) {
+            if (isCrmAdmin() || hasCustomerViewAllPermission()) {
+                return; // 璺宠繃杩囨护锛屾煡鐪嬪叏閮�
+            }
+            // 鏃犳潈闄愬垯闄嶇骇涓�"鎴戣礋璐g殑"
+            query.eq(ownerUserIdField, userId);
+        }
     }
 
     /**

--
Gitblit v1.9.3