From f569e2257372a2f940aace9ad151fd758196eb9a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 13 六月 2026 14:34:42 +0800
Subject: [PATCH] 修改客户,销售,协同,报价,质量
---
src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 45 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 92a632b..50f1078 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -16,6 +16,7 @@
import com.ruoyi.basic.pojo.CustomerUser;
import com.ruoyi.basic.service.*;
import com.ruoyi.basic.vo.CustomerVo;
+import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -199,6 +200,8 @@
LoginUser loginUser = SecurityUtils.getLoginUser();
Long tenantId = loginUser.getTenantId();
customer.setTenantId(tenantId);
+ // 鏍¢獙瀹㈡埛鍚嶇О鍞竴鎬�
+ checkCustomerNameUnique(customer.getCustomerName(), tenantId, null);
return customerMapper.insert(customer);
}
@@ -213,7 +216,31 @@
LoginUser loginUser = SecurityUtils.getLoginUser();
Long tenantId = loginUser.getTenantId();
customer.setTenantId(tenantId);
+ // 鏍¢獙瀹㈡埛鍚嶇О鍞竴鎬э紙鎺掗櫎鑷韩锛�
+ checkCustomerNameUnique(customer.getCustomerName(), tenantId, customer.getId());
return customerMapper.updateById(customer);
+ }
+
+ /**
+ * 鏍¢獙瀹㈡埛鍚嶇О鍞竴鎬�
+ *
+ * @param customerName 瀹㈡埛鍚嶇О
+ * @param tenantId 绉熸埛ID
+ * @param excludeId 鎺掗櫎鐨勫鎴稩D锛堜慨鏀规椂鎺掗櫎鑷韩锛�
+ */
+ private void checkCustomerNameUnique(String customerName, Long tenantId, Long excludeId) {
+ if (StringUtils.isNotEmpty(customerName)) {
+ LambdaQueryWrapper<Customer> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(Customer::getTenantId, tenantId)
+ .eq(Customer::getCustomerName, customerName);
+ if (excludeId != null) {
+ queryWrapper.ne(Customer::getId, excludeId);
+ }
+ Long count = customerMapper.selectCount(queryWrapper);
+ if (count > 0) {
+ throw new ServiceException("瀹㈡埛鍚嶇О'" + customerName + "'宸插瓨鍦紝璇蜂慨鏀�");
+ }
+ }
}
/**
@@ -404,6 +431,24 @@
}
@Override
+ public void handoverCustomer(CustomerDto customerDto) {
+ Customer customer = customerMapper.selectById(customerDto.getId());
+ if (customer == null) {
+ throw new ServiceException("瀹㈡埛涓嶅瓨鍦�");
+ }
+ if (customer.getType() != 0) {
+ throw new ServiceException("浠呯娴峰鎴锋敮鎸佷氦鎺�");
+ }
+ if (customerDto.getMaintainer() == null || customerDto.getMaintainer().trim().isEmpty()) {
+ throw new ServiceException("鏂扮淮鎶や汉涓嶈兘涓虹┖");
+ }
+ customer.setMaintainer(customerDto.getMaintainer());
+ customer.setMaintenanceTime(new Date());
+ customer.setCreateUser(customerDto.getMaintainerId());
+ customerMapper.updateById(customer);
+ }
+
+ @Override
public IPage<CustomerTransactionsVo> customewTransactions(Page page, String customerName) {
return customerMapper.customewTransactions(page, customerName);
}
--
Gitblit v1.9.3