LAPTOP-KB9HII50\70708 2 лет назад
Родитель
Сommit
5a4a2d89ea

+ 33 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/voice/BaseWordToVoiceDO.java

@ -0,0 +1,33 @@
package com.yihu.jw.entity.care.voice;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Created by yeshijie on 2022/7/7.
 */
@Entity
@Table(name = "base_word_to_voice")
public class BaseWordToVoiceDO extends UuidIdentityEntityWithCreateTime {
    private String word;//最多150个汉字,500个字母
    private String voice;//语音的url地址
    public String getWord() {
        return word;
    }
    public void setWord(String word) {
        this.word = word;
    }
    public String getVoice() {
        return voice;
    }
    public void setVoice(String voice) {
        this.voice = voice;
    }
}

+ 1 - 0
starter/elasticsearch-starter/pom.xml

@ -10,6 +10,7 @@
    <modelVersion>4.0.0</modelVersion>
    <artifactId>elasticsearch-starter</artifactId>
    <version>2.0.0</version>
    <dependencies>
        <dependency>

+ 1 - 1
svr/svr-cloud-care/pom.xml

@ -289,7 +289,7 @@
    </dependencies>
    <build>
        <finalName>svr-cloud-care</finalName>
        <finalName>svr-cloud-care-test</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>

+ 16 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/dao/voice/BaseWordToVoiceDao.java

@ -0,0 +1,16 @@
package com.yihu.jw.care.dao.voice;
import com.yihu.jw.entity.care.voice.BaseWordToVoiceDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by yeshijie on 2022/7/7.
 */
public interface BaseWordToVoiceDao extends PagingAndSortingRepository<BaseWordToVoiceDO,String>,
        JpaSpecificationExecutor<BaseWordToVoiceDO> {
    @Query("select a from BaseWordToVoiceDO a where a.word=?1 ")
    BaseWordToVoiceDO findByWord(String word);
}

+ 6 - 4
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/util/SpeechTtsUtil.java

@ -8,8 +8,8 @@ import com.tencentcloudapi.tts.v20190823.TtsClient;
import com.tencentcloudapi.tts.v20190823.models.TextToVoiceRequest;
import com.tencentcloudapi.tts.v20190823.models.TextToVoiceResponse;
import com.yihu.jw.care.constant.CommonConstant;
import com.yihu.jw.care.dao.log.BaseWordToVoiceDao;
import com.yihu.jw.entity.care.log.BaseWordToVoiceDO;
import com.yihu.jw.care.dao.voice.BaseWordToVoiceDao;
import com.yihu.jw.entity.care.voice.BaseWordToVoiceDO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -47,7 +47,7 @@ public class SpeechTtsUtil {
    public String wordToVoice(String text){
        synchronized (text.intern()){
            try{
                if("hzprod".equals(profiles)){
                if(!"hzprod".equals(profiles)){
                    return CommonConstant.BASEURL + "voice/test.mp3";
                }
                BaseWordToVoiceDO voiceDO = wordToVoiceDao.findByWord(text);
@ -77,12 +77,14 @@ public class SpeechTtsUtil {
                // logger.info(TextToVoiceResponse.toJsonString(resp));
                byte[] buffer = new BASE64Decoder().decodeBuffer(resp.getAudio());
                Ttsutils.saveResponseToFile(buffer,CommonConstant.TXVOICEPATH + sessionId+".mp3");
                String voice = CommonConstant.BASEURL + "voice/"+sessionId+".mp3";
                voiceDO = new BaseWordToVoiceDO();
                voiceDO.setWord(text);
                voiceDO.setCreateTime(new Date());
                voiceDO.setVoice(CommonConstant.BASEURL + "voice/"+sessionId+".mp3");
                voiceDO.setVoice(voice);
                wordToVoiceDao.save(voiceDO);
                logger.info("ending.....");
                return voice;
            } catch (Exception e) {
                e.printStackTrace();
            }