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