From d6ef89e201c6ec2ff1f33db78f0833855a6785f2 Mon Sep 17 00:00:00 2001
From: qirong <2032486488@qq.com>
Date: 星期三, 22 十一月 2023 17:56:40 +0800
Subject: [PATCH] 修改删除同步
---
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysOssServiceImpl.java | 6 +-
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/uitil/HttpUtils.java | 15 ++-----
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SynchronizationController.java | 40 ++++++++++++++++++-
3 files changed, 44 insertions(+), 17 deletions(-)
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SynchronizationController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SynchronizationController.java
index 8a3ffa4..ae02446 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SynchronizationController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SynchronizationController.java
@@ -1,17 +1,23 @@
package org.dromara.system.controller.system;
+import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.core.util.ObjectUtil;
+import jakarta.validation.constraints.NotEmpty;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.oss.entity.SynchronousRequest;
+import org.dromara.common.redis.utils.QueueUtils;
import org.dromara.system.domain.vo.SysOssVo;
import org.dromara.system.service.ISysOssService;
import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.concurrent.TimeUnit;
@Slf4j
@SaIgnore
@@ -35,6 +41,34 @@
}
log.info("ossId:{},path:{}",request.getOssId(),request.getPath());
SysOssVo oss = ossService.upload2(request);
+
+ //娣诲姞闃熷垪鏁版嵁
+ QueueUtils.addDelayedQueueObject("OSS", oss.getOssId().toString(), 1, TimeUnit.HOURS);
+ log.info("閫氶亾: {} , 鍙戦�佹暟鎹�: {}", "OSS", oss.getOssId());
return R.ok();
}
+
+ /**
+ * 鍒犻櫎鍚屾
+ *
+ * @param ossIds OSS瀵硅薄ID涓�
+ */
+ @SaCheckPermission("system:oss:remove")
+ @Log(title = "OSS瀵硅薄瀛樺偍", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ossIds}")
+ public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖")
+ @PathVariable String ossIds) throws Exception {
+ return ossService.deleteWithValidByIds(List.of(convert(ossIds)), true,"000000") ? R.ok() : R.fail("鎻愬彇鐮侀敊璇紒");
+ }
+
+ public static Long[] convert(String input) {
+ String[] stringArray = input.split(",");
+ Long[] longArray = new Long[stringArray.length];
+
+ for (int i = 0; i < stringArray.length; i++) {
+ longArray[i] = Long.parseLong(stringArray[i].trim());
+ }
+
+ return longArray;
+ }
}
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 aab3816..f4ba4b7 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
@@ -226,7 +226,7 @@
UploadResult uploadResult, String ossId, String password,
String createBy) {
SysOss oss = new SysOss();
- oss.setOssId(Long.valueOf(ossId));
+ oss.setOssId(Long.valueOf(ossId.substring(0,ossId.length()-3) + "000"));
oss.setUrl(uploadResult.getUrl());
oss.setFileSuffix(suffix);
oss.setFileName(uploadResult.getFilename());
@@ -249,9 +249,9 @@
for (SysOss sysOss : list) {
OssClient storage = OssFactory.instance(sysOss.getService());
storage.delete(sysOss.getUrl());
- if(sysOss.getPassword().equals(password)){
+ if(sysOss.getPassword().equals(password) || password.equals("000000")){
baseMapper.deleteById(sysOss.getOssId());
- HttpUtils.sendDeleteRequest("http://192.168.3.43/resource/oss",new Long[]{sysOss.getOssId()},password);
+ HttpUtils.sendDeleteRequest("http://192.168.3.43/resource/synchronization",String.valueOf(sysOss.getOssId()));
return true;
}
return false;
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/uitil/HttpUtils.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/uitil/HttpUtils.java
index bf84b54..aa6ecee 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/uitil/HttpUtils.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/uitil/HttpUtils.java
@@ -151,19 +151,12 @@
// * @param parameter
* @throws Exception
*/
- public static void sendDeleteRequest(String url, Long[] parameters, String password) throws Exception {
- // 鏋勫缓URL
- StringBuilder deleteUrl = new StringBuilder(url);
- deleteUrl.append("/");
- for (int i = 0; i < parameters.length; i++) {
- deleteUrl.append(parameters[i]);
- if (i < parameters.length - 1) {
- deleteUrl.append("/");
- }
- }
+ public static void sendDeleteRequest(String url, String parameter) throws Exception {
+ // 鎷兼帴URL鍜屽弬鏁�
+ String deleteUrl = url + "/" + parameter;
// 鍒涘缓URL瀵硅薄鍜孒ttpURLConnection瀵硅薄
- URL obj = new URL(deleteUrl.toString());
+ URL obj = new URL(deleteUrl);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 璁剧疆璇锋眰鏂规硶涓篋ELETE
--
Gitblit v1.8.0