package com.rj.service;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
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>
 * 录音分段管理表 服务类
 * </p>
 *
 * 对应表：audio_management_segments
 */
public interface IAudioManagementSegmentsService extends IService<AudioManagementSegments> {

    @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);
}

