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