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

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.rj.entity.*;
import com.rj.mapper.DeviceManagementMapper;
import com.rj.tenant.TenantContextHolder;
import com.rj.service.IFileUploadService;
import com.rj.service.MinIOService;
import com.rj.service.IYhyAudioUploadLogService;
@@ -1317,6 +1318,9 @@ public class AudioFileController {
* @param requestBody 请求体用于获取deviceNo并在方法中设置audioManagementId
*/
private void associateAudioManagement(Map<String, Object> requestBody) {
// 保存原来的租户ID用于后续恢复
String originalTenantId = TenantContextHolder.getTenantId();
try {
String deviceNo = (String) requestBody.get("deviceNo");
if (deviceNo == null || deviceNo.trim().isEmpty()) {
@@ -1326,7 +1330,21 @@ public class AudioFileController {
// 1. 根据device_no去device_management表查找device_code相同的记录
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
LambdaQueryWrapper<SalesManagement> salesQuery = new LambdaQueryWrapper<>();
@@ -1371,6 +1389,13 @@ public class AudioFileController {
} catch (Exception e) {
log.error("关联audio_management表失败", e);
// 即使关联失败,也不影响后续处理,只记录日志
} finally {
// 恢复原来的租户ID
if (originalTenantId != null) {
TenantContextHolder.setTenantId(originalTenantId);
} else {
TenantContextHolder.clear();
}
}
}