diff --git a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssAliController.java b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssAliController.java index ece1ac2..852a888 100644 --- a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssAliController.java +++ b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssAliController.java @@ -2,21 +2,21 @@ package com.schisandra.oss.application.controller; import cn.hutool.extra.spring.SpringUtil; import com.alibaba.fastjson.JSON; -import com.amazonaws.util.IOUtils; + import com.google.common.base.Preconditions; import com.schisandra.oss.application.convert.SchisandraOssAliDTOConverter; import com.schisandra.oss.application.dto.SchisandraOssAliDTO; import com.schisandra.oss.application.oss.core.ali.AliOssClient; import com.schisandra.oss.application.oss.core.ali.AliOssConfiguration; -import com.schisandra.oss.application.oss.core.minio.MinioOssClient; + import com.schisandra.oss.application.oss.model.OssInfo; import com.schisandra.oss.common.entity.Result; import com.schisandra.oss.domain.bo.SchisandraOssAliBO; +import com.schisandra.oss.domain.redis.RedisUtil; import com.schisandra.oss.domain.service.SchisandraOssAliDomainService; -import io.minio.errors.*; + import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -26,8 +26,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; +import java.text.SimpleDateFormat; +import java.util.Date; + /** * controller @@ -44,8 +45,10 @@ public class SchisandraOssAliController { private SchisandraOssAliDomainService schisandraOssAliDomainService; @Resource private AliOssConfiguration aliOssConfiguration; - @Autowired - private AliOssClient aliOssClient; + + private final String USER_OSS_PREFIX = "oss:user:heat"; + @Resource + RedisUtil redisUtil; @GetMapping("init") public void init(@RequestParam String userId){ @@ -144,20 +147,10 @@ public class SchisandraOssAliController { /** * 查找bucket * @param userId - * @return - * @throws ServerException - * @throws InsufficientDataException - * @throws ErrorResponseException - * @throws IOException - * @throws NoSuchAlgorithmException - * @throws InvalidKeyException - * @throws InvalidResponseException - * @throws XmlParserException - * @throws InternalException */ @PostMapping("seleteBucket") - public Result seleteBucket(@RequestParam String userId) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException { + public Result seleteBucket(@RequestParam String userId) { Preconditions.checkNotNull(userId, "不能为空"); AliOssClient bean = SpringUtil.getBean(userId); return Result.ok(bean.selectAllBucket()); @@ -206,6 +199,19 @@ public class SchisandraOssAliController { Preconditions.checkNotNull(userId, "不能为空"); Preconditions.checkNotNull(fileName, "不能为空"); Preconditions.checkNotNull(bucket, "不能为空"); + + //设置热力图 + Date date =new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String formattedDate = dateFormat.format(date); + String key = redisUtil.buildKey(USER_OSS_PREFIX+":"+userId,formattedDate); + int count=1; + if (redisUtil.exist(key)){ + count= Integer.parseInt(redisUtil.get(key)); + redisUtil.set(key, String.valueOf(count+1)); + }else { + redisUtil.set(key, String.valueOf(1)); + } // 获取文件输入流 InputStream is = file.getInputStream(); AliOssClient bean = SpringUtil.getBean(userId); diff --git a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java index edbe938..c9c3d03 100644 --- a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java +++ b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java @@ -151,7 +151,7 @@ public class SchisandraOssMinioController { Date date =new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String formattedDate = dateFormat.format(date); - String key = redisUtil.buildKey(USER_OSS_PREFIX+":"+userId,"2024-07-12"); + String key = redisUtil.buildKey(USER_OSS_PREFIX+":"+userId,formattedDate); int count=1; if (redisUtil.exist(key)){ count= Integer.parseInt(redisUtil.get(key)); @@ -159,13 +159,12 @@ public class SchisandraOssMinioController { }else { redisUtil.set(key, String.valueOf(1)); } - return Result.ok(); -// -// // 获取文件输入流 -// InputStream is = file.getInputStream(); -// MinioOssClient bean = SpringUtil.getBean(userId); -// bean.getMinioOssConfig().setBucketName(bucket); -// return Result.ok(bean.upLoad(is, fileName, true)); + + // 获取文件输入流 + InputStream is = file.getInputStream(); + MinioOssClient bean = SpringUtil.getBean(userId); + bean.getMinioOssConfig().setBucketName(bucket); + return Result.ok(bean.upLoad(is, fileName, true)); } diff --git a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssQiniuController.java b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssQiniuController.java index 4462b85..e6eea53 100644 --- a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssQiniuController.java +++ b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssQiniuController.java @@ -10,6 +10,7 @@ import com.schisandra.oss.application.oss.core.qiniu.QiNiuOssConfiguration; import com.schisandra.oss.application.oss.model.OssInfo; import com.schisandra.oss.common.entity.Result; import com.schisandra.oss.domain.bo.SchisandraOssQiniuBO; +import com.schisandra.oss.domain.redis.RedisUtil; import com.schisandra.oss.domain.service.SchisandraOssQiniuDomainService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -20,6 +21,8 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; +import java.text.SimpleDateFormat; +import java.util.Date; /** * 七牛云对象存储配置表 controller @@ -37,6 +40,9 @@ public class SchisandraOssQiniuController { @Resource private QiNiuOssConfiguration qiNiuOssConfiguration; + private final String USER_OSS_PREFIX = "oss:user:heat"; + @Resource + RedisUtil redisUtil; /** * @description: 获取文件目录信息 * @param: [target, userId, dirName] @@ -149,6 +155,20 @@ public class SchisandraOssQiniuController { Preconditions.checkNotNull(userId, "不能为空"); Preconditions.checkNotNull(fileName, "不能为空"); Preconditions.checkNotNull(bucket, "不能为空"); + + //设置热力图 + Date date =new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String formattedDate = dateFormat.format(date); + String key = redisUtil.buildKey(USER_OSS_PREFIX+":"+userId,formattedDate); + int count=1; + if (redisUtil.exist(key)){ + count= Integer.parseInt(redisUtil.get(key)); + redisUtil.set(key, String.valueOf(count+1)); + }else { + redisUtil.set(key, String.valueOf(1)); + } + // 获取文件输入流 InputStream is = file.getInputStream(); QiNiuOssClient bean = SpringUtil.getBean(userId);