From b8e3169977648d75a47aae91d124a12788c17d0e Mon Sep 17 00:00:00 2001
From: tangwenkang <2720983602@qq.com>
Date: Mon, 6 Nov 2023 20:59:46 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E9=87=8D?=
=?UTF-8?q?=E5=A4=8D=E4=B8=8A=E4=BC=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
health-video-server/pom.xml | 5 ++++-
.../video/server/service/impl/VideoServiceImpl.java | 8 ++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/health-video-server/pom.xml b/health-video-server/pom.xml
index a28e433..310e5e6 100644
--- a/health-video-server/pom.xml
+++ b/health-video-server/pom.xml
@@ -151,7 +151,10 @@
3.16.0
-
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
diff --git a/health-video-server/src/main/java/com/health/video/server/service/impl/VideoServiceImpl.java b/health-video-server/src/main/java/com/health/video/server/service/impl/VideoServiceImpl.java
index f0d2f40..8cc74b7 100644
--- a/health-video-server/src/main/java/com/health/video/server/service/impl/VideoServiceImpl.java
+++ b/health-video-server/src/main/java/com/health/video/server/service/impl/VideoServiceImpl.java
@@ -30,6 +30,7 @@ import org.springframework.amqp.core.MessageDeliveryMode;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import com.health.video.server.utils.DogeUtil;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -58,6 +59,8 @@ public class VideoServiceImpl implements VideoService {
private RedissonClient redissonClient;
@Autowired
private RemoteWalletService remoteWalletService;
+ @Autowired
+ private RedisTemplate redisTemplate;
/**
* 查询视频类型列表
@@ -253,6 +256,11 @@ public class VideoServiceImpl implements VideoService {
File localFile = new File(filePath);
// 计算文件的 SHA-256 哈希值(比MD5加密更安全)
String fileMD5 = calculateFileSHA256(localFile);
+ // 把文件存入redis记录30秒 30秒内不能重复上传视频
+ redisTemplate.opsForValue().set(fileMD5, String.valueOf(localFile),30,TimeUnit.SECONDS);
+ if(redisTemplate.hasKey(fileMD5)){
+ throw new RuntimeException("请不要重复上传视频!");
+ }
System.out.println("SHA-256加密内容为:"+fileMD5);
// 检查目录是否存在,如果不存在则创建
File localDirectory = localFile.getParentFile();