From d17024670efca145ff97bc26913bfd9b0fef2cd0 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 16 十月 2026 10:26:31 +0800
Subject: [PATCH] feat(crm): 开放客户跨模块访问权限以支持业务集成

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java
index 226ea05..fe717f8 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java
@@ -118,8 +118,12 @@
      * @return 瀹㈡埛淇℃伅 DO
      */
     private static CrmCustomerDO initCustomer(Object customer, Long ownerUserId) {
-        return BeanUtils.toBean(customer, CrmCustomerDO.class).setOwnerUserId(ownerUserId)
+        CrmCustomerDO result = BeanUtils.toBean(customer, CrmCustomerDO.class).setOwnerUserId(ownerUserId)
                 .setOwnerTime(LocalDateTime.now());
+        if (result.getAutoPoolEnabled() == null) {
+            result.setAutoPoolEnabled(true);
+        }
+        return result;
     }
 
     @Override
@@ -383,6 +387,10 @@
         adminUserApi.validateUserList(singletonList(ownerUserId));
         // 1.3 鏍¢獙鐘舵��
         customers.forEach(customer -> {
+            // 鍏抽棴鍏捣鍙搴︾殑瀹㈡埛涓嶈兘閫氳繃缂栧彿鐩存帴棰嗗彇鎴栧垎閰嶃��
+            if (Boolean.FALSE.equals(customer.getAutoPoolEnabled())) {
+                throw exception(CRM_PERMISSION_DENIED, CrmBizTypeEnum.CRM_CUSTOMER.getName());
+            }
             // 鏍¢獙鏄惁宸叉湁璐熻矗浜�
             validateCustomerOwnerExists(customer, false);
             // 鏍¢獙鏄惁閿佸畾
@@ -493,6 +501,11 @@
     }
 
     @Override
+    public PageResult<CrmCustomerDO> getBusinessCustomerPage(CrmCustomerPageReqVO pageReqVO) {
+        return customerMapper.selectBusinessPage(pageReqVO);
+    }
+
+    @Override
     public PageResult<CrmCustomerDO> getPutPoolRemindCustomerPage(CrmCustomerPageReqVO pageVO, Long userId) {
         CrmCustomerPoolConfigDO poolConfig = customerPoolConfigService.getCustomerPoolConfig();
         if (ObjUtil.isNull(poolConfig)

--
Gitblit v1.9.3