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

2.X
疯狂的狮子Li 1 year ago
parent 6004ec8ead
commit 0d43512d64

@ -252,3 +252,4 @@ tenant:
- sys_user_post - sys_user_post
- sys_user_role - sys_user_role
- sys_client - sys_client
- sys_oss_config

@ -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";
/** /**
* 线 * 线

@ -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

@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.dromara.common.tenant.core.TenantEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
/** /**
* sys_oss_config * sys_oss_config
@ -14,7 +14,7 @@ import org.dromara.common.tenant.core.TenantEntity;
@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 {
/** /**
* *

@ -11,7 +11,6 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; 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.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.resource.domain.SysOssConfig; import org.dromara.resource.domain.SysOssConfig;
import org.dromara.resource.domain.bo.SysOssConfigBo; import org.dromara.resource.domain.bo.SysOssConfigBo;
import org.dromara.resource.domain.vo.SysOssConfigVo; import org.dromara.resource.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));
}
});
} }
} }

Loading…
Cancel
Save