From 7dbe348fa7fd4c24d2111b7bd6c41ec76192a50a Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 07 五月 2026 18:02:16 +0800
Subject: [PATCH] feat(customer-contact): 修改客户联系人删除接口支持批量删除

---
 src/main/java/com/ruoyi/basic/service/impl/CustomerContactServiceImpl.java |   84 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 84 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/service/impl/CustomerContactServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/CustomerContactServiceImpl.java
new file mode 100644
index 0000000..281b214
--- /dev/null
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerContactServiceImpl.java
@@ -0,0 +1,84 @@
+package com.ruoyi.basic.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.CustomerContactDto;
+import com.ruoyi.basic.mapper.CustomerContactMapper;
+import com.ruoyi.basic.pojo.CustomerContact;
+import com.ruoyi.basic.service.CustomerContactService;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 瀹㈡埛鑱旂郴浜鸿〃 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-05-07 03:46:40
+ */
+@Service
+@RequiredArgsConstructor
+public class CustomerContactServiceImpl extends ServiceImpl<CustomerContactMapper, CustomerContact> implements CustomerContactService {
+
+    private final CustomerContactMapper customerContactMapper;
+    @Override
+    public IPage<CustomerContactDto> listPage(Page<CustomerContactDto> page, CustomerContactDto customerContactDto) {
+        return customerContactMapper.listPage(page,customerContactDto);
+    }
+
+    @Override
+    public Boolean add(CustomerContactDto customerContact) {
+        List<Long> idList = customerContact.getCustomerIdList();
+        if (idList != null && !idList.isEmpty()) {
+            String result = idList.stream()
+                    .filter(Objects::nonNull)
+                    .distinct()
+                    .map(String::valueOf) // 灏� Long 杞崲涓� String
+                    .collect(Collectors.joining(","));
+            customerContact.setCustomerId(result);
+    }
+        return save(customerContact);
+
+    }
+
+    @Override
+    public Boolean updateCustomerContact(CustomerContactDto customerContact) {
+        List<Long> idList = customerContact.getCustomerIdList();
+        if (idList != null && !idList.isEmpty()) {
+            String result = idList.stream()
+                    .filter(Objects::nonNull)
+                    .distinct()
+                    .map(String::valueOf) // 灏� Long 杞崲涓� String
+                    .collect(Collectors.joining(","));
+            customerContact.setCustomerId(result);
+        }
+        return updateById(customerContact);
+    }
+
+    @Override
+    public CustomerContactDto getCustomerContactDtoById(Long id) {
+        CustomerContact byId = getById(id);
+        CustomerContactDto customerContactDto = new CustomerContactDto();
+        BeanUtils.copyProperties(byId, customerContactDto);
+        if (byId != null && byId.getCustomerId() != null && !byId.getCustomerId().isEmpty()) {
+            List<Long> idList = Arrays.stream(byId.getCustomerId().split(","))
+                    .map(String::trim) // 鍘婚櫎鍙兘鐨勭┖鏍�
+                    .filter(s -> !s.isEmpty()) // 杩囨护绌哄瓧绗︿覆
+                    .map(Long::parseLong) // 杞崲涓� Long
+                    .collect(Collectors.toList());
+            customerContactDto.setCustomerIdList(idList);
+        } else {
+            customerContactDto.setCustomerIdList(new ArrayList<>());
+        }
+        return customerContactDto;
+    }
+}

--
Gitblit v1.9.3