From c6e5c48338ce6ca3f0b52f4d9a5daccec76fffb4 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 29 四月 2026 13:43:38 +0800
Subject: [PATCH] 优化营销客户相关

---
 src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java |   33 ++++++++++++++++++++++-----------
 1 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
index 9c69a02..d826a94 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -10,7 +10,6 @@
 import com.ruoyi.basic.dto.CustomerDto;
 import com.ruoyi.basic.dto.CustomerFollowUpDto;
 import com.ruoyi.basic.mapper.CustomerMapper;
-import com.ruoyi.basic.mapper.CustomerPrivatePoolMapper;
 import com.ruoyi.basic.pojo.*;
 import com.ruoyi.basic.service.CustomerFollowUpFileService;
 import com.ruoyi.basic.service.CustomerFollowUpService;
@@ -52,8 +51,6 @@
     @Autowired
     private  SalesLedgerMapper salesLedgerMapper;
     @Autowired
-    private CustomerPrivatePoolMapper customerPrivatePoolMapper;
-    @Autowired
     private CustomerMapper customerMapper;
 
     @Autowired
@@ -62,7 +59,7 @@
     private CustomerFollowUpFileService customerFollowUpFileService;
     @Autowired
     private CustomerReturnVisitService customerReturnVisitService;
-
+    @Autowired
     private CustomerUserService customerUserService;
 
     /**
@@ -170,13 +167,13 @@
     private Map<Long, CustomerFollowUp> getLatestFollowUpMap(List<Long> customerIds) {
         List<CustomerFollowUp> followUps = customerFollowUpService.list(
                 new LambdaQueryWrapper<CustomerFollowUp>()
-                        .in(CustomerFollowUp::getCustomerPrivatePoolId, customerIds)
+                        .in(CustomerFollowUp::getCustomerId, customerIds)
                         .orderByDesc(CustomerFollowUp::getFollowUpTime)
         );
 
         return followUps.stream()
                 .collect(Collectors.toMap(
-                        CustomerFollowUp::getCustomerPrivatePoolId,
+                        CustomerFollowUp::getCustomerId,
                         followUp -> followUp,
                         (existing, replacement) -> existing
                 ));
@@ -234,13 +231,18 @@
         if (!assignedPools.isEmpty()) {
             throw new RuntimeException("瀹㈡埛妗f涓嬫湁宸插垎閰嶇殑鍏捣瀹㈡埛锛岃鍏堟敹鍥�");
         }
-        //  鍒犻櫎瀹㈡埛鐨勫悓鏃朵篃闇�瑕佸垹闄ゅ搴旂殑瀹㈡埛璺熼殢銆侀檮浠跺拰鍥炶鎻愰啋
+        // 鍒犻櫎瀹㈡埛鐨勫悓鏃朵篃闇�瑕佸垹闄ゅ搴旂殑瀹㈡埛璺熼殢銆侀檮浠跺拰鍥炶鎻愰啋
         for (Long id : ids) {
             customerFollowUpService.deleteByCustomerId(id);
             customerReturnVisitService.deleteByCustomerId(id);
+            // 鍒犻櫎瀹㈡埛鐨勫叡浜叧绯�
+            customerUserService.remove(
+                new QueryWrapper<CustomerUser>().lambda()
+                    .eq(CustomerUser::getCustomerId, id)
+            );
         }
-        customerMapper.delete(new QueryWrapper<Customer>().lambda().in(Customer::getId, idList));
 
+        // 鍒犻櫎瀹㈡埛涓昏〃鏁版嵁
         return customerMapper.deleteBatchIds(idList);
     }
 
@@ -252,18 +254,27 @@
     }
 
     @Override
-    public List<Customer> selectCustomerLists(Customer customer) {
-        return customerMapper.selectList(null);
+    public List<CustomerVo> selectCustomerLists(CustomerDto customer) {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        Long loginUserId = loginUser.getUserId();
+        return customerMapper.list(customer, loginUserId);
     }
 
     @Override
-    public AjaxResult importData(MultipartFile file) {
+    public AjaxResult importData(MultipartFile file, Integer type) {
         try {
             ExcelUtil<Customer> util = new ExcelUtil<Customer>(Customer.class);
             List<Customer> userList = util.importExcel(file.getInputStream());
             if (CollectionUtils.isEmpty(userList)) {
                 return AjaxResult.warn("妯℃澘閿欒鎴栧鍏ユ暟鎹负绌�");
             }
+
+            // 鏍规嵁 type 鍙傛暟璁剧疆瀹㈡埛绫诲瀷锛堢娴�/鍏捣锛�
+            if (type != null) {
+                userList.forEach(customer -> {
+                    customer.setType(type);
+                });
+            }
             this.saveOrUpdateBatch(userList);
             return AjaxResult.success(true);
         } catch (Exception e) {

--
Gitblit v1.9.3