From 78ed58902004b50a1d5bfe1e45f7c96f8b54089a Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Tue, 30 Jan 2024 10:51:25 +0800 Subject: [PATCH] =?UTF-8?q?manage=20=EF=BC=9A=20=E7=B4=A0=E6=9D=90?= =?UTF-8?q?=E5=BA=93=E7=AE=A1=E7=90=86=20=E6=B7=BB=E5=8A=A0=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=92=8C=E4=BF=AE=E6=94=B9=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/MaterialLibraryManageController.java | 17 +++++++++++ .../MedicalRecManageController.java | 15 +++++++++- .../manage/service/FileManageService.java | 2 ++ .../service/MaterialLibraryManageService.java | 4 +++ .../service/impl/FileManageServiceImpl.java | 19 +++++++++++++ .../MaterialLibraryManageServiceImpl.java | 28 +++++++++++++++++++ .../supervision/model/MaterialLibrary.java | 7 ++++- 7 files changed, 90 insertions(+), 2 deletions(-) diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/MaterialLibraryManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/MaterialLibraryManageController.java index 2ef6730b..96ef928d 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/MaterialLibraryManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/file/MaterialLibraryManageController.java @@ -39,4 +39,21 @@ public class MaterialLibraryManageController { } + + @ApiOperation("删除文件目录") + @DeleteMapping("/deleteDirectory") + public boolean deleteMaterial(@ApiParam("素材id") @RequestParam("id") String id) throws Exception { + + return materialLibraryManageService.deleteMaterial(id); + + } + + @ApiOperation("修改文件目录") + @PutMapping("/updateDirectory") + public boolean updateMaterial(@RequestBody MaterialLibrary materialLibrary) { + + return materialLibraryManageService.updateMaterial(materialLibrary); + + } + } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/medicalrec/MedicalRecManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/medicalrec/MedicalRecManageController.java index 3d3ce49c..ad7d4682 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/medicalrec/MedicalRecManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/medicalrec/MedicalRecManageController.java @@ -18,8 +18,9 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; -import javax.validation.constraints.NotBlank; +import java.io.IOException; import java.util.List; @Api(tags = "病历管理") @@ -108,5 +109,17 @@ public class MedicalRecManageController { } + @ApiOperation("导入疾病问题回答") + @PostMapping("/uploadMedicalAnswer") + public String uploadMaterial(@ApiParam("文件") @RequestParam("file") MultipartFile multipartFile, + @ApiParam("病例id") @RequestParam("medicalRecId") String medicalRecId) throws IOException { + + return medicalRecManageService.uploadMaterial(multipartFile, medicalRecId); + } + + + + // 下载疾病问题模板 + } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/FileManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/FileManageService.java index 2aa9d805..be3fd069 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/FileManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/FileManageService.java @@ -9,4 +9,6 @@ public interface FileManageService { FileResource uploadFile(MultipartFile multipartFile, String contentType) throws Exception; void downloadFile(String fileId, HttpServletResponse response) throws Exception; + + boolean deleteFile(String fileId) throws Exception; } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MaterialLibraryManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MaterialLibraryManageService.java index a5c92bec..8dda1c09 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/MaterialLibraryManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/MaterialLibraryManageService.java @@ -17,4 +17,8 @@ public interface MaterialLibraryManageService { String uploadMaterial(MultipartFile multipartFile, String materialName, String materialType) throws Exception; IPage queryMaterialPage(String materialType, String materialName, Integer pageNum, Integer pageSize); + + boolean deleteMaterial(String id) throws Exception; + + boolean updateMaterial(MaterialLibrary materialLibrary); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/FileManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/FileManageServiceImpl.java index 64a1a003..32654987 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/FileManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/FileManageServiceImpl.java @@ -7,13 +7,16 @@ import com.supervision.model.FileResource; import com.supervision.service.FileResourceService; import com.supervision.util.MinioUtil; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; +import java.util.Objects; +@Slf4j @Service @RequiredArgsConstructor public class FileManageServiceImpl implements FileManageService { @@ -56,4 +59,20 @@ public class FileManageServiceImpl implements FileManageService { outputStream.flush(); } } + + @Override + public boolean deleteFile(String fileId) throws Exception { + Assert.notEmpty(fileId, "文件id不能为空"); + + FileResource fileResource = fileResourceService.getById(fileId); + if (Objects.isNull(fileResource)){ + log.info("deleteFile: fileId:{} 未找到数据",fileId); + return false; + } + if (StrUtil.isNotEmpty(fileResource.getMinioId())){ + log.info("deleteFile:删除minio中的数据.minioId:{}",fileResource.getMinioId()); + MinioUtil.deleteObject(fileResource.getMinioId()); + } + return fileResourceService.removeById(fileId); + } } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MaterialLibraryManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MaterialLibraryManageServiceImpl.java index 47ccabd8..5a4611ac 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MaterialLibraryManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/MaterialLibraryManageServiceImpl.java @@ -15,6 +15,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import java.util.Objects; + @Service @RequiredArgsConstructor public class MaterialLibraryManageServiceImpl implements MaterialLibraryManageService { @@ -50,4 +52,30 @@ public class MaterialLibraryManageServiceImpl implements MaterialLibraryManageSe return materialLibraryService.page(new Page<>(pageNum, pageSize),wrapper); } + + @Override + @Transactional + public boolean deleteMaterial(String id) throws Exception { + + Assert.notEmpty(id, "id不能为空"); + MaterialLibrary materialLibrary = materialLibraryService.getById(id); + if (Objects.isNull(materialLibrary)){ + return false; + } + + boolean removed = materialLibraryService.removeById(id); + if (removed){ + removed = fileManageService.deleteFile(materialLibrary.getFileResourceId()); + } + return removed; + } + + @Override + public boolean updateMaterial(MaterialLibrary materialLibrary) { + + Assert.notEmpty(materialLibrary.getId(), "id不能为空"); + Assert.notEmpty(materialLibrary.getMaterialName(), "素材名不能为空"); + + return materialLibraryService.updateById(materialLibrary); + } } diff --git a/virtual-patient-model/src/main/java/com/supervision/model/MaterialLibrary.java b/virtual-patient-model/src/main/java/com/supervision/model/MaterialLibrary.java index c9b8dbd7..19d6a6fb 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/MaterialLibrary.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/MaterialLibrary.java @@ -5,7 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; -import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -39,24 +40,28 @@ public class MaterialLibrary implements Serializable { * 创建人ID */ @TableField(fill = FieldFill.INSERT) + @ApiModelProperty(hidden = true) private String createUserId; /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) + @ApiModelProperty(hidden = true) private LocalDateTime createTime; /** * 更新人 */ @TableField(fill = FieldFill.INSERT_UPDATE) + @ApiModelProperty(hidden = true) private String updateUserId; /** * 更新时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) + @ApiModelProperty(hidden = true) private LocalDateTime updateTime; @TableField(exist = false)