录音管理联调添加编辑,门店转换

This commit is contained in:
spllzh
2025-08-15 09:14:30 +08:00
parent 4e6af75be4
commit 7fe50bb811
2 changed files with 44 additions and 8 deletions

View File

@@ -2,6 +2,7 @@ package com.rj.common;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rj.entity.CustomerManagement;
import com.rj.entity.Dealership;
import com.rj.entity.ProjectManagement;
import com.rj.entity.SalesManagement;
@@ -302,12 +303,19 @@ public class DataEnrichmentUtil {
* 批量获取客户名称映射使用ServiceManager
*/
public Map<String, String> getCustomerNameMap(Collection<String> customerIds) {
return batchGetNameMap(
customerIds,
serviceManager.getCustomerManagementService(),
com.rj.entity.CustomerManagement::getId,
com.rj.entity.CustomerManagement::getCustomerName
);
// 批量获取 销售信息
Map<String, String> saleNameMap;
if (!customerIds.isEmpty()) {
LambdaQueryWrapper<CustomerManagement> customerQueryWrapper = new LambdaQueryWrapper<>();
customerQueryWrapper.in(CustomerManagement::getId, customerIds);
List<CustomerManagement> sales = serviceManager.getCustomerManagementService().list(customerQueryWrapper);
saleNameMap = sales.stream()
.collect(Collectors.toMap(CustomerManagement::getId, CustomerManagement::getCustomerName));
} else {
saleNameMap = new HashMap<>();
}
return saleNameMap;
}
/**

View File

@@ -2,11 +2,15 @@ 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.AudioManagement;
import com.rj.entity.CustomerManagement;
import com.rj.entity.SalesManagement;
import com.rj.service.IAudioManagementService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@@ -28,6 +32,7 @@ import java.util.Map;
@RestController
@RequestMapping("/api/audioManagement")
@Tag(name = "录音管理", description = "录音管理相关接口")
@Slf4j
public class AudioManagementController {
@Autowired
@@ -115,6 +120,8 @@ public class AudioManagementController {
return ResponseEntity.internalServerError().body(result);
}
}
@Autowired
private DataEnrichmentUtil dataEnrichmentUtil;
/**
* 分页查询录音列表
@@ -154,10 +161,30 @@ public class AudioManagementController {
}
// 按创建时间倒序排列
queryWrapper.orderByDesc(AudioManagement::getCreateTime);
queryWrapper.orderByDesc(AudioManagement::getUpdateTime);
Page<AudioManagement> audioPage = audioManagementService.page(page, queryWrapper);
// 使用工具类提取ID列表
List<String> dealershipIds = DataEnrichmentUtil.extractIds(audioPage.getRecords(), AudioManagement::getDealershipId);
List<String> saleIds = DataEnrichmentUtil.extractIds(audioPage.getRecords(), AudioManagement::getSalesId);
List<String> projectIds = DataEnrichmentUtil.extractIds(audioPage.getRecords(), AudioManagement::getProjectId);
List<String> customerIds = DataEnrichmentUtil.extractIds(audioPage.getRecords(), AudioManagement::getCustomerId);
// 使用工具类批量获取关联数据
Map<String, String> dealershipNameMap = dataEnrichmentUtil.getDealershipIdNameMap(dealershipIds);
Map<String, String> saleNameMap = dataEnrichmentUtil.getSalesIdNameMap(saleIds);
Map<String, String> projectNameMap = dataEnrichmentUtil.getProjectIdNameMap(projectIds);
// Map<String, String> customerNameMap = dataEnrichmentUtil.getCustomerNameMap(customerIds);
audioPage.getRecords().forEach(audio -> {
audio.setDealershipName(dealershipNameMap.getOrDefault(audio.getDealershipId(), ""));
audio.setSalesName(saleNameMap.getOrDefault(audio.getSalesId(), ""));
audio.setProjectName(projectNameMap.getOrDefault(audio.getProjectId(), ""));
// audio.setCustomerName(customerNameMap.getOrDefault(audio.getCustomerId(), ""));
});
result.put("success", true);
result.put("message", "查询成功");
result.put("data", audioPage.getRecords());
@@ -168,6 +195,7 @@ public class AudioManagementController {
return ResponseEntity.ok(result);
} catch (Exception e) {
log.error("查询异常:{}", e.getMessage());
result.put("success", false);
result.put("message", "查询异常:" + e.getMessage());
return ResponseEntity.internalServerError().body(result);