forked from kidgrow-microservices-platform

zhaoxiaohao
2020-06-16 79b627f05eb431de8a5c9c0f58c44213a6a55370
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);
            }
        }