feat: 优化
This commit is contained in:
@@ -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 {
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user