update 优化 将 OSS配置 改为全局模式 降低使用难度 保留sql便于用户自行扩展(常规项目用不上配置分多租户)

This commit is contained in:
疯狂的狮子Li 2023-12-07 15:17:48 +08:00
parent e509d95af9
commit 860afb8738
5 changed files with 15 additions and 24 deletions

View File

@ -133,6 +133,7 @@ tenant:
- sys_user_post - sys_user_post
- sys_user_role - sys_user_role
- sys_client - sys_client
- sys_oss_config
# MyBatisPlus配置 # MyBatisPlus配置
# https://baomidou.com/config/ # https://baomidou.com/config/

View File

@ -58,7 +58,7 @@ public interface CacheNames {
/** /**
* OSS配置 * OSS配置
*/ */
String SYS_OSS_CONFIG = "sys_oss_config"; String SYS_OSS_CONFIG = GlobalConstants.GLOBAL_REDIS_KEY + "sys_oss_config";
/** /**
* 在线用户 * 在线用户

View File

@ -1,5 +1,7 @@
package org.dromara.common.oss.constant; package org.dromara.common.oss.constant;
import org.dromara.common.core.constant.GlobalConstants;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -13,7 +15,7 @@ public interface OssConstant {
/** /**
* 默认配置KEY * 默认配置KEY
*/ */
String DEFAULT_CONFIG_KEY = "sys_oss:default_config"; String DEFAULT_CONFIG_KEY = GlobalConstants.GLOBAL_REDIS_KEY + "sys_oss:default_config";
/** /**
* 预览列表资源开关Key * 预览列表资源开关Key

View File

@ -2,9 +2,9 @@ package org.dromara.system.domain;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import org.dromara.common.tenant.core.TenantEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
/** /**
* 对象存储配置对象 sys_oss_config * 对象存储配置对象 sys_oss_config
@ -14,7 +14,7 @@ import lombok.EqualsAndHashCode;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@TableName("sys_oss_config") @TableName("sys_oss_config")
public class SysOssConfig extends TenantEntity { public class SysOssConfig extends BaseEntity {
/** /**
* 主建 * 主建

View File

@ -11,7 +11,6 @@ import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.constant.CacheNames; import org.dromara.common.core.constant.CacheNames;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
@ -19,8 +18,6 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.oss.constant.OssConstant; import org.dromara.common.oss.constant.OssConstant;
import org.dromara.common.redis.utils.CacheUtils; import org.dromara.common.redis.utils.CacheUtils;
import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.tenant.core.TenantEntity;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.system.domain.SysOssConfig; import org.dromara.system.domain.SysOssConfig;
import org.dromara.system.domain.bo.SysOssConfigBo; import org.dromara.system.domain.bo.SysOssConfigBo;
import org.dromara.system.domain.vo.SysOssConfigVo; import org.dromara.system.domain.vo.SysOssConfigVo;
@ -31,7 +28,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 对象存储配置Service业务层处理 * 对象存储配置Service业务层处理
@ -52,22 +48,14 @@ public class SysOssConfigServiceImpl implements ISysOssConfigService {
*/ */
@Override @Override
public void init() { public void init() {
List<SysOssConfig> list = TenantHelper.ignore(() -> List<SysOssConfig> list = baseMapper.selectList();
baseMapper.selectList( // 加载OSS初始化配置
new LambdaQueryWrapper<SysOssConfig>().orderByAsc(TenantEntity::getTenantId)) for (SysOssConfig config : list) {
); String configKey = config.getConfigKey();
Map<String, List<SysOssConfig>> map = StreamUtils.groupByKey(list, SysOssConfig::getTenantId); if ("0".equals(config.getStatus())) {
for (String tenantId : map.keySet()) { RedisUtils.setCacheObject(OssConstant.DEFAULT_CONFIG_KEY, configKey);
TenantHelper.dynamic(tenantId, () -> { }
// 加载OSS初始化配置 CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config));
for (SysOssConfig config : map.get(tenantId)) {
String configKey = config.getConfigKey();
if ("0".equals(config.getStatus())) {
RedisUtils.setCacheObject(OssConstant.DEFAULT_CONFIG_KEY, configKey);
}
CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config));
}
});
} }
} }