forked from kidgrow-microservices-platform

zhaoxiaohao
2020-08-12 3dcb4e0ebfd43190957f556d886917b2a2ffa064
kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-server/src/main/java/com/kidgrow/filecenter/config/AliyunOSSAutoConfigure.java
@@ -2,6 +2,8 @@
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;
@@ -18,6 +20,8 @@
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;
/**
@@ -71,7 +75,7 @@
            String fileName= UUID.randomUUID().toString().replaceAll("-","")+fileType;
            String fileFolder = "";
            if(clientID.equals("hospital")){//医院端平台,
                fileFolder=FilePath(fileInfo.getImgType(),folderByDate);
                fileFolder=FilePath(fileInfo.getImgType(),folderByDate,null,null);
                fileUpLoadOss(fileInfo,fileFolder  + fileName,file.getInputStream());
            }
            else {
@@ -96,13 +100,18 @@
        {
            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)
        public String FilePath(String imgType,String folderByDate,String hospitalId,String departmentId)
        {
            //返回的文件路径
            String fileFolder="";
@@ -111,7 +120,17 @@
                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 + "/";
                        }
                    }
                }
                // 医院Logo只保存在一个目录中
                else if (imgType.toLowerCase().equals("logo")) {
@@ -122,7 +141,6 @@
                else {
                    fileFolder = "OtherImage/"+ folderByDate + "/";
                }
            } else {
                fileFolder = "OtherImage/"+ folderByDate + "/";
            }