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 | 46 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 45 insertions(+), 1 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 dc84909..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,9 +364,53 @@
.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
@@ -427,7 +471,7 @@
@Override
public void assignCustomer(CustomerDto customerDto) {
Customer customer = customerMapper.selectById(customerDto.getId());
- if (customer.getType() == 1 && customer.getIsAssigned() == 0) { // 鍏捣涓斿彲鍒嗛厤
+ if (customer.getType() == 1 ) { // 鍏捣涓斿彲鍒嗛厤
customer.setIsAssigned(1);
customer.setUsageStatus(1L);
customer.setUsageUser(customerDto.getUsageUser());
--
Gitblit v1.9.3