From b2001a7042d511cea1c1b2000edca57253d992ad Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期六, 20 十二月 2025 16:21:51 +0800
Subject: [PATCH] 时间控制修改

---
 ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 40 insertions(+), 18 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
index 460c745..50f24f6 100644
--- a/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/oss/impl/OssServiceImpl.java
@@ -3,6 +3,7 @@
 import com.aliyun.oss.OSS;
 import com.aliyun.oss.OSSClientBuilder;
 import com.aliyun.oss.model.ObjectMetadata;
+import com.aliyun.oss.model.VoidResult;
 import com.ycl.service.oss.OssService;
 import com.ycl.utils.ConstantPropertiesUtils;
 import com.ycl.utils.common.RandomUtils;
@@ -17,6 +18,8 @@
 import java.awt.*;
 import java.awt.image.BufferedImage;
 import java.io.*;
+import java.net.URL;
+import java.net.URLDecoder;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -43,12 +46,14 @@
         // 涓婁紶鏂囦欢娴�
         try {
             // 鑾峰彇鏂囦欢鐨勫悕绉�
-            String strDate2 = dtf2.format(LocalDateTime.now());
+
             byte[] newImg = file.getBytes();
             String originalFilename = file.getOriginalFilename();
             String fileType = originalFilename.substring(originalFilename.lastIndexOf("."));
 
-            String fileName = "sczf/" + strDate2 + RandomUtils.generateRandomInt(4) + "." + fileType;
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+            String fileName = "sczf/" + LocalDateTime.now().format(formatter) + RandomUtils.generateRandomInt(8) + fileType;
+
             if (".png".equalsIgnoreCase(fileType) || ".jpg".equalsIgnoreCase(fileType) || ".jpeg".equalsIgnoreCase(fileType)) {
                 if (file.getSize() > 2097152) {
                     newImg = compressUnderSize(file.getBytes(), 2097152);
@@ -65,9 +70,9 @@
             // 鎶婁笂浼犵殑鏂囦欢璺緞杩斿洖 锛堟墜鍔ㄦ嫾鎺ワ級
             // 杩欓噷璁剧疆鍥剧墖鏈夋晥鏃堕棿 鎴戣缃簡30骞�
             Date expiration = new Date(System.currentTimeMillis() + (long) 946080000 * 1000);
-            String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString();
 
-            System.out.println("涓婁紶缁撴潫--" + url + "------" + dtf2.format(LocalDateTime.now()));
+            String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString();
+            System.out.println("oss uploadImages_1涓婁紶鎴愬姛锛�" + url);
             return url;
         } catch (Exception e) {
             System.out.println("uploadImages涓婁紶鍥剧墖澶辫触锛�");
@@ -149,19 +154,36 @@
 
     @Override
     public boolean deleteImages(String fileUrl) {
-        String endpoint = ConstantPropertiesUtils.END_POINT;
-        String accessKeyId = ConstantPropertiesUtils.ACCESS_KEY_ID;
-        String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET;
-        String bucketName = ConstantPropertiesUtils.BUCKET_NAME;
-        //鍒涘缓OSSClient瀹炰緥
-        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
-        String imgFile = fileUrl.replace("https://bucket-ans.oss-cn-hangzhou.aliyuncs.com/", "");
-        String fileName = imgFile.substring(0, imgFile.indexOf("?"));
+        try {
 
-        // 鏍规嵁BucketName,objectName鍒犻櫎鏂囦欢
-        ossClient.deleteObject(bucketName, fileName);
-        ossClient.shutdown();
-        return true;
+            String endpoint = ConstantPropertiesUtils.END_POINT;
+            String accessKeyId = ConstantPropertiesUtils.ACCESS_KEY_ID;
+            String accessKeySecret = ConstantPropertiesUtils.ACCESS_KEY_SECRET;
+            String bucketName = ConstantPropertiesUtils.BUCKET_NAME;
+            //鍒涘缓OSSClient瀹炰緥
+            OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
+
+            String imgFile = fileUrl.replace(ConstantPropertiesUtils.PREFIX_URL, "");
+            String fileName = imgFile;
+            if (imgFile.contains("?")) {
+                fileName = imgFile.substring(0, imgFile.indexOf("?"));
+            }
+
+            fileName = URLDecoder.decode(fileName, "UTF-8");
+
+            // 鏍规嵁BucketName,objectName鍒犻櫎鏂囦欢
+            boolean b = ossClient.doesObjectExist(bucketName, fileName);
+            if (b) {
+                VoidResult voidResult = ossClient.deleteObject(bucketName, fileName);
+//                System.out.println(voidResult.toString());
+            }
+            ossClient.shutdown();
+            return true;
+
+        } catch (Exception e) {
+            System.out.println("-------鍒犻櫎鍥剧墖澶辫触锛屽浘鐗囧湴鍧�:" + fileUrl);
+        }
+        return false;
     }
 
     @Override
@@ -182,7 +204,7 @@
                 // 鑾峰彇鏂囦欢鐨勫悕绉�
                 LocalDate date = LocalDate.now();
                 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
-                String fileName = "sczf/" + date.format(formatter) + RandomUtils.generateRandomInt(8) + ext;
+                String fileName = "sczf/" + date.format(formatter) + RandomUtils.generateRandomInt(8) + "." + ext;
 
                 ObjectMetadata objectMetadata = new ObjectMetadata();
                 objectMetadata.setContentType(getcontentType(ext));
@@ -195,7 +217,7 @@
                 Date expiration = new Date(System.currentTimeMillis() + (long) 946080000 * 1000);
 
                 String url = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString();
-//            System.out.println("oss涓婁紶鎴愬姛锛�" + url);
+                System.out.println("oss uploadImages_3涓婁紶鎴愬姛锛�" + url);
 
 //            System.out.println("涓婁紶瀹屾垚--" + dtf2.format(LocalDateTime.now()));
                 return url;

--
Gitblit v1.8.0