From cd895db85f73ff8e31ad361d66bb99c7b6789b74 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Fri, 27 Oct 2023 16:22:26 +0800 Subject: [PATCH] =?UTF-8?q?rasa=20=E5=88=9D=E5=A7=8B=E5=8C=96=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=BF=9D=E5=AD=98=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 ++ virtual-patient-rasa/pom.xml | 6 +- .../controller/AskAncillaryController.java | 44 ------------ .../rasa/controller/RasaCmdController.java | 12 ++++ .../rasa/controller/RasaFileController.java | 37 ++++++++++ .../rasa/service/RasaCmdService.java | 4 ++ .../rasa/service/RasaFileService.java | 8 +++ .../rasa/service/impl/RasaCmdServiceImpl.java | 6 ++ .../service/impl/RasaFileServiceImpl.java | 67 +++++++++++++++++++ .../src/main/resources/application.properties | 1 - .../src/main/resources/application.yml | 7 ++ .../src/main/resources/logback-spring.xml | 22 ++++++ 12 files changed, 173 insertions(+), 47 deletions(-) delete mode 100644 virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/AskAncillaryController.java create mode 100644 virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaCmdController.java create mode 100644 virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaFileController.java create mode 100644 virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaCmdService.java create mode 100644 virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaFileService.java create mode 100644 virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaCmdServiceImpl.java create mode 100644 virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaFileServiceImpl.java delete mode 100644 virtual-patient-rasa/src/main/resources/application.properties create mode 100644 virtual-patient-rasa/src/main/resources/application.yml create mode 100644 virtual-patient-rasa/src/main/resources/logback-spring.xml diff --git a/pom.xml b/pom.xml index f59957b4..32615e62 100644 --- a/pom.xml +++ b/pom.xml @@ -41,6 +41,7 @@ 4.1.2 2.3.31 8.0.26 + 1.5.22 @@ -112,6 +113,11 @@ poi-ooxml ${poi-ooxml.version} + + + io.swagger + swagger-annotations + diff --git a/virtual-patient-rasa/pom.xml b/virtual-patient-rasa/pom.xml index ffbcb55d..f4f7e0bf 100644 --- a/virtual-patient-rasa/pom.xml +++ b/virtual-patient-rasa/pom.xml @@ -41,8 +41,10 @@ io.swagger swagger-annotations - 1.5.22 - compile + + + cn.hutool + hutool-all diff --git a/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/AskAncillaryController.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/AskAncillaryController.java deleted file mode 100644 index dafd38de..00000000 --- a/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/AskAncillaryController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.superversion.rasa.controller; - - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import java.io.File; -import java.io.IOException; -import java.util.UUID; - -@Api(tags = "辅助检查") -@RestController -@RequestMapping("askAncillary") -@RequiredArgsConstructor -public class AskAncillaryController { - - - @ApiOperation("接收页面的语音消息(暂时不用这个接口,主要使用websocket进行通信)") - @PostMapping("/receiveVoiceFile") - public String receiveVoiceFile(@RequestParam("file") MultipartFile file) throws IOException { - //return askService.receiveVoiceFile(file); - - if (file != null && !file.isEmpty()) { - String fileName1 = file.getOriginalFilename(); //获取保存文件名 - String suffixName=fileName1.substring(fileName1.lastIndexOf(".")); //文件格式 - String fileName= UUID.randomUUID()+suffixName;//重命名a.jpg - //保存文件到对应位置 - File dir = new File("F:\\tmp\\"+fileName); - if (!dir.getParentFile().exists()) { - dir.getParentFile().mkdirs(); - } - try { - file.transferTo(dir); - } catch (IOException e) { - //抛出异常 - } - } - - return ""; - } -} diff --git a/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaCmdController.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaCmdController.java new file mode 100644 index 00000000..f0fd296d --- /dev/null +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaCmdController.java @@ -0,0 +1,12 @@ +package com.superversion.rasa.controller; + +import cn.hutool.core.util.ZipUtil; + +import java.io.File; + +public class RasaCmdController { + + public static void main(String[] args) { + + } +} diff --git a/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaFileController.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaFileController.java new file mode 100644 index 00000000..9bebb46a --- /dev/null +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/controller/RasaFileController.java @@ -0,0 +1,37 @@ +package com.superversion.rasa.controller; + + +import com.superversion.rasa.service.RasaFileService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.IOException; +import java.util.UUID; + +@Api(tags = "辅助检查") +@RestController +@RequestMapping("rasaFile") +@RequiredArgsConstructor +public class RasaFileController { + + @Autowired + private RasaFileService rasaFileService; + + @ApiOperation("接受并保存rasa文件") + @PostMapping("/saveRasaFile") + public String saveRasaFile(@RequestParam("file") MultipartFile file) throws Exception { + + if (file == null || file.isEmpty()) { + return "file is empty"; + } + + rasaFileService.saveRasaFile(file); + return "ok"; + + } +} diff --git a/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaCmdService.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaCmdService.java new file mode 100644 index 00000000..9fa7b132 --- /dev/null +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaCmdService.java @@ -0,0 +1,4 @@ +package com.superversion.rasa.service; + +public interface RasaCmdService { +} diff --git a/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaFileService.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaFileService.java new file mode 100644 index 00000000..2702a594 --- /dev/null +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/RasaFileService.java @@ -0,0 +1,8 @@ +package com.superversion.rasa.service; + +import org.springframework.web.multipart.MultipartFile; + +public interface RasaFileService { + + void saveRasaFile(MultipartFile file) throws Exception; +} diff --git a/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaCmdServiceImpl.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaCmdServiceImpl.java new file mode 100644 index 00000000..62ca39d1 --- /dev/null +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaCmdServiceImpl.java @@ -0,0 +1,6 @@ +package com.superversion.rasa.service.impl; + +import com.superversion.rasa.service.RasaCmdService; + +public class RasaCmdServiceImpl implements RasaCmdService { +} diff --git a/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaFileServiceImpl.java b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaFileServiceImpl.java new file mode 100644 index 00000000..e92ed870 --- /dev/null +++ b/virtual-patient-rasa/src/main/java/com/superversion/rasa/service/impl/RasaFileServiceImpl.java @@ -0,0 +1,67 @@ +package com.superversion.rasa.service.impl; + +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.ZipUtil; +import com.superversion.rasa.service.RasaFileService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.IOException; + +@Service +@Slf4j +@RequiredArgsConstructor +public class RasaFileServiceImpl implements RasaFileService { + + + @Value("${rasa.file-path:/home/rasa}") + private String rasaFilePath; + + @Value("${rasa.file-name:rasa.zip}") + private String rasaFileName; + + @Override + public void saveRasaFile(MultipartFile file) throws Exception { + + //初始化目录 + File dir = new File(rasaFilePath); + if (!dir.exists()){ + FileUtil.mkdir(dir); + } + + String suffix = "_back"; + String rasaFullPath = String.join(File.separator, rasaFilePath, rasaFileName); + String rasaBackFullPath = String.join(File.separator, rasaFilePath, rasaFileName + suffix); + + //1.检查路径下是否存在文件 + File oldFile = new File(rasaFullPath); + if (oldFile.exists()){ + //1.1 如果存在文件,先备份文件 + FileUtil.rename(oldFile,rasaBackFullPath,true); + } + + + try { + //2.把流文件保存到本地 + file.transferTo(new File(rasaFullPath)); + + //3.解压文件 + ZipUtil.unzip(rasaFullPath); + + //4.删除备份文件 + FileUtil.del(rasaBackFullPath); + } catch (IOException e) { + // 恢复文件 + File backFile = new File(rasaBackFullPath); + if (backFile.exists()){ //恢复文件 + FileUtil.rename(oldFile,rasaFullPath,true); + } + throw new Exception(e); + } + } + +} diff --git a/virtual-patient-rasa/src/main/resources/application.properties b/virtual-patient-rasa/src/main/resources/application.properties deleted file mode 100644 index 8b137891..00000000 --- a/virtual-patient-rasa/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ - diff --git a/virtual-patient-rasa/src/main/resources/application.yml b/virtual-patient-rasa/src/main/resources/application.yml new file mode 100644 index 00000000..87c52e9a --- /dev/null +++ b/virtual-patient-rasa/src/main/resources/application.yml @@ -0,0 +1,7 @@ +server: + port: 8081 + servlet: + context-path: / + +rasa: + file-path: F:\tmp \ No newline at end of file diff --git a/virtual-patient-rasa/src/main/resources/logback-spring.xml b/virtual-patient-rasa/src/main/resources/logback-spring.xml new file mode 100644 index 00000000..ff6e1417 --- /dev/null +++ b/virtual-patient-rasa/src/main/resources/logback-spring.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file