添加客户或录音时,经销商信息。

This commit is contained in:
2026-02-08 17:58:12 +08:00
parent c003cbb11c
commit 564fd35cac
4 changed files with 85 additions and 124 deletions

View File

@@ -6,8 +6,10 @@ import com.rj.common.AudioManagementConstants;
import com.rj.common.DataEnrichmentUtil;
import com.rj.entity.AudioManagement;
import com.rj.entity.CustomerManagement;
import com.rj.entity.SalesManagement;
import com.rj.service.IAudioManagementService;
import com.rj.service.ICustomerManagementService;
import com.rj.service.ISalesManagementService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -17,7 +19,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -42,6 +43,9 @@ public class CustomerManagementController {
@Autowired
private IAudioManagementService audioManagementService;
@Autowired
private ISalesManagementService salesManagementService;
/**
* 新增客户
*/
@@ -56,7 +60,7 @@ public class CustomerManagementController {
boolean isUpdate = customerManagement.getId() != null && !customerManagement.getId().trim().isEmpty();
LocalDateTime now = LocalDateTime.now();
String operationType = customerManagement.getOperationType();
String salesPhone = customerManagement.getSalesPhone();
if (isUpdate) {
CustomerManagement existing = customerManagementService.getById(customerManagement.getId());
if (existing == null) {
@@ -68,6 +72,24 @@ public class CustomerManagementController {
customerManagement.setUpdateTime(now);
customerManagement.setRecordingCount(customerManagement.getRecordingCount()+1);
} else {
// 根据salesPhone查询销售管理表获取经销商信息
if (salesPhone != null && !salesPhone.trim().isEmpty()) {
LambdaQueryWrapper<SalesManagement> salesQueryWrapper = new LambdaQueryWrapper<>();
salesQueryWrapper.eq(SalesManagement::getLoginAccount, salesPhone.trim());
List<SalesManagement> salesList = salesManagementService.list(salesQueryWrapper);
if (salesList != null && !salesList.isEmpty()) {
SalesManagement sales = salesList.get(0);
customerManagement.setDealershipId(sales.getDealershipId());
customerManagement.setDealershipName(sales.getDealershipName());
// 同时设置销售ID和销售名称
if (customerManagement.getSalesId() == null || customerManagement.getSalesId().trim().isEmpty()) {
customerManagement.setSalesId(sales.getId());
}
if (customerManagement.getSalesName() == null || customerManagement.getSalesName().trim().isEmpty()) {
customerManagement.setSalesName(sales.getSalesName());
}
}
}
customerManagement.setCreateTime(now);
customerManagement.setUpdateTime(now);
customerManagement.setRecordingCount(1);
@@ -80,7 +102,6 @@ public class CustomerManagementController {
throw new IllegalStateException("客户ID为空无法同步录音记录");
}
// 检查销售人员是否正在服务其他客户
String salesPhone = customerManagement.getSalesPhone();
if (salesPhone != null && !salesPhone.trim().isEmpty()) {
LambdaQueryWrapper<AudioManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AudioManagement::getSalesPhone, salesPhone.trim())