| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.dromara.common.core.constant.CacheNames; |
| | | import org.dromara.common.core.exception.ServiceException; |
| | | import org.dromara.common.core.utils.MapstructUtils; |
| | | import org.dromara.common.core.utils.StreamUtils; |
| | | import org.dromara.common.core.utils.ObjectUtils; |
| | | import org.dromara.common.core.utils.StringUtils; |
| | | import org.dromara.common.json.utils.JsonUtils; |
| | | import org.dromara.common.mybatis.core.page.PageQuery; |
| | |
| | | import org.dromara.common.oss.constant.OssConstant; |
| | | import org.dromara.common.redis.utils.CacheUtils; |
| | | 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.bo.SysOssConfigBo; |
| | | import org.dromara.system.domain.vo.SysOssConfigVo; |
| | | import org.dromara.system.mapper.SysOssConfigMapper; |
| | | import org.dromara.system.service.ISysOssConfigService; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 对象存储配置Service业务层处理 |
| | |
| | | */ |
| | | @Override |
| | | public void init() { |
| | | TenantHelper.enableIgnore(); |
| | | List<SysOssConfig> list = baseMapper.selectList( |
| | | new LambdaQueryWrapper<SysOssConfig>().orderByAsc(TenantEntity::getTenantId)); |
| | | TenantHelper.disableIgnore(); |
| | | Map<String, List<SysOssConfig>> map = StreamUtils.groupByKey(list, SysOssConfig::getTenantId); |
| | | for (String tenantId : map.keySet()) { |
| | | TenantHelper.setDynamic(tenantId); |
| | | // 加载OSS初始化配置 |
| | | 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)); |
| | | List<SysOssConfig> list = baseMapper.selectList(); |
| | | // 加载OSS初始化配置 |
| | | for (SysOssConfig config : list) { |
| | | 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)); |
| | | } |
| | | TenantHelper.clearDynamic(); |
| | | } |
| | | |
| | | @Override |
| | |
| | | lqw.eq(StringUtils.isNotBlank(bo.getConfigKey()), SysOssConfig::getConfigKey, bo.getConfigKey()); |
| | | lqw.like(StringUtils.isNotBlank(bo.getBucketName()), SysOssConfig::getBucketName, bo.getBucketName()); |
| | | lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysOssConfig::getStatus, bo.getStatus()); |
| | | lqw.orderByAsc(SysOssConfig::getOssConfigId); |
| | | return lqw; |
| | | } |
| | | |
| | |
| | | validEntityBeforeSave(config); |
| | | boolean flag = baseMapper.insert(config) > 0; |
| | | if (flag) { |
| | | // 从数据库查询完整的数据做缓存 |
| | | config = baseMapper.selectById(config.getOssConfigId()); |
| | | CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config)); |
| | | } |
| | | return flag; |
| | |
| | | luw.eq(SysOssConfig::getOssConfigId, config.getOssConfigId()); |
| | | boolean flag = baseMapper.update(config, luw) > 0; |
| | | if (flag) { |
| | | // 从数据库查询完整的数据做缓存 |
| | | config = baseMapper.selectById(config.getOssConfigId()); |
| | | CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config)); |
| | | } |
| | | return flag; |
| | |
| | | SysOssConfig config = baseMapper.selectById(configId); |
| | | list.add(config); |
| | | } |
| | | boolean flag = baseMapper.deleteBatchIds(ids) > 0; |
| | | boolean flag = baseMapper.deleteByIds(ids) > 0; |
| | | if (flag) { |
| | | list.forEach(sysOssConfig -> |
| | | CacheUtils.evict(CacheNames.SYS_OSS_CONFIG, sysOssConfig.getConfigKey())); |
| | |
| | | * 判断configKey是否唯一 |
| | | */ |
| | | private boolean checkConfigKeyUnique(SysOssConfig sysOssConfig) { |
| | | long ossConfigId = ObjectUtil.isNull(sysOssConfig.getOssConfigId()) ? -1L : sysOssConfig.getOssConfigId(); |
| | | long ossConfigId = ObjectUtils.notNull(sysOssConfig.getOssConfigId(), -1L); |
| | | SysOssConfig info = baseMapper.selectOne(new LambdaQueryWrapper<SysOssConfig>() |
| | | .select(SysOssConfig::getOssConfigId, SysOssConfig::getConfigKey) |
| | | .eq(SysOssConfig::getConfigKey, sysOssConfig.getConfigKey())); |