From 8190823a593d3123384d3a75774ad19ecea07204 Mon Sep 17 00:00:00 2001
From: houruijun <411269194@kidgrow.com>
Date: Mon, 15 Jun 2020 11:20:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java |   35 +++++++++++++++++++++++++++++++----
 1 files changed, 31 insertions(+), 4 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 a66e263..e22afd5 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
@@ -1,6 +1,9 @@
 package com.kidgrow.filecenter.config;
 
+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;
 import com.kidgrow.filecenter.service.impl.AbstractIFileService;
@@ -8,10 +11,12 @@
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-
-import com.aliyun.oss.OSSClient;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Date;
+import java.util.UUID;
 
 /**
  * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
@@ -26,6 +31,8 @@
 public class AliyunOSSAutoConfigure {
     @Autowired
     private FileServerProperties fileProperties;
+
+
 
     /**
      * 阿里云文件存储client
@@ -44,6 +51,9 @@
         @Autowired
         private OSSClient ossClient;
 
+        @Autowired
+        private HttpServletRequest httpServletRequest;
+
         @Override
         protected String fileType() {
             return fileProperties.getType();
@@ -51,12 +61,29 @@
 
         @Override
         protected void uploadFile(MultipartFile file, FileInfo fileInfo) throws Exception {
-            ossClient.putObject(fileProperties.getOss().getBucketName(), fileInfo.getName(), file.getInputStream());
-            fileInfo.setUrl(fileProperties.getOss().getDomain() + "/" + fileInfo.getName());
+            String clientID= httpServletRequest.getHeader(SecurityConstants.CLIENT_HEADER);
+            String folderByDate =DateUtil.formatDate(new Date());
+            int begin = file.getOriginalFilename().indexOf(".");
+            int last = file.getOriginalFilename().length();
+            String fileType = file.getOriginalFilename().substring(begin, last);
+            String fileName= UUID.randomUUID().toString().replaceAll("-","")+fileType;
+            if(clientID.equals("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 + "/" + fileName, file.getInputStream());
+                fileInfo.setUrl(fileProperties.getOss().getDomain() + fileFolder + folderByDate + "/" + fileName);
+            }
+            else {
+                ossClient.putObject(fileProperties.getOss().getBucketName(), fileProperties.getOss().getFolder() + folderByDate + "/" + fileName, file.getInputStream());
+                fileInfo.setUrl(fileProperties.getOss().getDomain() + fileProperties.getOss().getFolder() + folderByDate + "/" + fileName);
+            }
         }
 
         @Override
         protected boolean deleteFile(FileInfo fileInfo) {
+
             ossClient.deleteObject(fileProperties.getOss().getBucketName(), fileInfo.getName());
             return true;
         }

--
Gitblit v1.8.0