feat: 热力图和咖啡因缓存
This commit is contained in:
@@ -31,6 +31,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -371,6 +372,23 @@ public class SchisandraAuthUserController {
|
|||||||
}
|
}
|
||||||
return Result.ok(JSONObject.parseObject(result));
|
return Result.ok(JSONObject.parseObject(result));
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @description: 获取用户信息
|
||||||
|
* @param: [userId]
|
||||||
|
* @return: com.schisandra.auth.common.entity.Result<com.schisandra.auth.application.dto.SchisandraAuthUserDTO>
|
||||||
|
* @author zlg
|
||||||
|
* @date: 2024/7/11 9:39
|
||||||
|
*/
|
||||||
|
@GetMapping("getUserInfo")
|
||||||
|
public Result<SchisandraAuthUserDTO> getUserInfo(@RequestParam("userId") Long userId) {
|
||||||
|
SchisandraAuthUserDTO schisandraAuthUserDTO = SchisandraAuthUserDTOConverter.INSTANCE.convertBOToDTO(schisandraAuthUserDomainService.queryById(userId));
|
||||||
|
if ( schisandraAuthUserDTO== null) {
|
||||||
|
return Result.fail("该用户不存在");
|
||||||
|
}else {
|
||||||
|
return Result.ok(schisandraAuthUserDTO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -5,6 +5,9 @@ import com.schisandra.auth.common.entity.Result;
|
|||||||
import com.schisandra.auth.domain.bo.SchisandraAuthUserBO;
|
import com.schisandra.auth.domain.bo.SchisandraAuthUserBO;
|
||||||
import com.schisandra.auth.infra.basic.entity.SchisandraAuthUser;
|
import com.schisandra.auth.infra.basic.entity.SchisandraAuthUser;
|
||||||
import me.zhyd.oauth.model.AuthUser;
|
import me.zhyd.oauth.model.AuthUser;
|
||||||
|
import org.springframework.cache.annotation.CacheEvict;
|
||||||
|
import org.springframework.cache.annotation.CachePut;
|
||||||
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
@@ -61,6 +64,7 @@ public interface SchisandraAuthUserDomainService {
|
|||||||
* @author schisandra
|
* @author schisandra
|
||||||
* @date 2024/3/21 23:14
|
* @date 2024/3/21 23:14
|
||||||
*/
|
*/
|
||||||
|
@CachePut(value = "userInfo", key = "#schisandraAuthUserBO.id")
|
||||||
Object update(SchisandraAuthUserBO schisandraAuthUserBO);
|
Object update(SchisandraAuthUserBO schisandraAuthUserBO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -70,6 +74,7 @@ public interface SchisandraAuthUserDomainService {
|
|||||||
* @author: landaiqing
|
* @author: landaiqing
|
||||||
* @date: 2024/5/26 17:27
|
* @date: 2024/5/26 17:27
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Result insertAuthUserByOauth(AuthUser data, String type);
|
Result insertAuthUserByOauth(AuthUser data, String type);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -79,7 +84,8 @@ public interface SchisandraAuthUserDomainService {
|
|||||||
* @author: landaiqing
|
* @author: landaiqing
|
||||||
* @date: 2024/5/26 17:27
|
* @date: 2024/5/26 17:27
|
||||||
*/
|
*/
|
||||||
SchisandraAuthUserBO queryById(SchisandraAuthUserBO schisandraAuthUserBO);
|
@Cacheable(value = "userInfo", key = "#userId")
|
||||||
|
SchisandraAuthUserBO queryById(Long userId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param schisandraAuthUserBO
|
* @param schisandraAuthUserBO
|
||||||
@@ -95,6 +101,7 @@ public interface SchisandraAuthUserDomainService {
|
|||||||
* @description 删除用户(物理)
|
* @description 删除用户(物理)
|
||||||
* @author msz
|
* @author msz
|
||||||
*/
|
*/
|
||||||
|
@CacheEvict(value = "userInfo",key = "id")
|
||||||
Object deleteById(Long id);
|
Object deleteById(Long id);
|
||||||
|
|
||||||
SchisandraAuthUser queryByPhone(String phone);
|
SchisandraAuthUser queryByPhone(String phone);
|
||||||
|
@@ -167,15 +167,15 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param schisandraAuthUserBO
|
* @param Long
|
||||||
* @return
|
* @return
|
||||||
* @description 查询用户信息
|
* @description 查询用户信息
|
||||||
* @author msz
|
* @author msz
|
||||||
* @date 2024/4/3 22:10
|
* @date 2024/4/3 22:10
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public SchisandraAuthUserBO queryById(SchisandraAuthUserBO schisandraAuthUserBO) {
|
public SchisandraAuthUserBO queryById(Long userId) {
|
||||||
SchisandraAuthUser schisandraAuthUser = schisandraAuthUserService.queryById(schisandraAuthUserBO.getId());
|
SchisandraAuthUser schisandraAuthUser = schisandraAuthUserService.queryById(userId);
|
||||||
SchisandraAuthUserBO schisandraAuthUserBO1 = SchisandraAuthUserBOConverter.INSTANCE.convertEntityToBO(schisandraAuthUser);
|
SchisandraAuthUserBO schisandraAuthUserBO1 = SchisandraAuthUserBOConverter.INSTANCE.convertEntityToBO(schisandraAuthUser);
|
||||||
return schisandraAuthUserBO1;
|
return schisandraAuthUserBO1;
|
||||||
}
|
}
|
||||||
|
@@ -3,6 +3,7 @@ package com.schisandra.auth;
|
|||||||
import org.mybatis.spring.annotation.MapperScan;
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.cache.annotation.EnableCaching;
|
||||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||||
import org.springframework.context.annotation.ComponentScan;
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
@@ -18,6 +19,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|||||||
@MapperScan("com.schisandra.**.dao")
|
@MapperScan("com.schisandra.**.dao")
|
||||||
@EnableFeignClients(basePackages = "com.schisandra")
|
@EnableFeignClients(basePackages = "com.schisandra")
|
||||||
@EnableTransactionManagement
|
@EnableTransactionManagement
|
||||||
|
@EnableCaching
|
||||||
public class AuthApplication {
|
public class AuthApplication {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(AuthApplication.class);
|
SpringApplication.run(AuthApplication.class);
|
||||||
|
@@ -27,6 +27,11 @@ spring:
|
|||||||
enabled: true
|
enabled: true
|
||||||
config:
|
config:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
#caffeine缓存
|
||||||
|
cache:
|
||||||
|
type: caffeine
|
||||||
|
caffeine:
|
||||||
|
spec: maximumSize=10000,expireAfterAccess=60s
|
||||||
# redis配置
|
# redis配置
|
||||||
redis:
|
redis:
|
||||||
# Redis数据库索引(默认为0)
|
# Redis数据库索引(默认为0)
|
||||||
@@ -108,3 +113,4 @@ rocketmq:
|
|||||||
producer:
|
producer:
|
||||||
group: schisandra-cloud-storage-auth-group
|
group: schisandra-cloud-storage-auth-group
|
||||||
send-message-timeout: 6000
|
send-message-timeout: 6000
|
||||||
|
|
||||||
|
@@ -5,6 +5,7 @@ import cn.hutool.extra.spring.SpringUtil;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.amazonaws.util.IOUtils;
|
import com.amazonaws.util.IOUtils;
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
|
import com.google.gson.Gson;
|
||||||
import com.schisandra.oss.application.convert.SchisandraOssMinioDTOConverter;
|
import com.schisandra.oss.application.convert.SchisandraOssMinioDTOConverter;
|
||||||
import com.schisandra.oss.application.dto.SchisandraOssMinioDTO;
|
import com.schisandra.oss.application.dto.SchisandraOssMinioDTO;
|
||||||
import com.schisandra.oss.application.oss.core.minio.MinioOssClient;
|
import com.schisandra.oss.application.oss.core.minio.MinioOssClient;
|
||||||
@@ -15,6 +16,7 @@ import com.schisandra.oss.domain.bo.SchisandraOssMinioBO;
|
|||||||
import com.schisandra.oss.domain.redis.RedisUtil;
|
import com.schisandra.oss.domain.redis.RedisUtil;
|
||||||
import com.schisandra.oss.domain.service.SchisandraOssMinioDomainService;
|
import com.schisandra.oss.domain.service.SchisandraOssMinioDomainService;
|
||||||
import io.minio.errors.*;
|
import io.minio.errors.*;
|
||||||
|
import lombok.Data;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
@@ -27,8 +29,8 @@ import java.io.InputStream;
|
|||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.security.InvalidKeyException;
|
import java.security.InvalidKeyException;
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
import java.util.HashMap;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -48,7 +50,7 @@ public class SchisandraOssMinioController {
|
|||||||
private SchisandraOssMinioDomainService schisandraOssMinioDomainService;
|
private SchisandraOssMinioDomainService schisandraOssMinioDomainService;
|
||||||
@Resource
|
@Resource
|
||||||
MinioOssConfiguration minioOssConfiguration;
|
MinioOssConfiguration minioOssConfiguration;
|
||||||
|
private final String USER_OSS_PREFIX = "oss:user:heat";
|
||||||
@Resource
|
@Resource
|
||||||
RedisUtil redisUtil;
|
RedisUtil redisUtil;
|
||||||
|
|
||||||
@@ -141,15 +143,30 @@ public class SchisandraOssMinioController {
|
|||||||
* @date: 2024/6/26 14:34
|
* @date: 2024/6/26 14:34
|
||||||
*/
|
*/
|
||||||
@PostMapping("uploadMinioFile")
|
@PostMapping("uploadMinioFile")
|
||||||
public Result<OssInfo> uploadMinioFile(@RequestParam String userId, @RequestParam MultipartFile file, @RequestParam String fileName, @RequestParam String bucket) throws IOException {
|
public Result<Object> uploadMinioFile(@RequestParam String userId, @RequestParam MultipartFile file, @RequestParam String fileName, @RequestParam String bucket) throws IOException {
|
||||||
Preconditions.checkNotNull(userId, "不能为空");
|
Preconditions.checkNotNull(userId, "不能为空");
|
||||||
Preconditions.checkNotNull(fileName, "不能为空");
|
Preconditions.checkNotNull(fileName, "不能为空");
|
||||||
Preconditions.checkNotNull(bucket, "不能为空");
|
Preconditions.checkNotNull(bucket, "不能为空");
|
||||||
// 获取文件输入流
|
//设置热力图
|
||||||
InputStream is = file.getInputStream();
|
Date date =new Date();
|
||||||
MinioOssClient bean = SpringUtil.getBean(userId);
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
bean.getMinioOssConfig().setBucketName(bucket);
|
String formattedDate = dateFormat.format(date);
|
||||||
return Result.ok(bean.upLoad(is, fileName, true));
|
String key = redisUtil.buildKey(USER_OSS_PREFIX+":"+userId,"2024-07-12");
|
||||||
|
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));
|
||||||
|
}
|
||||||
|
return Result.ok();
|
||||||
|
//
|
||||||
|
// // 获取文件输入流
|
||||||
|
// InputStream is = file.getInputStream();
|
||||||
|
// MinioOssClient bean = SpringUtil.getBean(userId);
|
||||||
|
// bean.getMinioOssConfig().setBucketName(bucket);
|
||||||
|
// return Result.ok(bean.upLoad(is, fileName, true));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -15,6 +15,7 @@ import com.schisandra.oss.application.oss.core.tencent.TencentOssClient;
|
|||||||
import com.schisandra.oss.application.oss.core.tencent.TencentOssConfiguration;
|
import com.schisandra.oss.application.oss.core.tencent.TencentOssConfiguration;
|
||||||
import com.schisandra.oss.common.entity.Result;
|
import com.schisandra.oss.common.entity.Result;
|
||||||
import com.schisandra.oss.domain.bo.SchisandraOssTencentBO;
|
import com.schisandra.oss.domain.bo.SchisandraOssTencentBO;
|
||||||
|
import com.schisandra.oss.domain.redis.RedisUtil;
|
||||||
import com.schisandra.oss.domain.service.SchisandraOssTencentDomainService;
|
import com.schisandra.oss.domain.service.SchisandraOssTencentDomainService;
|
||||||
import io.minio.errors.*;
|
import io.minio.errors.*;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -26,6 +27,8 @@ import java.io.IOException;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.security.InvalidKeyException;
|
import java.security.InvalidKeyException;
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -43,7 +46,9 @@ public class SchisandraOssTencentController {
|
|||||||
private SchisandraOssTencentDomainService schisandraOssTencentDomainService;
|
private SchisandraOssTencentDomainService schisandraOssTencentDomainService;
|
||||||
@Resource
|
@Resource
|
||||||
TencentOssConfiguration tencentOssConfiguration;
|
TencentOssConfiguration tencentOssConfiguration;
|
||||||
|
private final String USER_OSS_PREFIX = "oss:user:heat";
|
||||||
|
@Resource
|
||||||
|
RedisUtil redisUtil;
|
||||||
@PostMapping("init")
|
@PostMapping("init")
|
||||||
public void initTencent(@RequestParam String userId) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
public void initTencent(@RequestParam String userId) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
||||||
|
|
||||||
@@ -154,6 +159,18 @@ public class SchisandraOssTencentController {
|
|||||||
TencentOssClient bean = SpringUtil.getBean(userId);
|
TencentOssClient bean = SpringUtil.getBean(userId);
|
||||||
InputStream is = file.getInputStream();
|
InputStream is = file.getInputStream();
|
||||||
bean.getTencentOssConfig().setBucketName(bucket);
|
bean.getTencentOssConfig().setBucketName(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));
|
||||||
|
}
|
||||||
return Result.ok(bean.upLoadParts(is,target,file.getOriginalFilename()));
|
return Result.ok(bean.upLoadParts(is,target,file.getOriginalFilename()));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@@ -0,0 +1,156 @@
|
|||||||
|
package com.schisandra.oss.application.controller;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.google.common.base.Preconditions;
|
||||||
|
import com.schisandra.oss.application.convert.SchisandraUserOssDTOConverter;
|
||||||
|
import com.schisandra.oss.application.dto.SchisandraUserOssDTO;
|
||||||
|
import com.schisandra.oss.common.entity.Result;
|
||||||
|
import com.schisandra.oss.domain.bo.SchisandraUserOssBO;
|
||||||
|
import com.schisandra.oss.domain.redis.RedisUtil;
|
||||||
|
import com.schisandra.oss.domain.service.SchisandraUserOssDomainService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户对象存储映射表 controller
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-10 16:14:33
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/oss/user/")
|
||||||
|
@Slf4j
|
||||||
|
public class SchisandraUserOssController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SchisandraUserOssDomainService schisandraUserOssDomainService;
|
||||||
|
private final String USER_OSS_PREFIX = "oss:user:heat";
|
||||||
|
@Resource
|
||||||
|
RedisUtil redisUtil;
|
||||||
|
/**
|
||||||
|
* 新增用户对象存储映射表
|
||||||
|
*/
|
||||||
|
@RequestMapping("add")
|
||||||
|
public Result<Boolean> add(@RequestBody SchisandraUserOssDTO schisandraUserOssDTO) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (log.isInfoEnabled()) {
|
||||||
|
log.info("SchisandraUserOssController.add.dto:{}", JSON.toJSONString(schisandraUserOssDTO));
|
||||||
|
}
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getId(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getUserId(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getOssType(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getIcon(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getName(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getBucketCount(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getCreatedBy(), "创建人不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getCreatedTime(), "创建时间不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getUpdateBy(), "更新人不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getUpdateTime(), "更新时间不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getIsDeleted(), "不能为空");
|
||||||
|
SchisandraUserOssBO SchisandraUserOssBO = SchisandraUserOssDTOConverter.INSTANCE.convertDTOToBO(schisandraUserOssDTO);
|
||||||
|
return Result.ok(schisandraUserOssDomainService.add(SchisandraUserOssBO));
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("SchisandraUserOssController.register.error:{}", e.getMessage(), e);
|
||||||
|
return Result.fail("新增用户对象存储映射表失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改用户对象存储映射表
|
||||||
|
*/
|
||||||
|
@RequestMapping("update")
|
||||||
|
public Result<Boolean> update(@RequestBody SchisandraUserOssDTO schisandraUserOssDTO) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (log.isInfoEnabled()) {
|
||||||
|
log.info("SchisandraUserOssController.update.dto:{}", JSON.toJSONString(schisandraUserOssDTO));
|
||||||
|
}
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getId(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getUserId(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getOssType(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getIcon(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getName(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getBucketCount(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getCreatedBy(), "创建人不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getCreatedTime(), "创建时间不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getUpdateBy(), "更新人不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getUpdateTime(), "更新时间不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getIsDeleted(), "不能为空");
|
||||||
|
SchisandraUserOssBO schisandraUserOssBO = SchisandraUserOssDTOConverter.INSTANCE.convertDTOToBO(schisandraUserOssDTO);
|
||||||
|
return Result.ok(schisandraUserOssDomainService.update(schisandraUserOssBO));
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("SchisandraUserOssController.update.error:{}", e.getMessage(), e);
|
||||||
|
return Result.fail("更新用户对象存储映射表信息失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除用户对象存储映射表
|
||||||
|
*/
|
||||||
|
@RequestMapping("delete")
|
||||||
|
public Result<Boolean> delete(@RequestBody SchisandraUserOssDTO schisandraUserOssDTO) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (log.isInfoEnabled()) {
|
||||||
|
log.info("SchisandraUserOssController.delete.dto:{}", JSON.toJSONString(schisandraUserOssDTO));
|
||||||
|
}
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getId(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getUserId(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getOssType(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getIcon(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getName(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getBucketCount(), "不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getCreatedBy(), "创建人不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getCreatedTime(), "创建时间不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getUpdateBy(), "更新人不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getUpdateTime(), "更新时间不能为空");
|
||||||
|
Preconditions.checkNotNull(schisandraUserOssDTO.getIsDeleted(), "不能为空");
|
||||||
|
SchisandraUserOssBO schisandraUserOssBO = SchisandraUserOssDTOConverter.INSTANCE.convertDTOToBO(schisandraUserOssDTO);
|
||||||
|
return Result.ok(schisandraUserOssDomainService.delete(schisandraUserOssBO));
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("SchisandraUserOssController.delete.error:{}", e.getMessage(), e);
|
||||||
|
return Result.fail("删除用户对象存储映射表信息失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @description: 查询用户对象存储映射表
|
||||||
|
* @param: [userId]
|
||||||
|
* @return: com.schisandra.oss.common.entity.Result<java.lang.Object>
|
||||||
|
* @author zlg
|
||||||
|
* @date: 2024/7/11 14:41
|
||||||
|
*/
|
||||||
|
@GetMapping("selectUserOSSType")
|
||||||
|
public Result<Object> selectUserOSSType(Long userId){
|
||||||
|
Preconditions.checkNotNull(userId, "不能为空");
|
||||||
|
List<SchisandraUserOssDTO> SchisandraUserOssDTOList=SchisandraUserOssDTOConverter.INSTANCE.convertBOListToDTOList(schisandraUserOssDomainService.queryOSSByUserId(userId));
|
||||||
|
if (SchisandraUserOssDTOList.isEmpty()) {
|
||||||
|
return Result.fail("没有查询到用户对象存储映射表信息");
|
||||||
|
}else {
|
||||||
|
return Result.ok(SchisandraUserOssDTOList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @description: 查询用户文件热度
|
||||||
|
* @param: [userId]
|
||||||
|
* @return: com.schisandra.oss.common.entity.Result<java.lang.Object>
|
||||||
|
* @author zlg
|
||||||
|
* @date: 2024/7/11 14:41
|
||||||
|
*/
|
||||||
|
@GetMapping("selectUserFileHeat")
|
||||||
|
public Result<Object> selectUserFileHeat(@RequestParam Long userId){
|
||||||
|
Preconditions.checkNotNull(userId, "不能为空");
|
||||||
|
String key = redisUtil.buildKey(USER_OSS_PREFIX+":"+userId);
|
||||||
|
return Result.ok(redisUtil.getDataFromDirectory(key));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,22 @@
|
|||||||
|
package com.schisandra.oss.application.convert;
|
||||||
|
|
||||||
|
import com.schisandra.oss.application.dto.SchisandraFileHeatmapDTO;
|
||||||
|
import com.schisandra.oss.domain.bo.SchisandraFileHeatmapBO;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件上传热力图表 dto转换器
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-11 10:43:27
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface SchisandraFileHeatmapDTOConverter {
|
||||||
|
|
||||||
|
SchisandraFileHeatmapDTOConverter INSTANCE = Mappers.getMapper(SchisandraFileHeatmapDTOConverter.class);
|
||||||
|
|
||||||
|
SchisandraFileHeatmapBO convertDTOToBO(SchisandraFileHeatmapDTO schisandraFileHeatmapDTO);
|
||||||
|
SchisandraFileHeatmapDTO convertBOToDTO(SchisandraFileHeatmapBO schisandraFileHeatmapBO);
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,26 @@
|
|||||||
|
package com.schisandra.oss.application.convert;
|
||||||
|
|
||||||
|
import com.schisandra.oss.application.dto.SchisandraUserOssDTO;
|
||||||
|
import com.schisandra.oss.domain.bo.SchisandraUserOssBO;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户对象存储映射表 dto转换器
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-10 16:14:33
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface SchisandraUserOssDTOConverter {
|
||||||
|
|
||||||
|
SchisandraUserOssDTOConverter INSTANCE = Mappers.getMapper(SchisandraUserOssDTOConverter.class);
|
||||||
|
|
||||||
|
SchisandraUserOssBO convertDTOToBO(SchisandraUserOssDTO schisandraUserOssDTO);
|
||||||
|
SchisandraUserOssDTO convertBOToDTO(SchisandraUserOssBO schisandraUserOssBO);
|
||||||
|
|
||||||
|
List<SchisandraUserOssDTO> convertBOListToDTOList(List<SchisandraUserOssBO> schisandraUserOssBOList);
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,38 @@
|
|||||||
|
package com.schisandra.oss.application.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件上传热力图表 dto
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-11 10:43:27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SchisandraFileHeatmapDTO implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Date date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long count;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@@ -0,0 +1,73 @@
|
|||||||
|
package com.schisandra.oss.application.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户对象存储映射表 dto
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-10 16:14:33
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SchisandraUserOssDTO implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private String ossType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private String icon;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Integer bucketCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建人
|
||||||
|
*/
|
||||||
|
private String createdBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private Date createdTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新人
|
||||||
|
*/
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Integer isDeleted;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@@ -0,0 +1,37 @@
|
|||||||
|
package com.schisandra.oss.domain.bo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
/**
|
||||||
|
* 文件上传热力图表 bo
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-11 10:43:27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SchisandraFileHeatmapBO implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Date date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long count;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@@ -0,0 +1,72 @@
|
|||||||
|
package com.schisandra.oss.domain.bo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
/**
|
||||||
|
* 用户对象存储映射表 bo
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-10 16:14:33
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SchisandraUserOssBO implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private String ossType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private String icon;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Integer bucketCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建人
|
||||||
|
*/
|
||||||
|
private String createdBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
private Date createdTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新人
|
||||||
|
*/
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private Integer isDeleted;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@@ -0,0 +1,22 @@
|
|||||||
|
package com.schisandra.oss.domain.convert;
|
||||||
|
|
||||||
|
import com.schisandra.oss.domain.bo.SchisandraFileHeatmapBO;
|
||||||
|
import com.schisandra.oss.infra.basic.entity.SchisandraFileHeatmap;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件上传热力图表 bo转换器
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-11 10:43:27
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface SchisandraFileHeatmapBOConverter {
|
||||||
|
|
||||||
|
SchisandraFileHeatmapBOConverter INSTANCE = Mappers.getMapper(SchisandraFileHeatmapBOConverter.class);
|
||||||
|
|
||||||
|
SchisandraFileHeatmap convertBOToEntity(SchisandraFileHeatmapBO schisandraFileHeatmapBO);
|
||||||
|
SchisandraFileHeatmapBO convertEntityToBO(SchisandraFileHeatmap schisandraFileHeatmap);
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,26 @@
|
|||||||
|
package com.schisandra.oss.domain.convert;
|
||||||
|
|
||||||
|
import com.schisandra.oss.domain.bo.SchisandraUserOssBO;
|
||||||
|
import com.schisandra.oss.infra.basic.entity.SchisandraUserOss;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户对象存储映射表 bo转换器
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-10 16:14:33
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface SchisandraUserOssBOConverter {
|
||||||
|
|
||||||
|
SchisandraUserOssBOConverter INSTANCE = Mappers.getMapper(SchisandraUserOssBOConverter.class);
|
||||||
|
|
||||||
|
SchisandraUserOss convertBOToEntity(SchisandraUserOssBO schisandraUserOssBO);
|
||||||
|
SchisandraUserOssBO convertEntityToBO(SchisandraUserOss schisandraUserOss);
|
||||||
|
|
||||||
|
List<SchisandraUserOssBO> convertEntityListToBOList(List<SchisandraUserOss> schisandraUserOssList);
|
||||||
|
|
||||||
|
}
|
@@ -1,11 +1,14 @@
|
|||||||
package com.schisandra.oss.domain.redis;
|
package com.schisandra.oss.domain.redis;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -26,6 +29,22 @@ public class RedisUtil {
|
|||||||
|
|
||||||
private static final String CACHE_KEY_SEPARATOR = ":";
|
private static final String CACHE_KEY_SEPARATOR = ":";
|
||||||
|
|
||||||
|
|
||||||
|
public List<Object> getDataFromDirectory(String directory) {
|
||||||
|
Set<String>keys=redisTemplate.keys(directory+":*");
|
||||||
|
List<Object> keysList=new ArrayList<>();
|
||||||
|
keys.forEach(key->{
|
||||||
|
HashMap<String,String> map=new HashMap<>();
|
||||||
|
String value= (String) redisTemplate.opsForValue().get(key);
|
||||||
|
String keyName=key.substring(key.lastIndexOf(":")+1);
|
||||||
|
map.put(keyName,value);
|
||||||
|
keysList.add(map);
|
||||||
|
});
|
||||||
|
return keysList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构建缓存key
|
* 构建缓存key
|
||||||
*/
|
*/
|
||||||
|
@@ -0,0 +1,28 @@
|
|||||||
|
package com.schisandra.oss.domain.service;
|
||||||
|
|
||||||
|
import com.schisandra.oss.domain.bo.SchisandraFileHeatmapBO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件上传热力图表 领域service
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-11 10:43:27
|
||||||
|
*/
|
||||||
|
public interface SchisandraFileHeatmapDomainService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加 文件上传热力图表 信息
|
||||||
|
*/
|
||||||
|
Boolean add(SchisandraFileHeatmapBO schisandraFileHeatmapBO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新 文件上传热力图表 信息
|
||||||
|
*/
|
||||||
|
Boolean update(SchisandraFileHeatmapBO schisandraFileHeatmapBO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除 文件上传热力图表 信息
|
||||||
|
*/
|
||||||
|
Boolean delete(SchisandraFileHeatmapBO schisandraFileHeatmapBO);
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,31 @@
|
|||||||
|
package com.schisandra.oss.domain.service;
|
||||||
|
|
||||||
|
import com.schisandra.oss.domain.bo.SchisandraUserOssBO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户对象存储映射表 领域service
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-10 16:14:33
|
||||||
|
*/
|
||||||
|
public interface SchisandraUserOssDomainService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加 用户对象存储映射表 信息
|
||||||
|
*/
|
||||||
|
Boolean add(SchisandraUserOssBO schisandraUserOssBO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新 用户对象存储映射表 信息
|
||||||
|
*/
|
||||||
|
Boolean update(SchisandraUserOssBO schisandraUserOssBO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除 用户对象存储映射表 信息
|
||||||
|
*/
|
||||||
|
Boolean delete(SchisandraUserOssBO schisandraUserOssBO);
|
||||||
|
|
||||||
|
List<SchisandraUserOssBO> queryOSSByUserId(Long userId);
|
||||||
|
}
|
@@ -0,0 +1,46 @@
|
|||||||
|
package com.schisandra.oss.domain.service.impl;
|
||||||
|
|
||||||
|
import com.schisandra.oss.common.enums.IsDeletedFlagEnum;
|
||||||
|
import com.schisandra.oss.domain.convert.SchisandraFileHeatmapBOConverter;
|
||||||
|
import com.schisandra.oss.domain.bo.SchisandraFileHeatmapBO;
|
||||||
|
import com.schisandra.oss.domain.service.SchisandraFileHeatmapDomainService;
|
||||||
|
import com.schisandra.oss.infra.basic.entity.SchisandraFileHeatmap;
|
||||||
|
import com.schisandra.oss.infra.basic.service.SchisandraFileHeatmapService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件上传热力图表 领域service实现了
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-11 10:43:27
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class SchisandraFileHeatmapDomainServiceImpl implements SchisandraFileHeatmapDomainService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SchisandraFileHeatmapService schisandraFileHeatmapService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean add(SchisandraFileHeatmapBO schisandraFileHeatmapBO) {
|
||||||
|
SchisandraFileHeatmap schisandraFileHeatmap = SchisandraFileHeatmapBOConverter.INSTANCE.convertBOToEntity(schisandraFileHeatmapBO);
|
||||||
|
return schisandraFileHeatmapService.insert(schisandraFileHeatmap) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean update(SchisandraFileHeatmapBO schisandraFileHeatmapBO) {
|
||||||
|
SchisandraFileHeatmap schisandraFileHeatmap = SchisandraFileHeatmapBOConverter.INSTANCE.convertBOToEntity(schisandraFileHeatmapBO);
|
||||||
|
return schisandraFileHeatmapService.update(schisandraFileHeatmap) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean delete(SchisandraFileHeatmapBO schisandraFileHeatmapBO) {
|
||||||
|
SchisandraFileHeatmap schisandraFileHeatmap = new SchisandraFileHeatmap();
|
||||||
|
schisandraFileHeatmap.setId(schisandraFileHeatmapBO.getId());
|
||||||
|
return schisandraFileHeatmapService.update(schisandraFileHeatmap) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,57 @@
|
|||||||
|
package com.schisandra.oss.domain.service.impl;
|
||||||
|
|
||||||
|
import com.schisandra.oss.common.enums.IsDeletedFlagEnum;
|
||||||
|
import com.schisandra.oss.domain.convert.SchisandraUserOssBOConverter;
|
||||||
|
import com.schisandra.oss.domain.bo.SchisandraUserOssBO;
|
||||||
|
import com.schisandra.oss.domain.service.SchisandraUserOssDomainService;
|
||||||
|
import com.schisandra.oss.infra.basic.entity.SchisandraUserOss;
|
||||||
|
import com.schisandra.oss.infra.basic.service.SchisandraUserOssService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户对象存储映射表 领域service实现了
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-10 16:14:33
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class SchisandraUserOssDomainServiceImpl implements SchisandraUserOssDomainService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SchisandraUserOssService schisandraUserOssService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean add(SchisandraUserOssBO schisandraUserOssBO) {
|
||||||
|
SchisandraUserOss schisandraUserOss = SchisandraUserOssBOConverter.INSTANCE.convertBOToEntity(schisandraUserOssBO);
|
||||||
|
schisandraUserOss.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode());
|
||||||
|
return schisandraUserOssService.insert(schisandraUserOss) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean update(SchisandraUserOssBO schisandraUserOssBO) {
|
||||||
|
SchisandraUserOss schisandraUserOss = SchisandraUserOssBOConverter.INSTANCE.convertBOToEntity(schisandraUserOssBO);
|
||||||
|
return schisandraUserOssService.update(schisandraUserOss) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean delete(SchisandraUserOssBO schisandraUserOssBO) {
|
||||||
|
SchisandraUserOss schisandraUserOss = new SchisandraUserOss();
|
||||||
|
schisandraUserOss.setId(schisandraUserOssBO.getId());
|
||||||
|
schisandraUserOss.setIsDeleted(IsDeletedFlagEnum.DELETED.getCode());
|
||||||
|
return schisandraUserOssService.update(schisandraUserOss) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SchisandraUserOssBO> queryOSSByUserId(Long userId) {
|
||||||
|
List<SchisandraUserOssBO> SchisandraUserOssBOList= SchisandraUserOssBOConverter
|
||||||
|
.INSTANCE.convertEntityListToBOList(schisandraUserOssService.queryOSSByUserId(userId));
|
||||||
|
return SchisandraUserOssBOList;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,17 @@
|
|||||||
|
package com.schisandra.oss.infra.basic.dao;
|
||||||
|
|
||||||
|
import com.schisandra.oss.infra.basic.entity.SchisandraFileHeatmap;
|
||||||
|
import com.mybatisflex.core.BaseMapper;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件上传热力图表 表数据库访问层
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-11 10:43:27
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public interface SchisandraFileHeatmapDao extends BaseMapper<SchisandraFileHeatmap> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@@ -0,0 +1,17 @@
|
|||||||
|
package com.schisandra.oss.infra.basic.dao;
|
||||||
|
|
||||||
|
import com.schisandra.oss.infra.basic.entity.SchisandraUserOss;
|
||||||
|
import com.mybatisflex.core.BaseMapper;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户对象存储映射表 表数据库访问层
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-10 16:14:33
|
||||||
|
*/
|
||||||
|
@Repository
|
||||||
|
public interface SchisandraUserOssDao extends BaseMapper<SchisandraUserOss> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@@ -0,0 +1,47 @@
|
|||||||
|
package com.schisandra.oss.infra.basic.entity;
|
||||||
|
|
||||||
|
import com.mybatisflex.annotation.Column;
|
||||||
|
import com.mybatisflex.annotation.Id;
|
||||||
|
import com.mybatisflex.annotation.KeyType;
|
||||||
|
import com.mybatisflex.annotation.Table;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件上传热力图表 实体类
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-11 10:43:27
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Table("schisandra_file_heatmap")
|
||||||
|
public class SchisandraFileHeatmap implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Id(value = "id", keyType = KeyType.Auto)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Column("user_id")
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Column("date")
|
||||||
|
private Date date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Column("count")
|
||||||
|
private Long count;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@@ -0,0 +1,89 @@
|
|||||||
|
package com.schisandra.oss.infra.basic.entity;
|
||||||
|
|
||||||
|
import com.mybatisflex.annotation.Column;
|
||||||
|
import com.mybatisflex.annotation.Id;
|
||||||
|
import com.mybatisflex.annotation.KeyType;
|
||||||
|
import com.mybatisflex.annotation.Table;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户对象存储映射表 实体类
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-10 16:14:33
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Table("schisandra_user_oss")
|
||||||
|
public class SchisandraUserOss implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Id(value = "id", keyType = KeyType.Auto)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Column("user_id")
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Column("oss_type")
|
||||||
|
private String ossType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Column("icon")
|
||||||
|
private String icon;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Column("name")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Column("bucket_count")
|
||||||
|
private Integer bucketCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建人
|
||||||
|
*/
|
||||||
|
@Column("created_by")
|
||||||
|
private String createdBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@Column("created_time")
|
||||||
|
private Date createdTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新人
|
||||||
|
*/
|
||||||
|
@Column("update_by")
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@Column("update_time")
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Column("is_deleted")
|
||||||
|
private Integer isDeleted;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@@ -0,0 +1,46 @@
|
|||||||
|
package com.schisandra.oss.infra.basic.service;
|
||||||
|
|
||||||
|
import com.schisandra.oss.infra.basic.entity.SchisandraFileHeatmap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件上传热力图表 表服务接口
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-11 10:43:27
|
||||||
|
*/
|
||||||
|
public interface SchisandraFileHeatmapService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过ID查询单条数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
SchisandraFileHeatmap queryById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增数据
|
||||||
|
*
|
||||||
|
* @param schisandraFileHeatmap 实例对象
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
int insert(SchisandraFileHeatmap schisandraFileHeatmap);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改数据
|
||||||
|
*
|
||||||
|
* @param schisandraFileHeatmap 实例对象
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
int update(SchisandraFileHeatmap schisandraFileHeatmap);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过主键删除数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
boolean deleteById(Long id);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,50 @@
|
|||||||
|
package com.schisandra.oss.infra.basic.service;
|
||||||
|
|
||||||
|
import com.schisandra.oss.infra.basic.entity.SchisandraUserOss;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户对象存储映射表 表服务接口
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-10 16:14:33
|
||||||
|
*/
|
||||||
|
public interface SchisandraUserOssService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过ID查询单条数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
SchisandraUserOss queryById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增数据
|
||||||
|
*
|
||||||
|
* @param schisandraUserOss 实例对象
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
int insert(SchisandraUserOss schisandraUserOss);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改数据
|
||||||
|
*
|
||||||
|
* @param schisandraUserOss 实例对象
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
int update(SchisandraUserOss schisandraUserOss);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过主键删除数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
boolean deleteById(Long id);
|
||||||
|
|
||||||
|
List<SchisandraUserOss> queryOSSByUserId(Long userId);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,67 @@
|
|||||||
|
package com.schisandra.oss.infra.basic.service.impl;
|
||||||
|
|
||||||
|
import com.schisandra.oss.infra.basic.entity.SchisandraFileHeatmap;
|
||||||
|
import com.schisandra.oss.infra.basic.dao.SchisandraFileHeatmapDao;
|
||||||
|
import com.schisandra.oss.infra.basic.service.SchisandraFileHeatmapService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件上传热力图表 表服务实现类
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-11 10:43:27
|
||||||
|
*/
|
||||||
|
@Service("SchisandraFileHeatmapService")
|
||||||
|
public class SchisandraFileHeatmapServiceImpl implements SchisandraFileHeatmapService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SchisandraFileHeatmapDao schisandraFileHeatmapDao;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过ID查询单条数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public SchisandraFileHeatmap queryById(Long id) {
|
||||||
|
return this.schisandraFileHeatmapDao.selectOneById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增数据
|
||||||
|
*
|
||||||
|
* @param schisandraFileHeatmap 实例对象
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insert(SchisandraFileHeatmap schisandraFileHeatmap) {
|
||||||
|
return this.schisandraFileHeatmapDao.insertSelective(schisandraFileHeatmap);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改数据
|
||||||
|
*
|
||||||
|
* @param schisandraFileHeatmap 实例对象
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int update(SchisandraFileHeatmap schisandraFileHeatmap) {
|
||||||
|
return this.schisandraFileHeatmapDao.update(schisandraFileHeatmap,true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过主键删除数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean deleteById(Long id) {
|
||||||
|
return this.schisandraFileHeatmapDao.deleteById(id) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,75 @@
|
|||||||
|
package com.schisandra.oss.infra.basic.service.impl;
|
||||||
|
|
||||||
|
import com.mybatisflex.core.query.QueryWrapper;
|
||||||
|
import com.schisandra.oss.infra.basic.entity.SchisandraUserOss;
|
||||||
|
import com.schisandra.oss.infra.basic.dao.SchisandraUserOssDao;
|
||||||
|
import com.schisandra.oss.infra.basic.entity.table.SchisandraUserOssTableDef;
|
||||||
|
import com.schisandra.oss.infra.basic.service.SchisandraUserOssService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户对象存储映射表 表服务实现类
|
||||||
|
*
|
||||||
|
* @author landaiqing
|
||||||
|
* @since 2024-07-10 16:14:33
|
||||||
|
*/
|
||||||
|
@Service("SchisandraUserOssService")
|
||||||
|
public class SchisandraUserOssServiceImpl implements SchisandraUserOssService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SchisandraUserOssDao schisandraUserOssDao;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过ID查询单条数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public SchisandraUserOss queryById(Long id) {
|
||||||
|
return this.schisandraUserOssDao.selectOneById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增数据
|
||||||
|
*
|
||||||
|
* @param schisandraUserOss 实例对象
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int insert(SchisandraUserOss schisandraUserOss) {
|
||||||
|
return this.schisandraUserOssDao.insertSelective(schisandraUserOss);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改数据
|
||||||
|
*
|
||||||
|
* @param schisandraUserOss 实例对象
|
||||||
|
* @return 实例对象
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int update(SchisandraUserOss schisandraUserOss) {
|
||||||
|
return this.schisandraUserOssDao.update(schisandraUserOss,true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过主键删除数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 是否成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean deleteById(Long id) {
|
||||||
|
return this.schisandraUserOssDao.deleteById(id) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SchisandraUserOss> queryOSSByUserId(Long userId) {
|
||||||
|
return this.schisandraUserOssDao.selectListByCondition(SchisandraUserOssTableDef.SCHISANDRA_USER_OSS.USER_ID.eq(userId));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.schisandra.oss.infra.basic.dao.SchisandraFileHeatmapDao">
|
||||||
|
|
||||||
|
<resultMap id="BaseResultMap" type="com.schisandra.oss.infra.basic.entity.SchisandraFileHeatmap">
|
||||||
|
<id column="id" jdbcType="BIGINT" property="id"/>
|
||||||
|
<result column="user_id" jdbcType="BIGINT" property="userId"/>
|
||||||
|
<result column="date" jdbcType="DATE" property="date"/>
|
||||||
|
<result column="count" jdbcType="BIGINT" property="count"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
</mapper>
|
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.schisandra.oss.infra.basic.dao.SchisandraUserOssDao">
|
||||||
|
|
||||||
|
<resultMap id="BaseResultMap" type="com.schisandra.oss.infra.basic.entity.SchisandraUserOss">
|
||||||
|
<id column="id" jdbcType="BIGINT" property="id"/>
|
||||||
|
<result column="user_id" jdbcType="BIGINT" property="userId"/>
|
||||||
|
<result column="oss_type" jdbcType="VARCHAR" property="ossType"/>
|
||||||
|
<result column="icon" jdbcType="VARCHAR" property="icon"/>
|
||||||
|
<result column="name" jdbcType="VARCHAR" property="name"/>
|
||||||
|
<result column="bucket_count" jdbcType="INTEGER" property="bucketCount"/>
|
||||||
|
<result column="created_by" jdbcType="VARCHAR" property="createdBy"/>
|
||||||
|
<result column="created_time" jdbcType="TIMESTAMP" property="createdTime"/>
|
||||||
|
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
|
||||||
|
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
|
||||||
|
<result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
</mapper>
|
Reference in New Issue
Block a user