调度定时把文件上传到minio , 播放基于minio

This commit is contained in:
2026-03-29 15:29:09 +08:00
parent 8801b70891
commit 058150a751
7 changed files with 246 additions and 31 deletions

View File

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rj.entity.AudioManagementSegments;
import java.util.List;
/**
* <p>
* 录音分段管理表 服务类
@@ -17,5 +19,15 @@ public interface IAudioManagementSegmentsService extends IService<AudioManagemen
@InterceptorIgnore(tenantLine = "true") // 禁用多租户拦截
public boolean updateNoTenant(AudioManagementSegments entity,
LambdaUpdateWrapper<AudioManagementSegments> updateWrapper) ;
/**
* 查询本地已有文件路径但未写入 MinIO URL 的分段供定时补传任务使用SQL 在 Mapper 注解中并忽略租户插件)。
*/
List<AudioManagementSegments> listSegmentsNeedingMinioUpload(int limit);
/**
* 按主键更新 audio_file_url不附加租户条件与 {@link #updateNoTenant} 不同,此方法走 Mapper 注解 SQL租户插件确定被忽略
*/
boolean updateAudioFileUrlByIdIgnoreTenant(String id, String audioFileUrl);
}

View File

@@ -8,6 +8,8 @@ import com.rj.mapper.AudioManagementSegmentsMapper;
import com.rj.service.IAudioManagementSegmentsService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 录音分段管理表 服务实现类
@@ -26,5 +28,16 @@ public class AudioManagementSegmentsServiceImpl
return super.update(entity, updateWrapper);
}
@Override
public List<AudioManagementSegments> listSegmentsNeedingMinioUpload(int limit) {
int safeLimit = Math.max(1, Math.min(limit, 500));
return baseMapper.listSegmentsNeedingMinioUpload(safeLimit);
}
@Override
public boolean updateAudioFileUrlByIdIgnoreTenant(String id, String audioFileUrl) {
return baseMapper.updateAudioFileUrlByIdIgnoreTenant(id, audioFileUrl) > 0;
}
}