feat: ali、qiniu上传文件热力图配置
This commit is contained in:
@@ -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<String> seleteBucket(@RequestParam String userId) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
||||
public Result<String> 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);
|
||||
|
@@ -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));
|
||||
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user