From 1781a1990f0dab8377c07886ad7b3faade8fc403 Mon Sep 17 00:00:00 2001
From: luliqiang <kidgrow>
Date: Mon, 15 Jun 2020 16:16:10 +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 |   39 +++++++++++++++++++++++++++++++--------
 1 files changed, 31 insertions(+), 8 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 1dea60b..aca4c2e 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
@@ -16,6 +16,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
+import java.util.UUID;
 
 /**
  * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
@@ -62,16 +63,38 @@
         protected void uploadFile(MultipartFile file, FileInfo fileInfo) throws Exception {
             String clientID= httpServletRequest.getHeader(SecurityConstants.CLIENT_HEADER);
             String folderByDate =DateUtil.formatDate(new Date());
-            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());
+            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 fileFolder = "";
+            if(clientID.equals("hospital")){//医院端平台,
+
+                if ((fileInfo.getImgType() != null)) {
+                    // 光片需要按照根据医院ID,科室ID,日期进行OSS存储
+                    if (fileInfo.getImgType().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 (fileInfo.getImgType().toLowerCase().equals("logo")) {
+                        fileFolder = "HospitalLogo/";
+                    } else {
+                        fileFolder = "OtherImage/"+ folderByDate + "/";
+                    }
+
+                } else {
+                    fileFolder = "OtherImage/"+ folderByDate + "/";
+                }
+
+                ossClient.putObject(fileProperties.getOss().getBucketName(), fileFolder +  fileName, file.getInputStream());
+                fileInfo.setUrl(fileProperties.getOss().getDomain() + fileFolder  + fileName);
+
             }
             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());
+                ossClient.putObject(fileProperties.getOss().getBucketName(), fileProperties.getOss().getFolder() + folderByDate + "/" + fileName, file.getInputStream());
+                fileInfo.setUrl(fileProperties.getOss().getDomain() + fileProperties.getOss().getFolder() + folderByDate + "/" + fileName);
             }
         }
 

--
Gitblit v1.8.0