From 0930a9b75df70289da7188ba65b183e012a9d692 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Wed, 22 Jul 2020 15:50:44 +0800
Subject: [PATCH] 数据去重    医院端修改添加组织

---
 kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java |   68 +++++++++++++++++++++++++++++----
 1 files changed, 59 insertions(+), 9 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 e22afd5..2ee75b4 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,8 +2,11 @@
 
 import com.aliyun.oss.OSSClient;
 import com.aliyun.oss.common.auth.DefaultCredentialProvider;
+import com.aliyun.oss.model.GetObjectRequest;
+import com.aliyun.oss.model.OSSObject;
 import com.kidgrow.common.constant.SecurityConstants;
 import com.kidgrow.common.utils.DateUtil;
+import com.kidgrow.common.utils.StringUtils;
 import com.kidgrow.filecenter.model.FileInfo;
 import com.kidgrow.filecenter.properties.FileServerProperties;
 import com.kidgrow.filecenter.service.impl.AbstractIFileService;
@@ -15,7 +18,10 @@
 import org.springframework.web.multipart.MultipartFile;
 
 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;
 
 /**
@@ -67,17 +73,13 @@
             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);
+            String fileFolder = "";
+            if(clientID.equals("hospital")){//医院端平台,
+                fileFolder=FilePath(fileInfo.getImgType(),folderByDate);
+                fileUpLoadOss(fileInfo,fileFolder  + fileName,file.getInputStream());
             }
             else {
-                ossClient.putObject(fileProperties.getOss().getBucketName(), fileProperties.getOss().getFolder() + folderByDate + "/" + fileName, file.getInputStream());
-                fileInfo.setUrl(fileProperties.getOss().getDomain() + fileProperties.getOss().getFolder() + folderByDate + "/" + fileName);
+                fileUpLoadOss(fileInfo,fileProperties.getOss().getFolder() + folderByDate + "/" + fileName,file.getInputStream());
             }
         }
 
@@ -87,5 +89,53 @@
             ossClient.deleteObject(fileProperties.getOss().getBucketName(), fileInfo.getName());
             return true;
         }
+
+        /**
+         * 给OSS上上传文件
+         * @param fileInfo  返回对象
+         * @param newFilePath 上传到的文件路径
+         * @param 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);
+            return ossClient.getObject(request);
+        }
+        /**
+         * 组合sso上的文件路径
+         * @param imgType
+         * @return
+         */
+        public String FilePath(String imgType,String folderByDate)
+        {
+            //返回的文件路径
+            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 + "/";
+                }
+                // 医院Logo只保存在一个目录中
+                else if (imgType.toLowerCase().equals("logo")) {
+                    fileFolder = "HospitalLogo/";
+                }else if (imgType.toLowerCase().equals("doctor")) {
+                    fileFolder = "DoctorImage/";
+                }
+                else {
+                    fileFolder = "OtherImage/"+ folderByDate + "/";
+                }
+
+            } else {
+                fileFolder = "OtherImage/"+ folderByDate + "/";
+            }
+            return fileFolder;
+        }
     }
 }

--
Gitblit v1.8.0