From b92f672511421c4f1b673242ef6ac5b186d10d1a Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Wed, 09 Dec 2020 09:31:18 +0800
Subject: [PATCH] Merge branch 'dev' of ssh://192.168.2.240:29418/kidgrow-microservices-platform into dev

---
 kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java |   62 +++++++++++++++++-------------
 1 files changed, 35 insertions(+), 27 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 2b09032..4d30ebc 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
@@ -11,6 +11,7 @@
 import com.kidgrow.filecenter.properties.FileServerProperties;
 import com.kidgrow.filecenter.service.impl.AbstractIFileService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -20,8 +21,6 @@
 import javax.servlet.http.HttpServletRequest;
 import java.io.InputStream;
 import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
 import java.util.UUID;
 
 /**
@@ -64,20 +63,26 @@
             return fileProperties.getType();
         }
 
+        @Value("${spring.profiles.active}")
+        private String OssPathEn;
+
         @Override
         protected void uploadFile(MultipartFile file, FileInfo fileInfo) throws Exception {
             String clientID = httpServletRequest.getHeader(SecurityConstants.CLIENT_HEADER);
+            String hospitalID = httpServletRequest.getHeader(SecurityConstants.USER_HOSPITAL_ID_HEADER);
+            String depID = httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER);
             String folderByDate = DateUtil.formatDate(new Date());
-            int begin = file.getOriginalFilename().indexOf(".");
+            int begin = file.getOriginalFilename().lastIndexOf(".");
             int last = file.getOriginalFilename().length();
             String fileType = file.getOriginalFilename().substring(begin, last);
             String fileName = UUID.randomUUID().toString().replaceAll("-", "") + fileType;
             String fileFolder = "";
             if (clientID.equals("hospital")) {//医院端平台,
-                fileFolder = FilePath(fileInfo.getImgType(), folderByDate, null, null);
+                fileFolder = FilePath(fileInfo.getImgType(), folderByDate, hospitalID, depID);
                 fileUpLoadOss(fileInfo, fileFolder + fileName, file.getInputStream());
             } else {
-                fileUpLoadOss(fileInfo, fileProperties.getOss().getFolder() + folderByDate + "/" + fileName, file.getInputStream());
+                fileFolder = FilePath(fileInfo.getImgType(), folderByDate, hospitalID, depID);
+                fileUpLoadOss(fileInfo, fileFolder + fileName, file.getInputStream());
             }
         }
 
@@ -95,12 +100,13 @@
          * @param newFilePath 上传到的文件路径
          * @param fileStream  要上传的文件流
          */
+        @Override
         public void fileUpLoadOss(FileInfo fileInfo, String newFilePath, InputStream fileStream) {
             ossClient.putObject(fileProperties.getOss().getBucketName(), newFilePath, fileStream);
             fileInfo.setUrl(fileProperties.getOss().getDomain() + newFilePath);
 
         }
-
+        @Override
         public OSSObject down(String url) {
             GetObjectRequest request = new GetObjectRequest(fileProperties.getOss().getBucketName(), url);
             return ossClient.getObject(request);
@@ -112,44 +118,46 @@
          * @param imgType
          * @return
          */
+        @Override
         public String FilePath(String imgType, String folderByDate, String hospitalId, String departmentId) {
             //返回的文件路径
-            String fileFolder = "";
+            String fileFolder = OssPathEn+"/";
+
+
             if (StringUtils.isNotBlank(imgType)) {
                 // 光片需要按照根据医院ID,科室ID,日期进行OSS存储
                 if (imgType.toLowerCase().equals("xray")) {
-                    String hospitalID = httpServletRequest.getHeader(SecurityConstants.USER_HOSPITAL_ID_HEADER);
-                    String depID = httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER);
-                    if (org.apache.commons.lang3.StringUtils.isBlank(hospitalID) &&
-                            org.apache.commons.lang3.StringUtils.isBlank(depID)) {
-                        fileFolder = "Xray/" + hospitalID + "/" + depID + "/" + folderByDate + "/";
+
+                    if (StringUtils.isNotBlank(hospitalId) &&
+                            StringUtils.isNotBlank(departmentId)) {
+                        fileFolder += "Xray/" + hospitalId + "/" + departmentId + "/" + folderByDate + "/";
                     } else {
-                        if (org.apache.commons.lang3.StringUtils.isBlank(hospitalId) &&
-                                org.apache.commons.lang3.StringUtils.isBlank(departmentId)) {
-                            fileFolder = "Xray/" + hospitalId + "/" + departmentId + "/" + folderByDate + "/";
-                        } else {
-                            fileFolder = "Xray/" + folderByDate + "/";
-                        }
+                        fileFolder += "Xray/" + folderByDate + "/";
                     }
+
                 } else if (imgType.toLowerCase().equals("app")) {
                     //移动端APP上传
-                    if (org.apache.commons.lang3.StringUtils.isBlank(hospitalId) &&
-                            org.apache.commons.lang3.StringUtils.isBlank(departmentId)) {
-                        fileFolder = "AppXray/" + hospitalId + "/" + departmentId + "/" + folderByDate + "/";
+                    if (StringUtils.isNotBlank(hospitalId) &&
+                            StringUtils.isNotBlank(departmentId)) {
+                        fileFolder += "AppXray/" + hospitalId + "/" + departmentId + "/" + folderByDate + "/";
                     } else {
-                        fileFolder = "AppXray/" + folderByDate + "/";
+                        fileFolder += "AppXray/" + folderByDate + "/";
                     }
                 }
                 // 医院Logo只保存在一个目录中
                 else if (imgType.toLowerCase().equals("logo")) {
-                    fileFolder = "HospitalLogo/";
+                    fileFolder += "HospitalLogo/";
                 } else if (imgType.toLowerCase().equals("doctor")) {
-                    fileFolder = "DoctorImage/";
-                } else {
-                    fileFolder = "OtherImage/" + folderByDate + "/";
+                    fileFolder += "DoctorImage/";
+                } else if (imgType.toLowerCase().equals("customerhospital")) {
+                    fileFolder += "Customer/Hospital/" + folderByDate + "/";
+                } else if (imgType.toLowerCase().equals("customerhead")) {
+                    fileFolder += "Customer/HeadImg/" + folderByDate + "/";
+                }else {
+                    fileFolder += "OtherImage/" + folderByDate + "/";
                 }
             } else {
-                fileFolder = "OtherImage/" + folderByDate + "/";
+                fileFolder += "OtherImage/" + folderByDate + "/";
             }
             return fileFolder;
         }

--
Gitblit v1.8.0