From 0578c6c76f13e367b5dc7d0882efe3c69ca4cb0e Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 15 五月 2026 16:29:30 +0800
Subject: [PATCH] feat(customer): 添加客户银行代码字段并实现批量删除功能
---
src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 44 insertions(+), 0 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 cb80642..c429623 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -364,11 +364,55 @@
.eq(CustomerUser::getCustomerId, id)
);
}
+ // 鍒犻櫎瀹㈡埛瀵瑰簲鐨勮仈绯讳汉鍏宠仈
+ removeCustomerContactsByCustomerIds(idList);
// 鍒犻櫎瀹㈡埛涓昏〃鏁版嵁
return customerMapper.deleteBatchIds(idList);
}
+ private void removeCustomerContactsByCustomerIds(List<Long> customerIds) {
+ if (CollectionUtils.isEmpty(customerIds)) {
+ return;
+ }
+ List<CustomerContact> customerContacts = customerContactMapper.selectList(new QueryWrapper<>());
+ if (CollectionUtils.isEmpty(customerContacts)) {
+ return;
+ }
+ Set<Long> customerIdSet = customerIds.stream()
+ .filter(Objects::nonNull)
+ .collect(Collectors.toSet());
+ for (CustomerContact customerContact : customerContacts) {
+ String contactCustomerIds = customerContact.getCustomerId();
+ if (StringUtils.isEmpty(contactCustomerIds)) {
+ continue;
+ }
+ String updatedCustomerIds = Arrays.stream(contactCustomerIds.split(","))
+ .map(String::trim)
+ .filter(StringUtils::isNotEmpty)
+ .filter(id -> {
+ Long parsedId = parseCustomerId(id);
+ return parsedId == null || !customerIdSet.contains(parsedId);
+ })
+ .distinct()
+ .collect(Collectors.joining(","));
+ if (StringUtils.isEmpty(updatedCustomerIds)) {
+ customerContactMapper.deleteById(customerContact.getId());
+ } else if (!updatedCustomerIds.equals(contactCustomerIds)) {
+ customerContact.setCustomerId(updatedCustomerIds);
+ customerContactMapper.updateById(customerContact);
+ }
+ }
+ }
+
+ private Long parseCustomerId(String customerId) {
+ try {
+ return Long.valueOf(customerId);
+ } catch (NumberFormatException e) {
+ return null;
+ }
+ }
+
@Override
public List<Customer> selectCustomerListByIds(Long[] ids) {
LambdaQueryWrapper<Customer> queryWrapper = new LambdaQueryWrapper<>();
--
Gitblit v1.9.3