代码优化
This commit is contained in:
@@ -2,6 +2,7 @@ package com.rj.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.rj.common.DataEnrichmentUtil;
|
||||
import com.rj.entity.CustomerManagement;
|
||||
import com.rj.entity.Dealership;
|
||||
import com.rj.entity.SalesManagement;
|
||||
@@ -122,9 +123,7 @@ public class CustomerManagementController {
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private IDealershipService dealershipService;
|
||||
@Autowired
|
||||
private ISalesManagementService salesManagementService;
|
||||
private DataEnrichmentUtil dataEnrichmentUtil;
|
||||
|
||||
/**
|
||||
* 分页查询客户列表
|
||||
@@ -163,44 +162,15 @@ public class CustomerManagementController {
|
||||
|
||||
Page<CustomerManagement> customerPage = customerManagementService.page(page, queryWrapper);
|
||||
|
||||
List<String> dealershipIds = customerPage.getRecords().stream()
|
||||
.map(CustomerManagement::getDealershipId)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
List<String> saleIds = customerPage.getRecords().stream()
|
||||
.map(CustomerManagement::getSalesId)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
||||
// 批量获取门店信息
|
||||
Map<String, String> dealershipNameMap;
|
||||
if (!dealershipIds.isEmpty()) {
|
||||
LambdaQueryWrapper<Dealership> dealershipQueryWrapper = new LambdaQueryWrapper<>();
|
||||
dealershipQueryWrapper.in(Dealership::getId, dealershipIds);
|
||||
List<Dealership> dealerships = dealershipService.list(dealershipQueryWrapper);
|
||||
dealershipNameMap = dealerships.stream()
|
||||
.collect(Collectors.toMap(Dealership::getId, Dealership::getDealershipName));
|
||||
} else {
|
||||
dealershipNameMap = new HashMap<>();
|
||||
}
|
||||
|
||||
// 批量获取 销售信息
|
||||
Map<String, String> saleNameMap;
|
||||
if (!saleIds.isEmpty()) {
|
||||
LambdaQueryWrapper<SalesManagement> salesQueryWrapper = new LambdaQueryWrapper<>();
|
||||
salesQueryWrapper.in(SalesManagement::getId, saleIds);
|
||||
List<SalesManagement> sales = salesManagementService.list(salesQueryWrapper);
|
||||
saleNameMap = sales.stream()
|
||||
.collect(Collectors.toMap(SalesManagement::getId, SalesManagement::getSalesName));
|
||||
} else {
|
||||
saleNameMap = new HashMap<>();
|
||||
}
|
||||
// 使用工具类提取ID列表
|
||||
List<String> dealershipIds = DataEnrichmentUtil.extractIds(customerPage.getRecords(), CustomerManagement::getDealershipId);
|
||||
List<String> saleIds = DataEnrichmentUtil.extractIds(customerPage.getRecords(), CustomerManagement::getSalesId);
|
||||
|
||||
// 使用工具类批量获取关联数据
|
||||
Map<String, String> dealershipNameMap = dataEnrichmentUtil.getDealershipIdNameMap(dealershipIds);
|
||||
Map<String, String> saleNameMap = dataEnrichmentUtil.getSalesIdNameMap(saleIds);
|
||||
|
||||
// 填充关联数据
|
||||
customerPage.getRecords().forEach(customer -> {
|
||||
customer.setDealershipName(dealershipNameMap.get(customer.getDealershipId()));
|
||||
customer.setSalesName(saleNameMap.get(customer.getSalesId()));
|
||||
|
||||
Reference in New Issue
Block a user