From 74edf421d47cc47a9222577048ca71bd040a7808 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Sat, 4 Jan 2025 18:15:28 +0800 Subject: [PATCH] =?UTF-8?q?Amazon=20=E4=BA=9A=E9=A9=AC=E9=80=8A=20?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 46 ++--- .../modules/app/entity/UserMoneyDetails.java | 6 +- .../modules/file/AliFileUploadController.java | 86 +++++---- .../java/com/sqx/modules/file/S3Service.java | 182 +++++++++--------- .../modules/file/config/AWSConfiguration.java | 68 +++---- 5 files changed, 195 insertions(+), 193 deletions(-) diff --git a/pom.xml b/pom.xml index 27f9d212..2f8fa236 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ 4.0 11.2.0.3 1.1.13 - 2.3.0 + 2.6 1.2.2 2.5 @@ -85,17 +85,17 @@ guava 19.0 - - com.amazonaws - aws-java-sdk - 1.11.274 - - - aws-java-sdk-simpleworkflow - com.amazonaws - - - + + + + + + + + + + + cn.afterturn easypoi-spring-boot-starter @@ -325,17 +325,17 @@ druid-spring-boot-starter ${druid.version} - - org.quartz-scheduler - quartz - ${quartz.version} - - - com.mchange - c3p0 - - - + + + + + + + + + + + commons-lang commons-lang diff --git a/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java b/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java index cd65b47e..2f911e7a 100644 --- a/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java +++ b/src/main/java/com/sqx/modules/app/entity/UserMoneyDetails.java @@ -1,8 +1,8 @@ package com.sqx.modules.app.entity; import cn.hutool.core.date.DateUtil; -import com.amazonaws.services.dynamodbv2.xspec.L; -import com.baomidou.mybatisplus.annotation.IdType; +//import com.amazonaws.services.dynamodbv2.xspec.L; +//import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -12,7 +12,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; -import lombok.NoArgsConstructor; +//import lombok.NoArgsConstructor; import java.io.Serializable; import java.math.BigDecimal; diff --git a/src/main/java/com/sqx/modules/file/AliFileUploadController.java b/src/main/java/com/sqx/modules/file/AliFileUploadController.java index c47d3a48..ccd2a30a 100644 --- a/src/main/java/com/sqx/modules/file/AliFileUploadController.java +++ b/src/main/java/com/sqx/modules/file/AliFileUploadController.java @@ -4,9 +4,9 @@ package com.sqx.modules.file; import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; import com.aliyun.tea.TeaException; -import com.amazonaws.services.s3.AmazonS3; -import com.amazonaws.services.s3.model.CannedAccessControlList; -import com.amazonaws.services.s3.model.ObjectMetadata; +//import com.amazonaws.services.s3.AmazonS3; +//import com.amazonaws.services.s3.model.CannedAccessControlList; +//import com.amazonaws.services.s3.model.ObjectMetadata; import com.qcloud.cos.COSClient; import com.qcloud.cos.ClientConfig; import com.qcloud.cos.auth.BasicCOSCredentials; @@ -56,12 +56,14 @@ public class AliFileUploadController { private final CommonInfoService commonRepository; - private AmazonS3 amazonS3; +// private AmazonS3 amazonS3; @Autowired - public AliFileUploadController(CommonInfoService commonRepository, AmazonS3 amazonS3) { + public AliFileUploadController(CommonInfoService commonRepository +// , AmazonS3 amazonS3 + ) { this.commonRepository = commonRepository; - this.amazonS3 = amazonS3; +// this.amazonS3 = amazonS3; } @GetMapping(value = "/getCredentials") @@ -164,24 +166,24 @@ public class AliFileUploadController { cosclient.shutdown(); } }else if("3".equals(value)){ - String suffix = file.getOriginalFilename().substring(Objects.requireNonNull(file.getOriginalFilename()).lastIndexOf(".")); - // 上传文件流。 - InputStream inputStream = null; - try { - inputStream =new ByteArrayInputStream(file.getBytes()); - } catch (IOException e) { - e.printStackTrace(); - } - String completePath=getPath(suffix); - String bucket=commonRepository.findOne(810).getValue(); - com.amazonaws.services.s3.model.PutObjectRequest putObjectRequest = new com.amazonaws.services.s3.model.PutObjectRequest(bucket, completePath, inputStream, new ObjectMetadata()); - - putObjectRequest.setCannedAcl(CannedAccessControlList.PublicRead); - - com.amazonaws.services.s3.model.PutObjectResult putObjectResult = amazonS3.putObject(putObjectRequest); - - IOUtils.closeQuietly(inputStream); - return Result.success().put("data",commonRepository.findOne(811).getValue()+"/"+completePath); +// String suffix = file.getOriginalFilename().substring(Objects.requireNonNull(file.getOriginalFilename()).lastIndexOf(".")); +// // 上传文件流。 +// InputStream inputStream = null; +// try { +// inputStream =new ByteArrayInputStream(file.getBytes()); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// String completePath=getPath(suffix); +// String bucket=commonRepository.findOne(810).getValue(); +// com.amazonaws.services.s3.model.PutObjectRequest putObjectRequest = new com.amazonaws.services.s3.model.PutObjectRequest(bucket, completePath, inputStream, new ObjectMetadata()); +// +// putObjectRequest.setCannedAcl(CannedAccessControlList.PublicRead); +// +// com.amazonaws.services.s3.model.PutObjectResult putObjectResult = amazonS3.putObject(putObjectRequest); +// +// IOUtils.closeQuietly(inputStream); +// return Result.success().put("data",commonRepository.findOne(811).getValue()+"/"+completePath); }else if("4".equals(value)){ String endpoint = "tos-cn-beijing.volces.com"; String region = "cn-beijing"; @@ -301,24 +303,24 @@ public class AliFileUploadController { cosclient.shutdown(); } }else if("3".equals(value)){ - String suffix = file.getOriginalFilename().substring(Objects.requireNonNull(file.getOriginalFilename()).lastIndexOf(".")); - // 上传文件流。 - InputStream inputStream = null; - try { - inputStream =new ByteArrayInputStream(file.getBytes()); - } catch (IOException e) { - e.printStackTrace(); - } - String completePath=getPath(suffix); - String bucket=commonRepository.findOne(810).getValue(); - com.amazonaws.services.s3.model.PutObjectRequest putObjectRequest = new com.amazonaws.services.s3.model.PutObjectRequest(bucket, completePath, inputStream, new ObjectMetadata()); - - putObjectRequest.setCannedAcl(CannedAccessControlList.PublicRead); - - com.amazonaws.services.s3.model.PutObjectResult putObjectResult = amazonS3.putObject(putObjectRequest); - - IOUtils.closeQuietly(inputStream); - return commonRepository.findOne(811).getValue()+"/"+completePath; +// String suffix = file.getOriginalFilename().substring(Objects.requireNonNull(file.getOriginalFilename()).lastIndexOf(".")); +// // 上传文件流。 +// InputStream inputStream = null; +// try { +// inputStream =new ByteArrayInputStream(file.getBytes()); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// String completePath=getPath(suffix); +// String bucket=commonRepository.findOne(810).getValue(); +// com.amazonaws.services.s3.model.PutObjectRequest putObjectRequest = new com.amazonaws.services.s3.model.PutObjectRequest(bucket, completePath, inputStream, new ObjectMetadata()); +// +// putObjectRequest.setCannedAcl(CannedAccessControlList.PublicRead); +// +// com.amazonaws.services.s3.model.PutObjectResult putObjectResult = amazonS3.putObject(putObjectRequest); +// +// IOUtils.closeQuietly(inputStream); +// return commonRepository.findOne(811).getValue()+"/"+completePath; }else if("4".equals(value)){ String endpoint = "tos-cn-beijing.volces.com"; String region = "cn-beijing"; diff --git a/src/main/java/com/sqx/modules/file/S3Service.java b/src/main/java/com/sqx/modules/file/S3Service.java index c5259240..3da5850d 100644 --- a/src/main/java/com/sqx/modules/file/S3Service.java +++ b/src/main/java/com/sqx/modules/file/S3Service.java @@ -1,91 +1,91 @@ -package com.sqx.modules.file; - -import com.amazonaws.services.s3.AmazonS3; -import com.amazonaws.services.s3.model.*; -import com.sqx.modules.common.service.CommonInfoService; -import org.apache.commons.io.IOUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.stereotype.Service; -import org.springframework.util.StringUtils; -import org.springframework.web.multipart.MultipartFile; - -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -@Service -public class S3Service { - - @Autowired - private AmazonS3 amazonS3; - @Autowired - private CommonInfoService commonInfoService; - - private PutObjectResult upload(String filePath, String uploadKey) throws FileNotFoundException { - return upload(new FileInputStream(filePath), uploadKey); - } - - private PutObjectResult upload(InputStream inputStream, String uploadKey) { - PutObjectRequest putObjectRequest = new PutObjectRequest(commonInfoService.findOne(810).getValue(), uploadKey, inputStream, new ObjectMetadata()); - - putObjectRequest.setCannedAcl(CannedAccessControlList.PublicRead); - - PutObjectResult putObjectResult = amazonS3.putObject(putObjectRequest); - - IOUtils.closeQuietly(inputStream); - - return putObjectResult; - } - - public List upload(MultipartFile[] multipartFiles) { - List putObjectResults = new ArrayList<>(); - - Arrays.stream(multipartFiles) - .filter(multipartFile -> !StringUtils.isEmpty(multipartFile.getOriginalFilename())) - .forEach(multipartFile -> { - try { - putObjectResults.add(upload(multipartFile.getInputStream(), multipartFile.getOriginalFilename())); - } catch (IOException e) { - e.printStackTrace(); - } - }); - - return putObjectResults; - } - - public ResponseEntity download(String key) throws IOException { - GetObjectRequest getObjectRequest = new GetObjectRequest(commonInfoService.findOne(810).getValue(), key); - - S3Object s3Object = amazonS3.getObject(getObjectRequest); - - S3ObjectInputStream objectInputStream = s3Object.getObjectContent(); - - byte[] bytes = IOUtils.toByteArray(objectInputStream); - - String fileName = URLEncoder.encode(key, "UTF-8").replaceAll("\\+", "%20"); - - HttpHeaders httpHeaders = new HttpHeaders(); - httpHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM); - httpHeaders.setContentLength(bytes.length); - httpHeaders.setContentDispositionFormData("attachment", fileName); - - return new ResponseEntity<>(bytes, httpHeaders, HttpStatus.OK); - } - - public List list() { - ObjectListing objectListing = amazonS3.listObjects(new ListObjectsRequest().withBucketName(commonInfoService.findOne(810).getValue())); - - List s3ObjectSummaries = objectListing.getObjectSummaries(); - - return s3ObjectSummaries; - } -} +//package com.sqx.modules.file; +// +//import com.amazonaws.services.s3.AmazonS3; +//import com.amazonaws.services.s3.model.*; +//import com.sqx.modules.common.service.CommonInfoService; +//import org.apache.commons.io.IOUtils; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.http.HttpHeaders; +//import org.springframework.http.HttpStatus; +//import org.springframework.http.MediaType; +//import org.springframework.http.ResponseEntity; +//import org.springframework.stereotype.Service; +//import org.springframework.util.StringUtils; +//import org.springframework.web.multipart.MultipartFile; +// +//import java.io.FileInputStream; +//import java.io.FileNotFoundException; +//import java.io.IOException; +//import java.io.InputStream; +//import java.net.URLEncoder; +//import java.util.ArrayList; +//import java.util.Arrays; +//import java.util.List; +// +//@Service +//public class S3Service { +// +// @Autowired +// private AmazonS3 amazonS3; +// @Autowired +// private CommonInfoService commonInfoService; +// +// private PutObjectResult upload(String filePath, String uploadKey) throws FileNotFoundException { +// return upload(new FileInputStream(filePath), uploadKey); +// } +// +// private PutObjectResult upload(InputStream inputStream, String uploadKey) { +// PutObjectRequest putObjectRequest = new PutObjectRequest(commonInfoService.findOne(810).getValue(), uploadKey, inputStream, new ObjectMetadata()); +// +// putObjectRequest.setCannedAcl(CannedAccessControlList.PublicRead); +// +// PutObjectResult putObjectResult = amazonS3.putObject(putObjectRequest); +// +// IOUtils.closeQuietly(inputStream); +// +// return putObjectResult; +// } +// +// public List upload(MultipartFile[] multipartFiles) { +// List putObjectResults = new ArrayList<>(); +// +// Arrays.stream(multipartFiles) +// .filter(multipartFile -> !StringUtils.isEmpty(multipartFile.getOriginalFilename())) +// .forEach(multipartFile -> { +// try { +// putObjectResults.add(upload(multipartFile.getInputStream(), multipartFile.getOriginalFilename())); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// }); +// +// return putObjectResults; +// } +// +// public ResponseEntity download(String key) throws IOException { +// GetObjectRequest getObjectRequest = new GetObjectRequest(commonInfoService.findOne(810).getValue(), key); +// +// S3Object s3Object = amazonS3.getObject(getObjectRequest); +// +// S3ObjectInputStream objectInputStream = s3Object.getObjectContent(); +// +// byte[] bytes = IOUtils.toByteArray(objectInputStream); +// +// String fileName = URLEncoder.encode(key, "UTF-8").replaceAll("\\+", "%20"); +// +// HttpHeaders httpHeaders = new HttpHeaders(); +// httpHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM); +// httpHeaders.setContentLength(bytes.length); +// httpHeaders.setContentDispositionFormData("attachment", fileName); +// +// return new ResponseEntity<>(bytes, httpHeaders, HttpStatus.OK); +// } +// +// public List list() { +// ObjectListing objectListing = amazonS3.listObjects(new ListObjectsRequest().withBucketName(commonInfoService.findOne(810).getValue())); +// +// List s3ObjectSummaries = objectListing.getObjectSummaries(); +// +// return s3ObjectSummaries; +// } +//} diff --git a/src/main/java/com/sqx/modules/file/config/AWSConfiguration.java b/src/main/java/com/sqx/modules/file/config/AWSConfiguration.java index 7d1d225c..4ad24f80 100644 --- a/src/main/java/com/sqx/modules/file/config/AWSConfiguration.java +++ b/src/main/java/com/sqx/modules/file/config/AWSConfiguration.java @@ -1,34 +1,34 @@ -package com.sqx.modules.file.config; - -import com.amazonaws.auth.AWSCredentials; -import com.amazonaws.auth.AWSStaticCredentialsProvider; -import com.amazonaws.auth.BasicAWSCredentials; -import com.amazonaws.services.s3.AmazonS3; -import com.amazonaws.services.s3.AmazonS3ClientBuilder; -import com.sqx.modules.common.service.CommonInfoService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.stereotype.Component; - -@Configuration -@Component -public class AWSConfiguration { - - @Autowired - private CommonInfoService commonInfoService; - - @Bean - public BasicAWSCredentials basicAWSCredentials() { - return new BasicAWSCredentials(commonInfoService.findOne(807).getValue(), commonInfoService.findOne(808).getValue()); - } - - @Bean - public AmazonS3 amazonS3Client(AWSCredentials awsCredentials) { - AmazonS3ClientBuilder builder = AmazonS3ClientBuilder.standard(); - builder.withCredentials(new AWSStaticCredentialsProvider(awsCredentials)); - builder.setRegion(commonInfoService.findOne(809).getValue()); - AmazonS3 amazonS3 = builder.build(); - return amazonS3; - } -} +//package com.sqx.modules.file.config; +// +//import com.amazonaws.auth.AWSCredentials; +//import com.amazonaws.auth.AWSStaticCredentialsProvider; +//import com.amazonaws.auth.BasicAWSCredentials; +//import com.amazonaws.services.s3.AmazonS3; +//import com.amazonaws.services.s3.AmazonS3ClientBuilder; +//import com.sqx.modules.common.service.CommonInfoService; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.stereotype.Component; +// +//@Configuration +//@Component +//public class AWSConfiguration { +// +// @Autowired +// private CommonInfoService commonInfoService; +// +// @Bean +// public BasicAWSCredentials basicAWSCredentials() { +// return new BasicAWSCredentials(commonInfoService.findOne(807).getValue(), commonInfoService.findOne(808).getValue()); +// } +// +// @Bean +// public AmazonS3 amazonS3Client(AWSCredentials awsCredentials) { +// AmazonS3ClientBuilder builder = AmazonS3ClientBuilder.standard(); +// builder.withCredentials(new AWSStaticCredentialsProvider(awsCredentials)); +// builder.setRegion(commonInfoService.findOne(809).getValue()); +// AmazonS3 amazonS3 = builder.build(); +// return amazonS3; +// } +//}