From 15e8b9f998c99dc19a07fffac91a7982e724aeff Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 17 二月 2025 10:23:00 +0800
Subject: [PATCH] 独立删除逻辑

---
 ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 44 insertions(+), 14 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java
index 43eb3e5..5170845 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java
@@ -10,6 +10,8 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import com.github.therapi.runtimejavadoc.repack.com.eclipsesource.json.Json;
+import org.apache.commons.io.IOUtils;
+import org.apache.xmlbeans.impl.common.IOUtil;
 import org.dromara.common.core.constant.CacheNames;
 import org.dromara.common.core.domain.R;
 import org.dromara.common.core.domain.model.LoginUser;
@@ -43,11 +45,10 @@
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
+import java.io.*;
 import java.net.URLEncoder;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -177,7 +178,7 @@
     }
 
     /**
-     * 鍚屾
+     * 鍚屾 瀹氭椂鎷夊彇
      * @param
      * @param
      * @return
@@ -187,9 +188,11 @@
         String originalfileName = request.getFileName();
         String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
         OssClient storage = OssFactory.instance();
+//        String type = request.getFileName().substring(14,request.getFileName().length());
+        String type = request.getFile().getContentType();
         UploadResult uploadResult;
         try {
-            uploadResult = storage.uploadSuffix2(request.getFile().getBytes(), request.getPath(), request.getFile().getContentType());
+            uploadResult = storage.uploadSuffix2(request.getFile().getBytes(), request.getPath(), type);
         } catch (IOException e) {
             throw new ServiceException(e.getMessage());
         }
@@ -199,6 +202,30 @@
         return buildResultEntity2(originalfileName, suffix, storage.getConfigKey(), uploadResult,request.getOssId(),
             request.getPassword(), "1731588854831022081", request.getFileName(), request.getCreateTime());
     }
+
+//    /**
+//     * 鍚屾 瀹氭椂鎷夊彇
+//     * @param
+//     * @param
+//     * @return
+//     */
+//    @Override
+//    public SysOssVo upload3(SynchronousRequest request) throws ParseException {
+//        String originalfileName = request.getFileName();
+//        String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
+//        OssClient storage = OssFactory.instance();
+//        UploadResult uploadResult;
+//        try {
+//            uploadResult = storage.uploadSuffix2(request.getFile().getBytes(), request.getPath(), request.getFile().getContentType());
+//        } catch (IOException e) {
+//            throw new ServiceException(e.getMessage());
+//        }
+//        // 淇濆瓨鏂囦欢淇℃伅
+//        System.out.println("canshu:" + "," + originalfileName +"," + suffix +"," + storage.getConfigKey() +"," + uploadResult + "," +request.getOssId()
+//            +"," + request.getPassword() +"," + request.getCreateBy() +"," + request.getFileName() +"," +  request.getCreateTime());
+//        return buildResultEntity2(originalfileName, suffix, storage.getConfigKey(), uploadResult,request.getOssId(),
+//            request.getPassword(), "1731588854831022081", request.getFileName(), request.getCreateTime());
+//    }
 
 //    @Override
 //    public SysOssVo upload(File file) {
@@ -230,7 +257,7 @@
         request.setPassword(oss.getPassword());
         request.setCreateBy("1731588854831022081");
         request.setOssId(String.valueOf(oss.getOssId()));
-//        request.setOssId();
+//        request.setOssId("123890");
         post(request);
 
         SysOssVo sysOssVo = MapstructUtils.convert(oss, SysOssVo.class);
@@ -290,6 +317,17 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteByIds(Collection<Long> ids) {
+        List<SysOss> list = baseMapper.selectBatchIds(ids);
+        for (SysOss sysOss : list) {
+            OssClient storage = OssFactory.instance(sysOss.getService());
+            storage.delete(sysOss.getUrl());
+            baseMapper.deleteById(sysOss.getOssId());
+        }
+    }
+
+    @Override
     public R viewPasswordById(Long ossId) {
         LoginUser loginUser = LoginHelper.getLoginUser();
         SysOss oss = baseMapper.selectById(ossId);
@@ -322,14 +360,6 @@
         String requestUrl = boundary.getVideo() +  "/resource/synchronization/upload";
         ObjectMapper objectMapper = new ObjectMapper();
         objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
-        String jsonString = "";
-        try {
-            // 灏咼ava瀵硅薄杞崲涓篔SON瀛楃涓�
-            jsonString = objectMapper.writeValueAsString(request);
-//            System.out.println(jsonString);
-        } catch (Exception e) {
-//            e.printStackTrace();
-        }
         headers.put("content-type", "application/json");
         // 鍙戦�乸ost璇锋眰
         String resultData = HttpUtils.sendPostRequest(requestUrl, request);

--
Gitblit v1.8.0