From ecea8849ad29ccc204d4994f6eeef5cd5064d0cc Mon Sep 17 00:00:00 2001
From: luliqiang <kidgrow>
Date: Fri, 14 Aug 2020 14:03:33 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into dev

---
 kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java |   66 ++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 25 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 2ee75b4..2b09032 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
@@ -39,7 +39,6 @@
     private FileServerProperties fileProperties;
 
 
-
     /**
      * 阿里云文件存储client
      * 只有配置了aliyun.oss.access-key才可以使用
@@ -67,19 +66,18 @@
 
         @Override
         protected void uploadFile(MultipartFile file, FileInfo fileInfo) throws Exception {
-            String clientID= httpServletRequest.getHeader(SecurityConstants.CLIENT_HEADER);
-            String folderByDate =DateUtil.formatDate(new Date());
+            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;
+            String fileName = UUID.randomUUID().toString().replaceAll("-", "") + fileType;
             String fileFolder = "";
-            if(clientID.equals("hospital")){//医院端平台,
-                fileFolder=FilePath(fileInfo.getImgType(),folderByDate);
-                fileUpLoadOss(fileInfo,fileFolder  + fileName,file.getInputStream());
-            }
-            else {
-                fileUpLoadOss(fileInfo,fileProperties.getOss().getFolder() + folderByDate + "/" + fileName,file.getInputStream());
+            if (clientID.equals("hospital")) {//医院端平台,
+                fileFolder = FilePath(fileInfo.getImgType(), folderByDate, null, null);
+                fileUpLoadOss(fileInfo, fileFolder + fileName, file.getInputStream());
+            } else {
+                fileUpLoadOss(fileInfo, fileProperties.getOss().getFolder() + folderByDate + "/" + fileName, file.getInputStream());
             }
         }
 
@@ -92,48 +90,66 @@
 
         /**
          * 给OSS上上传文件
-         * @param fileInfo  返回对象
+         *
+         * @param fileInfo    返回对象
          * @param newFilePath 上传到的文件路径
          * @param fileStream  要上传的文件流
          */
-        public void fileUpLoadOss(FileInfo fileInfo,String newFilePath, InputStream fileStream)
-        {
+        public void fileUpLoadOss(FileInfo fileInfo, String newFilePath, InputStream fileStream) {
             ossClient.putObject(fileProperties.getOss().getBucketName(), newFilePath, fileStream);
             fileInfo.setUrl(fileProperties.getOss().getDomain() + newFilePath);
 
         }
-        public OSSObject down(String url){
-            GetObjectRequest request=new GetObjectRequest(fileProperties.getOss().getBucketName(),url);
+
+        public OSSObject down(String url) {
+            GetObjectRequest request = new GetObjectRequest(fileProperties.getOss().getBucketName(), url);
             return ossClient.getObject(request);
         }
+
         /**
          * 组合sso上的文件路径
+         *
          * @param imgType
          * @return
          */
-        public String FilePath(String imgType,String folderByDate)
-        {
+        public String FilePath(String imgType, String folderByDate, String hospitalId, String departmentId) {
             //返回的文件路径
-            String fileFolder="";
+            String fileFolder = "";
             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);
-                    fileFolder = "Xray/" + hospitalID + "/" + depID + "/"+ folderByDate + "/";
+                    if (org.apache.commons.lang3.StringUtils.isBlank(hospitalID) &&
+                            org.apache.commons.lang3.StringUtils.isBlank(depID)) {
+                        fileFolder = "Xray/" + hospitalID + "/" + depID + "/" + 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 + "/";
+                        }
+                    }
+                } 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 + "/";
+                    } else {
+                        fileFolder = "AppXray/" + folderByDate + "/";
+                    }
                 }
                 // 医院Logo只保存在一个目录中
                 else if (imgType.toLowerCase().equals("logo")) {
                     fileFolder = "HospitalLogo/";
-                }else if (imgType.toLowerCase().equals("doctor")) {
+                } else if (imgType.toLowerCase().equals("doctor")) {
                     fileFolder = "DoctorImage/";
+                } else {
+                    fileFolder = "OtherImage/" + folderByDate + "/";
                 }
-                else {
-                    fileFolder = "OtherImage/"+ folderByDate + "/";
-                }
-
             } else {
-                fileFolder = "OtherImage/"+ folderByDate + "/";
+                fileFolder = "OtherImage/" + folderByDate + "/";
             }
             return fileFolder;
         }

--
Gitblit v1.8.0