From 2be38aabc8e20921057cbf4f5ba15c09ebce2bd8 Mon Sep 17 00:00:00 2001 From: 克 刘 <4345453@qq.com> Date: Mon, 08 Jun 2020 15:32:14 +0800 Subject: [PATCH] 扩展文件服务支持KidgrowAI 按医院/科室/日期/文件 方式存储 --- kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java | 21 +++++++++++++++++++-- kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml | 1 + 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java index 7d188d4..1dea60b 100644 --- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java +++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java @@ -2,6 +2,7 @@ import com.aliyun.oss.OSSClient; import com.aliyun.oss.common.auth.DefaultCredentialProvider; +import com.kidgrow.common.constant.SecurityConstants; import com.kidgrow.common.utils.DateUtil; import com.kidgrow.filecenter.model.FileInfo; import com.kidgrow.filecenter.properties.FileServerProperties; @@ -13,6 +14,7 @@ import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import java.util.Date; /** @@ -28,6 +30,8 @@ public class AliyunOSSAutoConfigure { @Autowired private FileServerProperties fileProperties; + + /** * 阿里云文件存储client @@ -46,6 +50,9 @@ @Autowired private OSSClient ossClient; + @Autowired + private HttpServletRequest httpServletRequest; + @Override protected String fileType() { return fileProperties.getType(); @@ -53,9 +60,19 @@ @Override protected void uploadFile(MultipartFile file, FileInfo fileInfo) throws Exception { + String clientID= httpServletRequest.getHeader(SecurityConstants.CLIENT_HEADER); String folderByDate =DateUtil.formatDate(new Date()); - ossClient.putObject(fileProperties.getOss().getBucketName(), fileProperties.getOss().getFolder()+ folderByDate+"/"+fileInfo.getName(), file.getInputStream()); - fileInfo.setUrl(fileProperties.getOss().getDomain() + fileProperties.getOss().getFolder()+ folderByDate+"/" + fileInfo.getName()); + if(clientID=="hospital"){//医院端平台,根据医院ID,科室ID进行OSS存储 + String orgID=httpServletRequest.getHeader(SecurityConstants.USER_ORG_ID_HEADER); + String depID=httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER); + String fileFolder="KidgrowAI/"+orgID+"/"+depID+"/"; + ossClient.putObject(fileProperties.getOss().getBucketName(), fileFolder + folderByDate + "/" + fileInfo.getName(), file.getInputStream()); + fileInfo.setUrl(fileProperties.getOss().getDomain() + fileFolder + folderByDate + "/" + fileInfo.getName()); + } + else { + ossClient.putObject(fileProperties.getOss().getBucketName(), fileProperties.getOss().getFolder() + folderByDate + "/" + fileInfo.getName(), file.getInputStream()); + fileInfo.setUrl(fileProperties.getOss().getDomain() + fileProperties.getOss().getFolder() + folderByDate + "/" + fileInfo.getName()); + } } @Override diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml index 52c5050..4be85f5 100644 --- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml +++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/resources/application.yml @@ -59,6 +59,7 @@ #注意加上/ domain: https://kidgrow.oss-accelerate.aliyuncs.com/ folder: kidgrow/ + swagger: base-package: com.kidgrow.filecenter.controller description: 文件上传服务接口文档 -- Gitblit v1.8.0