From d2129459feb3fe626479b4ddc6bf8fda81a216a3 Mon Sep 17 00:00:00 2001 From: xupei Date: Wed, 3 Jul 2024 16:43:22 +0800 Subject: [PATCH] =?UTF-8?q?S3Util=20=E5=B7=A5=E5=85=B7=E7=B1=BB=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/common/enums/CreditsEventsEnum.java | 2 +- .../com/ai/da/common/task/AccountTask.java | 6 ++- .../com/ai/da/common/utils/MinioUtil.java | 8 ++-- .../java/com/ai/da/common/utils/S3Util.java | 38 ++++++++++++------- .../ai/da/controller/LibraryController.java | 2 +- .../controller/SavedCollectionController.java | 2 +- .../da/mapper/primary/entity/BaseEntity.java | 3 ++ .../da/python/vo/DesignPythonItemPrint.java | 8 ++-- .../da/service/impl/ChatRobotServiceImpl.java | 2 +- .../impl/CollectionElementServiceImpl.java | 18 +++++---- .../service/impl/CollectionServiceImpl.java | 12 +++--- .../service/impl/DesignItemServiceImpl.java | 21 +++++----- .../ai/da/service/impl/DesignServiceImpl.java | 30 +++++++-------- .../da/service/impl/GenerateServiceImpl.java | 6 +-- .../da/service/impl/LibraryServiceImpl.java | 13 +++---- .../da/service/impl/PortfolioServiceImpl.java | 10 ++--- .../TDesignPythonOutfitDetailServiceImpl.java | 6 +-- .../da/service/impl/TaskListServiceImpl.java | 8 ++-- .../impl/UserLikeGroupServiceImpl.java | 28 ++++++-------- .../da/service/impl/WorkspaceServiceImpl.java | 34 ++++++++--------- 20 files changed, 131 insertions(+), 126 deletions(-) diff --git a/src/main/java/com/ai/da/common/enums/CreditsEventsEnum.java b/src/main/java/com/ai/da/common/enums/CreditsEventsEnum.java index 7978920c..889c51a8 100644 --- a/src/main/java/com/ai/da/common/enums/CreditsEventsEnum.java +++ b/src/main/java/com/ai/da/common/enums/CreditsEventsEnum.java @@ -17,7 +17,7 @@ public enum CreditsEventsEnum { INIT_YEARLY("init_yearly", "6000"), INIT_MONTHLY("init_monthly", "5000"), INIT_TRIAL("init_trial", "100"), - INIT_WEEKLY("init_weekly","10000"), + INIT_WEEKLY("init_weekly","6000"), // SUPER_RESOLUTION("Super Resolution","30"), SUPER_RESOLUTION("Super Resolution","10"), diff --git a/src/main/java/com/ai/da/common/task/AccountTask.java b/src/main/java/com/ai/da/common/task/AccountTask.java index fa866e9d..ca7edd6d 100644 --- a/src/main/java/com/ai/da/common/task/AccountTask.java +++ b/src/main/java/com/ai/da/common/task/AccountTask.java @@ -1,20 +1,24 @@ package com.ai.da.common.task; import com.ai.da.service.AccountService; +import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; @Component +@Slf4j public class AccountTask { @Resource private AccountService accountService; /** 每周日晚上刷新 年付用户、月付用户的积分 */ -// @Scheduled(cron = "59 59 23 ? * SUN") + @Scheduled(cron = "59 59 23 ? * SUN") +// @Scheduled(cron = "59 59 23 * * ?") public void refreshCreditsMonthly(){ + log.info("每周日晚11:59:59刷新付费用户积分为 6000"); accountService.refreshCreditsWeekly(); } diff --git a/src/main/java/com/ai/da/common/utils/MinioUtil.java b/src/main/java/com/ai/da/common/utils/MinioUtil.java index 300d68d3..581c6d0e 100644 --- a/src/main/java/com/ai/da/common/utils/MinioUtil.java +++ b/src/main/java/com/ai/da/common/utils/MinioUtil.java @@ -373,7 +373,7 @@ public class MinioUtil { * @param expiry 过期时间(单位:分) * @return 文件的临时URL,如果出现异常则返回null */ - public String getPresignedUrl(String bucketName, String fileName, int expiry) { + public String getPreSignedUrl(String bucketName, String fileName, int expiry) { try { return minioClient.getPresignedObjectUrl( GetPresignedObjectUrlArgs.builder() @@ -389,7 +389,7 @@ public class MinioUtil { } } - public String getPresignedUrl(String path, int expiry) { + public String getPreSignedUrl(String path, int expiry) { if (LocalCacheUtils.getPresignedUrlCache(path) != null) { return LocalCacheUtils.getPresignedUrlCache(path); } else { @@ -399,7 +399,7 @@ public class MinioUtil { int index = path.indexOf("/"); String bucketName = path.substring(0, index); String fileName = path.substring(index + 1); - String presignedUrl = getPresignedUrl(bucketName, fileName, expiry); + String presignedUrl = getPreSignedUrl(bucketName, fileName, expiry); LocalCacheUtils.setPresignedUrlCache(path, presignedUrl); return presignedUrl; } @@ -422,7 +422,7 @@ public class MinioUtil { fileName.append("/"); } } - return getPresignedUrl(bucketName, String.valueOf(fileName), expiry); + return getPreSignedUrl(bucketName, String.valueOf(fileName), expiry); } public boolean doesObjectExist(String bucketName, String objectName) { diff --git a/src/main/java/com/ai/da/common/utils/S3Util.java b/src/main/java/com/ai/da/common/utils/S3Util.java index 03bd6fbe..705aca7b 100644 --- a/src/main/java/com/ai/da/common/utils/S3Util.java +++ b/src/main/java/com/ai/da/common/utils/S3Util.java @@ -104,11 +104,11 @@ public class S3Util { .contentType("image/png") .contentLength((long) in.available()) .key(fileName) -// .acl(ObjectCannedACL.PUBLIC_READ) + .acl(ObjectCannedACL.PUBLIC_READ) .build(); s3Client.putObject(putObjectRequest, RequestBody.fromInputStream(in, in.available())); - log.info("上传的位置:桶 - {},路径 - {}", bucketName, fileName); + log.info("uploadImageFromBase64 上传的位置:桶 - {},路径 - {}", bucketName, fileName); return bucketName + "/" + fileName; } catch (Exception e) { e.printStackTrace(); @@ -132,18 +132,19 @@ public class S3Util { .contentType(file.getContentType()) .contentLength(file.getSize()) .key(fileName) -// .acl(ObjectCannedACL.PUBLIC_READ) + .acl(ObjectCannedACL.PUBLIC_READ) .build(); s3Client.putObject(putObjectRequest, RequestBody.fromInputStream(file.getInputStream(), file.getSize())); - log.info("上传的位置:桶 - {},路径 - {}", bucketName, fileName); + log.info("upload 上传的位置:桶 - {},路径 - {}", bucketName, fileName); return bucketName + "/" + fileName; } catch (Exception e) { log.error("上传文件到S3失败 异常:{}", e.getMessage()); return null; } } - // todo + + // todo public String upload(String bucketName, String path, MultipartFile file, String copy) { S3Client s3Client = getS3Client(); InputStream in = null; @@ -155,10 +156,10 @@ public class S3Util { .contentType(file.getContentType()) .contentLength(file.getSize()) .key(path) -// .acl(ObjectCannedACL.PUBLIC_READ) + .acl(ObjectCannedACL.PUBLIC_READ) .build(); s3Client.putObject(putObjectRequest, RequestBody.fromInputStream(file.getInputStream(), file.getSize())); - + log.info("upload-copy 上传的位置:桶 - {},路径 - {}", bucketName, path); } catch (Exception e) { e.printStackTrace(); } finally { @@ -195,6 +196,7 @@ public class S3Util { // ResponseBytes objectBytes = s3.getObjectAsBytes(objectRequest); ResponseBytes objectAsBytes = s3Client.getObjectAsBytes(objectRequest); byte[] data = objectAsBytes.asByteArray(); + log.info("download 下载图片位置:桶 - {},路径 - {}", bucketName, objectName); return new ByteArrayInputStream(data); /*// Write the data to a local file. @@ -263,6 +265,9 @@ public class S3Util { String preSignatureUrl = ""; try { S3Presigner s3PreSigner = getS3PreSigner(); + S3Client s3Client = getS3Client(); + setObjectAcl(s3Client, bucket, keyName, ObjectCannedACL.PUBLIC_READ); + GetObjectRequest getObjectRequest = GetObjectRequest.builder() .bucket(bucket) .key(keyName) @@ -286,13 +291,20 @@ public class S3Util { s3PreSigner.presignGetObject(getObjectPresignRequest); preSignatureUrl = String.valueOf(presignedGetObjectRequest.url()); - } catch (Exception e) { log.error("生成预签名URL失败,异常:{}", e.getMessage()); } return preSignatureUrl; } + public static void setObjectAcl(S3Client s3, String bucketName, String keyName, ObjectCannedACL acl) { + PutObjectAclRequest aclRequest = PutObjectAclRequest.builder() + .bucket(bucketName) + .key(keyName) + .acl(acl) + .build(); + s3.putObjectAcl(aclRequest); + } public boolean doesObjectExist(String bucketName, String objectName) { try { S3Client s3Client = getS3Client(); @@ -309,7 +321,7 @@ public class S3Util { } } - public String base64UploadToPath(String base64, String bucketName, String path){ + public String base64UploadToPath(String base64, String bucketName, String path) { S3Client s3Client = getS3Client(); String[] parts = base64.split(","); String imageType = parts[0].split("/")[1].split(";")[0]; @@ -317,9 +329,9 @@ public class S3Util { byte[] imageBytes = Base64.getDecoder().decode(base64Data); String fileName; - if (!StringUtil.isNullOrEmpty(path)){ + if (!StringUtil.isNullOrEmpty(path)) { fileName = path + "." + imageType; // or any other image format - }else { + } else { fileName = UUID.randomUUID() + "." + imageType; } @@ -329,11 +341,11 @@ public class S3Util { .contentType("image/" + imageType) .contentLength((long) in.available()) .key(fileName) -// .acl(ObjectCannedACL.PUBLIC_READ) + .acl(ObjectCannedACL.PUBLIC_READ) .build(); s3Client.putObject(putObjectRequest, RequestBody.fromInputStream(in, in.available())); - log.info("上传的位置:桶 - {},路径 - {}", bucketName, fileName); + log.info("base64UploadToPath 上传的位置:桶 - {},路径 - {}", bucketName, fileName); return bucketName + "/" + fileName; } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/com/ai/da/controller/LibraryController.java b/src/main/java/com/ai/da/controller/LibraryController.java index 9c3a6ebb..3330da02 100644 --- a/src/main/java/com/ai/da/controller/LibraryController.java +++ b/src/main/java/com/ai/da/controller/LibraryController.java @@ -163,7 +163,7 @@ public class LibraryController { Response response = new Response(); log.info("Models打点预览入参####{}", JSON.toJSONString(modelsDotDTO)); String url = libraryModelPointService.modelsDot(modelsDotDTO); - response.setData(minioUtil.getPresignedUrl(url, 24 * 60)); + response.setData(minioUtil.getPreSignedUrl(url, 24 * 60)); return response; } diff --git a/src/main/java/com/ai/da/controller/SavedCollectionController.java b/src/main/java/com/ai/da/controller/SavedCollectionController.java index d832bdb9..334c0037 100644 --- a/src/main/java/com/ai/da/controller/SavedCollectionController.java +++ b/src/main/java/com/ai/da/controller/SavedCollectionController.java @@ -118,7 +118,7 @@ public class SavedCollectionController { List details = groupDetailMap.get(group.getId()); for (UserLikeVO detail : details) { TDesignPythonOutfit tDesignPythonOutfit = designPythonOutfitMapper.selectById(detail.getDesignOutfitId()); - detail.setUrl(minioUtil.getPresignedUrl(tDesignPythonOutfit.getDesignUrl(), 24 * 60)); + detail.setUrl(minioUtil.getPreSignedUrl(tDesignPythonOutfit.getDesignUrl(), 24 * 60)); } userLikeGroupVO.setGroupDetails(details); userLikeGroupVO.setSketchCount(CollectionUtils.isEmpty(details) ? 0 : details.size()); diff --git a/src/main/java/com/ai/da/mapper/primary/entity/BaseEntity.java b/src/main/java/com/ai/da/mapper/primary/entity/BaseEntity.java index f78fb748..cc960200 100644 --- a/src/main/java/com/ai/da/mapper/primary/entity/BaseEntity.java +++ b/src/main/java/com/ai/da/mapper/primary/entity/BaseEntity.java @@ -2,6 +2,7 @@ package com.ai.da.mapper.primary.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.EqualsAndHashCode; @@ -24,11 +25,13 @@ public class BaseEntity implements Serializable { /** * 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private LocalDateTime createTime; /** * 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private LocalDateTime updateTime; /** diff --git a/src/main/java/com/ai/da/python/vo/DesignPythonItemPrint.java b/src/main/java/com/ai/da/python/vo/DesignPythonItemPrint.java index 7650429c..6f44455f 100644 --- a/src/main/java/com/ai/da/python/vo/DesignPythonItemPrint.java +++ b/src/main/java/com/ai/da/python/vo/DesignPythonItemPrint.java @@ -29,7 +29,7 @@ public class DesignPythonItemPrint { * 是否打点 */ @ApiModelProperty("是否打点 是传true 否则false") - private Boolean IfSingle; + private Boolean ifSingle; @ApiModelProperty("print的位置 传 [[0.2, 0.2]]") @@ -43,14 +43,14 @@ public class DesignPythonItemPrint { @JSONField(name = "IfSingle") public Boolean getIfSingle() { - return IfSingle; + return ifSingle; } public DesignPythonItemPrint(String singlePath, String level1Type, Float scale, Boolean ifSingle) { this.path = singlePath; this.level1Type = level1Type; this.scale = scale; - IfSingle = ifSingle; + this.ifSingle = ifSingle; } public DesignPythonItemPrint() { @@ -62,6 +62,6 @@ public class DesignPythonItemPrint { public DesignPythonItemPrint(List print_path_list, Boolean ifSingle) { this.print_path_list = print_path_list; - IfSingle = ifSingle; + this.ifSingle = ifSingle; } } diff --git a/src/main/java/com/ai/da/service/impl/ChatRobotServiceImpl.java b/src/main/java/com/ai/da/service/impl/ChatRobotServiceImpl.java index 79eb8b37..11f4126a 100644 --- a/src/main/java/com/ai/da/service/impl/ChatRobotServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/ChatRobotServiceImpl.java @@ -223,7 +223,7 @@ public class ChatRobotServiceImpl implements ChatRobotService { if (!CollectionUtils.isEmpty(libraryList)) { chatRobotLibraryVO.setId(libraryList.get(0).getId()); } - String aidaSysImage = minioUtil.getPresignedUrl(bucketName + "/" + path, 24 * 60); + String aidaSysImage = minioUtil.getPreSignedUrl(bucketName + "/" + path, 24 * 60); chatRobotLibraryVO.setUrl(bucketName + "/" + path); chatRobotLibraryVO.setPresignedUrl(aidaSysImage); chatRobotLibraryVOList.add(chatRobotLibraryVO); diff --git a/src/main/java/com/ai/da/service/impl/CollectionElementServiceImpl.java b/src/main/java/com/ai/da/service/impl/CollectionElementServiceImpl.java index 8bced01d..8cda2182 100644 --- a/src/main/java/com/ai/da/service/impl/CollectionElementServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/CollectionElementServiceImpl.java @@ -23,7 +23,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; -import io.minio.errors.MinioException; import io.netty.util.internal.StringUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -35,8 +34,6 @@ import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; import java.math.BigDecimal; import java.time.LocalDateTime; import java.time.ZoneId; @@ -105,7 +102,7 @@ public class CollectionElementServiceImpl extends ServiceImpl> libraryIds = generateDetailMapper.getLibraryIdThroughMD5(md5, CollectionLevel1TypeEnum.PRINT_BOARD.getRealName()); if (libraryIds.isEmpty()){ diff --git a/src/main/java/com/ai/da/service/impl/CollectionServiceImpl.java b/src/main/java/com/ai/da/service/impl/CollectionServiceImpl.java index 1aad260c..871bb8f3 100644 --- a/src/main/java/com/ai/da/service/impl/CollectionServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/CollectionServiceImpl.java @@ -80,7 +80,7 @@ public class CollectionServiceImpl extends ServiceImpl> maps = collectionElements @@ -95,27 +95,27 @@ public class CollectionServiceImpl extends ServiceImpl { d.setDesignType(DesignTypeEnum.COLLECTION.getRealName()); - d.setUrl(minioUtil.getPresignedUrl(o.getUrl(), 24 * 60)); + d.setUrl(minioUtil.getPreSignedUrl(o.getUrl(), 24 * 60)); })); break; case PRINT_BOARD: response.setPrintBoards(CopyUtil.copyList(v, CollectionElementVO.class, (o, d) -> { d.setIsPin(o.getHasPin()); d.setDesignType(DesignTypeEnum.COLLECTION.getRealName()); - d.setUrl(minioUtil.getPresignedUrl(o.getUrl(), 24 * 60)); + d.setUrl(minioUtil.getPreSignedUrl(o.getUrl(), 24 * 60)); })); break; case SKETCH_BOARD: response.setSketchBoards(CopyUtil.copyList(v, CollectionElementVO.class, (o, d) -> { d.setIsPin(o.getHasPin()); d.setDesignType(DesignTypeEnum.COLLECTION.getRealName()); - d.setUrl(minioUtil.getPresignedUrl(o.getUrl(), 24 * 60)); + d.setUrl(minioUtil.getPreSignedUrl(o.getUrl(), 24 * 60)); String url = o.getUrl(); if (url.contains(".")) { String[] split = url.split("\\."); - d.setUrlWithWhiteSide(minioUtil.getPresignedUrl(split[0] + "-show." + split[1], 24 * 60)); + d.setUrlWithWhiteSide(minioUtil.getPreSignedUrl(split[0] + "-show." + split[1], 24 * 60)); }else { - d.setUrlWithWhiteSide(minioUtil.getPresignedUrl(url + "-show", 24 * 60)); + d.setUrlWithWhiteSide(minioUtil.getPreSignedUrl(url + "-show", 24 * 60)); } })); break; diff --git a/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java b/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java index 82ab7971..593d509b 100644 --- a/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java @@ -8,10 +8,7 @@ import com.ai.da.common.context.UserContext; import com.ai.da.common.enums.CollectionLevel1TypeEnum; import com.ai.da.common.enums.SingleOverallEnum; import com.ai.da.common.enums.SysFileLevel2TypeEnum; -import com.ai.da.common.utils.CopyUtil; -import com.ai.da.common.utils.DateUtil; -import com.ai.da.common.utils.MD5Utils; -import com.ai.da.common.utils.MinioUtil; +import com.ai.da.common.utils.*; import com.ai.da.mapper.primary.DesignItemMapper; import com.ai.da.mapper.primary.entity.*; import com.ai.da.model.dto.*; @@ -536,7 +533,7 @@ public class DesignItemServiceImpl extends ServiceImpl { if (!StringUtil.isNullOrEmpty(designSingleItem.getDesignType()) && designSingleItem.getDesignType().equals("Collection")){ - String path = minioUtil.getPresignedUrl(designSingleItem.getPath(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME); + String path = minioUtil.getPreSignedUrl(designSingleItem.getPath(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME); try { String md5 = MD5Utils.encryptFile(path, false); // 先判断是否需要被加入到library @@ -814,7 +811,7 @@ public class DesignItemServiceImpl extends ServiceImpl { if (!StringUtil.isNullOrEmpty(print.getDesignType()) && print.getDesignType().equals("Collection")){ - String path = minioUtil.getPresignedUrl(print.getMinIOPath(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME); + String path = minioUtil.getPreSignedUrl(print.getMinIOPath(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME); try { String md5 = MD5Utils.encryptFile(path, false); // 先判断是否已被加入到library diff --git a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java index 07ffbec1..4fcda3fe 100644 --- a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java @@ -382,9 +382,9 @@ public class DesignServiceImpl extends ServiceImpl impleme String url = byId.getUrl(); if (url.contains(".")) { String[] split = url.split("\\."); - vo.setUrlWithWhiteSide(minioUtil.getPresignedUrl(split[0] + "-show." + split[1], 24 * 60)); + vo.setUrlWithWhiteSide(minioUtil.getPreSignedUrl(split[0] + "-show." + split[1], 24 * 60)); }else { - vo.setUrlWithWhiteSide(minioUtil.getPresignedUrl(url + "-show", 24 * 60)); + vo.setUrlWithWhiteSide(minioUtil.getPreSignedUrl(url + "-show", 24 * 60)); } result.add(vo); }else if (collectionSketchDTO.getDesignType().equals(DesignTypeEnum.GENERATE.getRealName())) { @@ -393,9 +393,9 @@ public class DesignServiceImpl extends ServiceImpl impleme String url = generateDetail.getUrl(); if (url.contains(".")) { String[] split = url.split("\\."); - vo.setUrlWithWhiteSide(minioUtil.getPresignedUrl(split[0] + "-show." + split[1], 24 * 60)); + vo.setUrlWithWhiteSide(minioUtil.getPreSignedUrl(split[0] + "-show." + split[1], 24 * 60)); }else { - vo.setUrlWithWhiteSide(minioUtil.getPresignedUrl(url + "-show", 24 * 60)); + vo.setUrlWithWhiteSide(minioUtil.getPreSignedUrl(url + "-show", 24 * 60)); } result.add(vo); } @@ -411,9 +411,9 @@ public class DesignServiceImpl extends ServiceImpl impleme String url = byId.getUrl(); if (url.contains(".")) { String[] split = url.split("\\."); - vo.setUrlWithWhiteSide(minioUtil.getPresignedUrl(split[0] + "-show." + split[1], 24 * 60)); + vo.setUrlWithWhiteSide(minioUtil.getPreSignedUrl(split[0] + "-show." + split[1], 24 * 60)); }else { - vo.setUrlWithWhiteSide(minioUtil.getPresignedUrl(url + "-show", 24 * 60)); + vo.setUrlWithWhiteSide(minioUtil.getPreSignedUrl(url + "-show", 24 * 60)); } result.add(vo); } @@ -597,7 +597,7 @@ public class DesignServiceImpl extends ServiceImpl impleme String designUrl = designPythonOutfit.getDesignUrl(); if (!StringUtils.isEmpty(designUrl) && designUrl.contains("/")) { int firstIndex = designUrl.indexOf("/"); - designCollectionItemVO.setDesignOutfitUrl(minioUtil.getPresignedUrl(designUrl.substring(0, firstIndex) + "/" + designUrl.substring(firstIndex + 1), 24 * 60)); + designCollectionItemVO.setDesignOutfitUrl(minioUtil.getPreSignedUrl(designUrl.substring(0, firstIndex) + "/" + designUrl.substring(firstIndex + 1), 24 * 60)); } //response designCollectionItems.add(designCollectionItemVO); @@ -997,7 +997,7 @@ public class DesignServiceImpl extends ServiceImpl impleme .collect(Collectors.toList()); response.setClothes(CopyUtil.copyList(filterDetail, DesignItemClothesDetailVO.class, (o, d) -> { d.setId(o.getId()); - d.setPath(minioUtil.getPresignedUrl(o.getPath(), 24 * 60)); + d.setPath(minioUtil.getPreSignedUrl(o.getPath(), 24 * 60)); d.setMinIOPath(o.getPath()); d.setLevel1Type(converTypeToLevel1(o.getType())); d.setGradient(JSONObject.parseObject(o.getGradientString(), Gradient.class)); @@ -1025,12 +1025,12 @@ public class DesignServiceImpl extends ServiceImpl impleme // todo 不确定businessId的作用,暂时取消传递,查看影响 // d.setId(o.getBusinessId()); d.setId(0L); - d.setPath(minioUtil.getPresignedUrl(o.getPath(), 24 * 60)); + d.setPath(minioUtil.getPreSignedUrl(o.getPath(), 24 * 60)); d.setMinIOPath(o.getPath()); d.setPrintObject(new DesignPythonItemPrint()); })); return editDesignItemLayer(flag, designPythonOutfit, - minioUtil.getPresignedUrl(designPythonOutfit.getDesignUrl(), 24 * 60), + minioUtil.getPreSignedUrl(designPythonOutfit.getDesignUrl(), 24 * 60), editResponseColor(designItemDetails, response)); } @@ -1169,7 +1169,7 @@ public class DesignServiceImpl extends ServiceImpl impleme }); // 2、将查询出的图层信息填充到designItemDetailVO中 - designItemDetailVO.setDesignItemUrl(minioUtil.getPresignedUrl(designPythonOutfit.getDesignUrl(), 24 * 60)); + designItemDetailVO.setDesignItemUrl(minioUtil.getPreSignedUrl(designPythonOutfit.getDesignUrl(), 24 * 60)); // 2.1 填充clothes designItemDetailVO.getClothes().forEach(c -> { // String type = c.getType().toLowerCase(); @@ -1209,7 +1209,7 @@ public class DesignServiceImpl extends ServiceImpl impleme designSinglePrint.setLocation(JSONArray.parseArray(detailPrint.getPosition(), Double.class)); designSinglePrint.setAngle(detailPrint.getAngle()); designSinglePrint.setPriority(detailPrint.getPriority()); - designSinglePrint.setPath(minioUtil.getPresignedUrl(detailPrint.getPath(), 24 * 60)); + designSinglePrint.setPath(minioUtil.getPreSignedUrl(detailPrint.getPath(), 24 * 60)); designSinglePrint.setMinIOPath(detailPrint.getPath()); designSinglePrint.setScale(detailPrint.getScale()); prints.add(designSinglePrint); @@ -1220,7 +1220,7 @@ public class DesignServiceImpl extends ServiceImpl impleme if (print.getSingleOrOverall().equals("single")) { prints.add(new DesignSinglePrint( print.getLevel2Type(), - minioUtil.getPresignedUrl(print.getPath(), 24 * 60), + minioUtil.getPreSignedUrl(print.getPath(), 24 * 60), print.getPath(), JSONArray.parseArray(print.getPosition(), Double.class), print.getScale(), @@ -1250,13 +1250,13 @@ public class DesignServiceImpl extends ServiceImpl impleme List modelFromLibIds = designs.stream().filter(design -> design.getModelType().equals("Library")).map(Design::getTemplateId).collect(Collectors.toList()); if (!CollectionUtil.isEmpty(modelFromLibIds)){ models.addAll(libraryService.getByIds(modelFromLibIds).stream() - .map(d -> minioUtil.getPresignedUrl(d.getUrl(), 24 * 60)) + .map(d -> minioUtil.getPreSignedUrl(d.getUrl(), 24 * 60)) .collect(Collectors.toList())); } List modelFromSysIds = designs.stream().filter(design -> design.getModelType().equals("System")).map(Design::getTemplateId).collect(Collectors.toList()); if (!CollectionUtil.isEmpty(modelFromSysIds)){ models.addAll(sysFileService.getByIds(modelFromSysIds).stream() - .map(d -> minioUtil.getPresignedUrl(d.getUrl(), 24 * 60)) + .map(d -> minioUtil.getPreSignedUrl(d.getUrl(), 24 * 60)) .collect(Collectors.toList())); } diff --git a/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java b/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java index c6c07158..15703886 100644 --- a/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/GenerateServiceImpl.java @@ -213,7 +213,7 @@ public class GenerateServiceImpl extends ServiceImpl i } } // Generate generate = selectByUniqueId(taskId); - String md5 = MD5Utils.encryptFile(minioUtil.getPresignedUrl(url, 24 * 60), Boolean.FALSE); + String md5 = MD5Utils.encryptFile(minioUtil.getPreSignedUrl(url, 24 * 60), Boolean.FALSE); // 通过MD5值和level1Type,判断不同level1Type下相同的图片是否被like过 List> libraryIdList = generateDetailMapper.getLibraryIdThroughMD5(md5, generate.getLevel1Type()); if (!libraryIdList.isEmpty()) { @@ -543,7 +543,7 @@ public class GenerateServiceImpl extends ServiceImpl i collectionElement.setName(name); collectionElement.setUrl(path); collectionElement.setHasPin((byte) 0); - collectionElement.setMd5(MD5Utils.encryptFile(minioUtil.getPresignedUrl(path, 24 * 60), Boolean.FALSE)); + collectionElement.setMd5(MD5Utils.encryptFile(minioUtil.getPreSignedUrl(path, 24 * 60), Boolean.FALSE)); collectionElement.setCreateDate(DateUtil.getByTimeZone(generateThroughImageTextDTO.getTimeZone())); collectionElementService.save(collectionElement); @@ -633,7 +633,7 @@ public class GenerateServiceImpl extends ServiceImpl i if (url.substring(url.lastIndexOf("/") + 1).equals("white_image.jpg")) { generateResultVO.setStatus("Invalid"); } else { - generateResultVO.setUrl(minioUtil.getPresignedUrl(url, CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); + generateResultVO.setUrl(minioUtil.getPreSignedUrl(url, CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); } } else if (Objects.isNull(generateResultVO)) { generateResultVO = new GenerateResultVO(); diff --git a/src/main/java/com/ai/da/service/impl/LibraryServiceImpl.java b/src/main/java/com/ai/da/service/impl/LibraryServiceImpl.java index a6b0b3c8..39af9761 100644 --- a/src/main/java/com/ai/da/service/impl/LibraryServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/LibraryServiceImpl.java @@ -8,10 +8,7 @@ import com.ai.da.common.context.UserContext; import com.ai.da.common.enums.*; import com.ai.da.common.response.PageBaseResponse; import com.ai.da.common.response.ResultEnum; -import com.ai.da.common.utils.CopyUtil; -import com.ai.da.common.utils.DateUtil; -import com.ai.da.common.utils.FileUtil; -import com.ai.da.common.utils.MinioUtil; +import com.ai.da.common.utils.*; import com.ai.da.mapper.primary.*; import com.ai.da.mapper.primary.entity.*; import com.ai.da.model.dto.*; @@ -209,7 +206,7 @@ public class LibraryServiceImpl extends ServiceImpl impl QueryLibraryPageVO libraryPageVO = CopyUtil.copyObject(library, QueryLibraryPageVO.class); libraryPageVO.setDesignType(DesignTypeEnum.LIBRARY.getRealName()); libraryPageVO.setMinIOPath(library.getUrl()); - libraryPageVO.setUrl(minioUtil.getPresignedUrl(library.getUrl(), 24 * 60)); + libraryPageVO.setUrl(minioUtil.getPreSignedUrl(library.getUrl(), 24 * 60)); if (finalMap != null && finalMap.containsKey(library.getId())) { libraryPageVO.setLibraryModelPoint(finalMap.get(library.getId())); } @@ -273,7 +270,7 @@ public class LibraryServiceImpl extends ServiceImpl impl Library library = resolveData(libraryUploadDTO, userInfo, newFilePath); LibraryUpdateVo libraryUpdateVo = CopyUtil.copyObject(library, LibraryUpdateVo.class); libraryUpdateVo.setMinIOPath(libraryUpdateVo.getUrl()); - libraryUpdateVo.setUrl(minioUtil.getPresignedUrl(newFilePath, 24 * 60)); + libraryUpdateVo.setUrl(minioUtil.getPreSignedUrl(newFilePath, 24 * 60)); libraryUpdateVo.setCheckMd5(Boolean.TRUE); return libraryUpdateVo; } else if (libraryUploadDTO.getModelType().equals(ModelType.SYSTEM.getValue())) { @@ -284,7 +281,7 @@ public class LibraryServiceImpl extends ServiceImpl impl Library library = resolveData(libraryUploadDTO, userInfo, newFilePath); LibraryUpdateVo libraryUpdateVo = CopyUtil.copyObject(library, LibraryUpdateVo.class); libraryUpdateVo.setMinIOPath(libraryUpdateVo.getUrl()); - libraryUpdateVo.setUrl(minioUtil.getPresignedUrl(newFilePath, 24 * 60)); + libraryUpdateVo.setUrl(minioUtil.getPreSignedUrl(newFilePath, 24 * 60)); libraryUpdateVo.setCheckMd5(Boolean.TRUE); return libraryUpdateVo; } else { @@ -299,7 +296,7 @@ public class LibraryServiceImpl extends ServiceImpl impl Library library = resolveData(libraryUploadDTO, userInfo, filePath); LibraryUpdateVo libraryUpdateVo = CopyUtil.copyObject(library, LibraryUpdateVo.class); libraryUpdateVo.setMinIOPath(libraryUpdateVo.getUrl()); - libraryUpdateVo.setUrl(minioUtil.getPresignedUrl(libraryUpdateVo.getUrl(), 24 * 60)); + libraryUpdateVo.setUrl(minioUtil.getPreSignedUrl(libraryUpdateVo.getUrl(), 24 * 60)); libraryUpdateVo.setCheckMd5(Boolean.TRUE); return libraryUpdateVo; } diff --git a/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java b/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java index 8e29615c..fa5ddf71 100644 --- a/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java @@ -3,7 +3,6 @@ package com.ai.da.service.impl; import com.ai.da.common.config.exception.BusinessException; import com.ai.da.common.context.UserContext; import com.ai.da.common.response.PageBaseResponse; -import com.ai.da.common.response.Response; import com.ai.da.common.utils.CopyUtil; import com.ai.da.common.utils.MinioUtil; import com.ai.da.common.utils.RedisUtil; @@ -34,7 +33,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Objects; -import java.util.stream.Collectors; @Service public class PortfolioServiceImpl extends ServiceImpl implements PortfolioService { @@ -395,7 +393,7 @@ public class PortfolioServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); qw.lambda().eq(TDesignPythonOutfit::getCollectionId, portfolio.getCollectionId()); List designPythonOutfitList = designPythonOutfitMapper.selectList(qw); for (TDesignPythonOutfit tDesignPythonOutfit : designPythonOutfitList) { - tDesignPythonOutfit.setDesignUrl(minioUtil.getPresignedUrl(tDesignPythonOutfit.getDesignUrl(), 24 * 60)); + tDesignPythonOutfit.setDesignUrl(minioUtil.getPreSignedUrl(tDesignPythonOutfit.getDesignUrl(), 24 * 60)); } vo.setDesignPythonOutfitList(designPythonOutfitList); } Canvas canvas = canvasMapper.selectById(vo.getCanvasId()); - vo.setCanvasUrl(minioUtil.getPresignedUrl(canvas.getUrl(), 24 * 60)); + vo.setCanvasUrl(minioUtil.getPreSignedUrl(canvas.getUrl(), 24 * 60)); vo.setLikeNum(redisUtil.getLikeCount(vo.getId())); boolean postLikedByUser = redisUtil.isPostLikedByUser(portfolioDTO.getId(), userHolder.getId()); if (postLikedByUser) { diff --git a/src/main/java/com/ai/da/service/impl/TDesignPythonOutfitDetailServiceImpl.java b/src/main/java/com/ai/da/service/impl/TDesignPythonOutfitDetailServiceImpl.java index 875ed0a5..8604dccf 100644 --- a/src/main/java/com/ai/da/service/impl/TDesignPythonOutfitDetailServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/TDesignPythonOutfitDetailServiceImpl.java @@ -33,7 +33,7 @@ import static com.ai.da.common.enums.LayersPriorityEnum.BODY; public class TDesignPythonOutfitDetailServiceImpl extends ServiceImpl implements ITDesignPythonOutfitDetailService { @Resource - private MinioUtil minIoUtil; + private MinioUtil minioUtil; @Override public IPage selectTDesignPythonOutfitDetailPage(IPage page, TDesignPythonOutfitDetailVO tDesignPythonOutfitDetail) { @@ -57,9 +57,9 @@ public class TDesignPythonOutfitDetailServiceImpl extends ServiceImpl) JSON.parse(detail.getPosition())); designPythonOutfitVO.setImageSize(StringUtil.isNullOrEmpty(detail.getImageSize()) ? null : (List) JSON.parse(detail.getImageSize())); - designPythonOutfitVO.setImageUrl(StringUtil.isNullOrEmpty(detail.getImageUrl()) ? null : minIoUtil.getPresignedUrl(detail.getImageUrl(), 24 * 60)); + designPythonOutfitVO.setImageUrl(StringUtil.isNullOrEmpty(detail.getImageUrl()) ? null : minioUtil.getPreSignedUrl(detail.getImageUrl(), 24 * 60)); designPythonOutfitVO.setImageMinioUrl(StringUtil.isNullOrEmpty(detail.getImageUrl()) ? null : detail.getImageUrl()); - designPythonOutfitVO.setMaskUrl(StringUtil.isNullOrEmpty(detail.getMaskUrl()) ? null : minIoUtil.getPresignedUrl(detail.getMaskUrl(), 24 * 60)); + designPythonOutfitVO.setMaskUrl(StringUtil.isNullOrEmpty(detail.getMaskUrl()) ? null : minioUtil.getPreSignedUrl(detail.getMaskUrl(), 24 * 60)); designPythonOutfitVO.setMaskMinioUrl(StringUtil.isNullOrEmpty(detail.getMaskUrl()) ? null : detail.getMaskUrl()); // designPythonOutfitVO.setScale(Float.parseFloat(detail.getScale())); designPythonOutfitVO.setScale(modifyScale(detail.getScale())); diff --git a/src/main/java/com/ai/da/service/impl/TaskListServiceImpl.java b/src/main/java/com/ai/da/service/impl/TaskListServiceImpl.java index c65c5fa5..9ea82c21 100644 --- a/src/main/java/com/ai/da/service/impl/TaskListServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/TaskListServiceImpl.java @@ -62,8 +62,8 @@ public class TaskListServiceImpl extends ServiceImpl i taskDTOS.add(new TaskDTO<>()); } else { SuperResolutionDTO inputParam = taskDTO.getInputParam(); - inputParam.setImages(minioUtil.getPresignedUrl(inputParam.getImages(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); - taskDTO.setOutputImage(StringUtil.isNullOrEmpty(taskDTO.getOutputImage()) ? null : minioUtil.getPresignedUrl(taskDTO.getOutputImage(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); + inputParam.setImages(minioUtil.getPreSignedUrl(inputParam.getImages(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); + taskDTO.setOutputImage(StringUtil.isNullOrEmpty(taskDTO.getOutputImage()) ? null : minioUtil.getPreSignedUrl(taskDTO.getOutputImage(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); taskDTOS.add(taskDTO); } }); @@ -105,8 +105,8 @@ public class TaskListServiceImpl extends ServiceImpl i // 成功失败的都返回 TaskVO task = new TaskVO(); task.setImageName(s.getInputUrl().substring(s.getInputUrl().lastIndexOf("/") + 1)); - task.setInputImage(minioUtil.getPresignedUrl(s.getInputUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); - task.setOutputImage(StringUtil.isNullOrEmpty(s.getOutputUrl()) ? null : minioUtil.getPresignedUrl(s.getOutputUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); + task.setInputImage(minioUtil.getPreSignedUrl(s.getInputUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); + task.setOutputImage(StringUtil.isNullOrEmpty(s.getOutputUrl()) ? null : minioUtil.getPreSignedUrl(s.getOutputUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME)); task.setStatus(s.getStatus()); task.setTaskId(s.getTaskId()); task.setCreateDate(s.getCreateTime().format(dateTimeFormatter)); diff --git a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java index b318c7b3..36ca8e6d 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java @@ -5,13 +5,9 @@ import com.ai.da.common.config.exception.BusinessException; import com.ai.da.common.constant.CommonConstant; import com.ai.da.common.context.UserContext; import com.ai.da.common.enums.CreditsEventsEnum; -import com.ai.da.common.utils.CopyUtil; -import com.ai.da.common.utils.DateUtil; -import com.ai.da.common.utils.MinioUtil; -import com.ai.da.common.utils.RedisUtil; +import com.ai.da.common.utils.*; import com.ai.da.mapper.primary.*; import com.ai.da.mapper.primary.entity.*; -import com.ai.da.model.dto.ExportSaveDTO; import com.ai.da.model.dto.ProductImageLikeDTO; import com.ai.da.model.dto.ToProductImageDTO; import com.ai.da.model.vo.*; @@ -144,7 +140,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); qw.lambda().eq(TDesignPythonOutfit::getDesignItemId, o.getDesignItemId()); List tDesignPythonOutfits = designPythonOutfitMapper.selectList(qw); @@ -313,7 +309,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); qw.lambda().eq(ToProductImageResult::getTaskId, taskId); ToProductImageResult toProductImageResult = toProductImageResultMapper.selectOne(qw); @@ -354,10 +350,10 @@ public class UserLikeGroupServiceImpl extends ServiceImpl toProductImageResults = toProductImageResultMapper.selectList(qw); for (ToProductImageResult toProductImageResult : toProductImageResults) { - toProductImageResult.setUrl(minioUtil.getPresignedUrl(toProductImageResult.getUrl(), 24 * 60)); + toProductImageResult.setUrl(minioUtil.getPreSignedUrl(toProductImageResult.getUrl(), 24 * 60)); } return toProductImageResults; } @@ -505,7 +501,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); qw.lambda().eq(ToProductImageResult::getTaskId, taskId); ToProductImageResult toProductImageResult = toProductImageResultMapper.selectOne(qw); @@ -514,10 +510,10 @@ public class UserLikeGroupServiceImpl extends ServiceImpl