Sfoglia il codice sorgente

删除音频文件

zxy 2 anni fa
parent
commit
88f1fea4f7

+ 14 - 0
spring-cloud/server-basic/src/main/java/com/jd/controller/ExplainDetailsController.java

@@ -4,12 +4,14 @@ import com.jd.entity.ExplainDetails;
 import com.jd.service.ExplainDetailsService;
 import com.jd.util.SendUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 import javax.annotation.Resource;
+import java.io.File;
 import java.util.Map;
 
 
@@ -19,6 +21,9 @@ import java.util.Map;
 @Api(tags = "")
 public class ExplainDetailsController {
 
+    @Value("${web.file}")
+    private String filePath;
+
     @Resource
     private ExplainDetailsService explainDetailsService;
 
@@ -45,6 +50,15 @@ public class ExplainDetailsController {
     @PostMapping("/deleteById")
     @ApiOperation(value = "4、删除")
     public Map<String, Object> deleteById(long id) {
+        ExplainDetails explainDetails = explainDetailsService.getById(id);
+        if (explainDetails != null) {
+            //删除原来的音频文件
+            File file = new File(filePath + explainDetails.getAudioUrl());
+            if (file.exists()) {
+                file.delete();
+            }
+        }
+
         return SendUtil.send(true, null, explainDetailsService.removeById(id));
     }
 

+ 20 - 12
spring-cloud/server-basic/src/main/java/com/jd/service/impl/ExplainDetailsServiceImpl.java

@@ -9,8 +9,8 @@ import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import  com.jd.entity.ExplainDetails;
-import  com.jd.mapper.ExplainDetailsMapper;
+import com.jd.entity.ExplainDetails;
+import com.jd.mapper.ExplainDetailsMapper;
 
 
 import com.jd.service.ExplainDetailsService;
@@ -24,7 +24,7 @@ import java.util.List;
 
 
 @Service
-public class ExplainDetailsServiceImpl extends ServiceImpl<ExplainDetailsMapper,ExplainDetails> implements ExplainDetailsService {
+public class ExplainDetailsServiceImpl extends ServiceImpl<ExplainDetailsMapper, ExplainDetails> implements ExplainDetailsService {
 
     private static final String VOCIE_HTTP = "http://23.37.100.80:8093";
 
@@ -35,15 +35,19 @@ public class ExplainDetailsServiceImpl extends ServiceImpl<ExplainDetailsMapper,
     private String rootPath;
 
     @Override
-    public IPage<ExplainDetails> queryPage(Page page,ExplainDetails explainDetails) {
-        return baseMapper.queryPage(page,explainDetails);
+    public IPage<ExplainDetails> queryPage(Page page, ExplainDetails explainDetails) {
+        return baseMapper.queryPage(page, explainDetails);
     }
 
     @Override
     public Boolean saveBean(ExplainDetails explainDetails) {
         //处理语音转换
         explainDetails.setAudioUrl(this.play(explainDetails.getAudioContent()));
-
+        //删除原来的音频文件
+        File file = new File(filePath + explainDetails.getAudioUrl());
+        if (file.exists()) {
+            file.delete();
+        }
         explainDetails.setCreateTime(DateUtil.now());
         return baseMapper.insert(explainDetails) > 0;
     }
@@ -52,7 +56,11 @@ public class ExplainDetailsServiceImpl extends ServiceImpl<ExplainDetailsMapper,
     public Boolean updateBean(ExplainDetails explainDetails) {
         //处理语音转换
         explainDetails.setAudioUrl(this.play(explainDetails.getAudioContent()));
-
+        //删除原来的音频文件
+        File file = new File(filePath + explainDetails.getAudioUrl());
+        if (file.exists()) {
+            file.delete();
+        }
         explainDetails.setCreateTime(DateUtil.now());
         return baseMapper.updateById(explainDetails) > 0;
     }
@@ -66,18 +74,18 @@ public class ExplainDetailsServiceImpl extends ServiceImpl<ExplainDetailsMapper,
         long startTime = System.currentTimeMillis();
         HashMap<String, Object> paramMap = new HashMap<>();
         paramMap.put("txt", txt);
-        String result = HttpUtil.post(VOCIE_HTTP+"/awaken/tts", paramMap);
+        String result = HttpUtil.post(VOCIE_HTTP + "/awaken/tts", paramMap);
         if (!StrUtil.isBlank(result)) {
             JSONObject obj = JSONUtil.parseObj(result);
             System.err.println(obj);
             // 下载音频文件
-            File file = FileUtil.file(filePath + "/" + rootPath + "/audio"+ "/" + obj.getStr("data"));
-            try{
-                if(!file.exists()){
+            File file = FileUtil.file(filePath + "/" + rootPath + "/audio" + "/" + obj.getStr("data"));
+            try {
+                if (!file.exists()) {
 //                    file.mkdirs();
                     file.createNewFile();
                 }
-            }catch (Exception e){
+            } catch (Exception e) {
                 e.printStackTrace();
                 log.error("文件转换失败");
             }