把上传的录音信息保存在录音图表里

This commit is contained in:
zhonghua1
2025-12-21 20:53:36 +08:00
parent 6817769d4d
commit 30db0cacb6

View File

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.rj.entity.*; import com.rj.entity.*;
import com.rj.mapper.DeviceManagementMapper; import com.rj.mapper.DeviceManagementMapper;
import com.rj.tenant.TenantContextHolder;
import com.rj.service.IFileUploadService; import com.rj.service.IFileUploadService;
import com.rj.service.MinIOService; import com.rj.service.MinIOService;
import com.rj.service.IYhyAudioUploadLogService; import com.rj.service.IYhyAudioUploadLogService;
@@ -1317,6 +1318,9 @@ public class AudioFileController {
* @param requestBody 请求体用于获取deviceNo并在方法中设置audioManagementId * @param requestBody 请求体用于获取deviceNo并在方法中设置audioManagementId
*/ */
private void associateAudioManagement(Map<String, Object> requestBody) { private void associateAudioManagement(Map<String, Object> requestBody) {
// 保存原来的租户ID用于后续恢复
String originalTenantId = TenantContextHolder.getTenantId();
try { try {
String deviceNo = (String) requestBody.get("deviceNo"); String deviceNo = (String) requestBody.get("deviceNo");
if (deviceNo == null || deviceNo.trim().isEmpty()) { if (deviceNo == null || deviceNo.trim().isEmpty()) {
@@ -1327,6 +1331,20 @@ public class AudioFileController {
// 1. 根据device_no去device_management表查找device_code相同的记录 // 1. 根据device_no去device_management表查找device_code相同的记录
DeviceManagement deviceManagement = (DeviceManagement)requestBody.get(deviceKey); DeviceManagement deviceManagement = (DeviceManagement)requestBody.get(deviceKey);
if (deviceManagement == null) {
log.warn("deviceManagement为空无法关联audio_management表");
return;
}
// 1.1. 设置租户ID到上下文使后续查询自动使用该租户ID
String tenantId = deviceManagement.getTenantId();
if (tenantId != null && !tenantId.trim().isEmpty()) {
TenantContextHolder.setTenantId(tenantId);
log.info("设置租户ID到上下文: {}", tenantId);
} else {
log.warn("deviceManagement中的tenantId为空无法设置租户上下文");
return;
}
// 2. 通过bind_user_id去SalesManagement表查询sales_name和login_account作为sales_phone // 2. 通过bind_user_id去SalesManagement表查询sales_name和login_account作为sales_phone
LambdaQueryWrapper<SalesManagement> salesQuery = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SalesManagement> salesQuery = new LambdaQueryWrapper<>();
@@ -1371,6 +1389,13 @@ public class AudioFileController {
} catch (Exception e) { } catch (Exception e) {
log.error("关联audio_management表失败", e); log.error("关联audio_management表失败", e);
// 即使关联失败,也不影响后续处理,只记录日志 // 即使关联失败,也不影响后续处理,只记录日志
} finally {
// 恢复原来的租户ID
if (originalTenantId != null) {
TenantContextHolder.setTenantId(originalTenantId);
} else {
TenantContextHolder.clear();
}
} }
} }