feat: 优化

This commit is contained in:
2026-02-01 18:00:43 +08:00
parent 75bc7f2e47
commit 646a72de64
3 changed files with 41 additions and 9 deletions

View File

@@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.tik.voice.config;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.time.Duration;
@@ -14,6 +16,8 @@ import java.time.Duration;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Component
@ConfigurationProperties(prefix = "yudao.voice.cosyvoice")
public class CosyVoiceProviderConfig extends VoiceProviderProperties.ProviderConfig {
/**

View File

@@ -0,0 +1,35 @@
package cn.iocoder.yudao.module.tik.voice.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* 语音模块自动配置
*
* @author 芋道源码
*/
@Configuration
@Slf4j
public class VoiceAutoConfiguration {
/**
* CosyVoice 供应商配置 Bean
*/
@Bean
@ConditionalOnProperty(prefix = "yudao.voice.providers.cosyvoice", name = "enabled", havingValue = "true", matchIfMissing = true)
public CosyVoiceProviderConfig cosyVoiceProviderConfig(VoiceProviderProperties properties) {
VoiceProviderProperties.ProviderConfig baseConfig = properties.getProviderConfig("cosyvoice");
if (baseConfig == null) {
baseConfig = new VoiceProviderProperties.ProviderConfig();
}
CosyVoiceProviderConfig config = new CosyVoiceProviderConfig();
config.setEnabled(baseConfig.isEnabled());
config.setApiKey(baseConfig.getApiKey());
config.setPriority(baseConfig.getPriority());
return config;
}
}

View File

@@ -25,7 +25,6 @@ import cn.iocoder.yudao.module.tik.voice.client.dto.VoiceCloneRequest;
import cn.iocoder.yudao.module.tik.voice.client.dto.VoiceCloneResult;
import cn.iocoder.yudao.module.tik.voice.client.dto.VoiceTtsRequest;
import cn.iocoder.yudao.module.tik.voice.client.dto.VoiceTtsResult;
import cn.iocoder.yudao.module.tik.voice.config.VoiceProviderProperties;
import cn.iocoder.yudao.module.tik.voice.dal.dataobject.TikUserVoiceDO;
import cn.iocoder.yudao.module.tik.voice.dal.mysql.TikUserVoiceMapper;
import cn.iocoder.yudao.module.tik.voice.vo.AppTikUserVoiceCreateReqVO;
@@ -88,7 +87,7 @@ public class TikUserVoiceServiceImpl implements TikUserVoiceService {
private VoiceCloneProviderFactory voiceProviderFactory;
@Resource
private VoiceProviderProperties voiceProviderProperties;
private cn.iocoder.yudao.module.tik.voice.config.CosyVoiceProviderConfig cosyVoiceProviderConfig;
@Resource
private StringRedisTemplate stringRedisTemplate;
@@ -648,13 +647,7 @@ public class TikUserVoiceServiceImpl implements TikUserVoiceService {
* 获取 CosyVoice 配置
*/
private cn.iocoder.yudao.module.tik.voice.config.CosyVoiceProviderConfig getCosyVoiceConfig() {
if (voiceProviderProperties != null) {
var config = voiceProviderProperties.getProviderConfig("cosyvoice");
if (config instanceof cn.iocoder.yudao.module.tik.voice.config.CosyVoiceProviderConfig cosyConfig) {
return cosyConfig;
}
}
return null;
return cosyVoiceProviderConfig;
}
/**