refactor oss配置

V0.5.x
jay 2023-06-01 20:12:29 +08:00
parent ce1163f8ac
commit b333dc0260
3 changed files with 216 additions and 174 deletions

View File

@ -1,9 +1,13 @@
package cc.iotkit.data.system; package cc.iotkit.data.system;
import cc.iotkit.data.ICommonData;
import cc.iotkit.model.system.SysOperLog;
import cc.iotkit.model.system.SysOssConfig;
/** /**
* *
* *
* @author sjg * @author sjg
*/ */
public interface ISysOssConfigData { public interface ISysOssConfigData extends ICommonData<SysOssConfig, Long> {
} }

View File

@ -0,0 +1,52 @@
package cc.iotkit.data.service;
import cc.iotkit.common.api.PageRequest;
import cc.iotkit.common.api.Paging;
import cc.iotkit.common.utils.MapstructUtils;
import cc.iotkit.common.utils.StringUtils;
import cc.iotkit.data.dao.IJPACommData;
import cc.iotkit.data.dao.SysOssConfigRepository;
import cc.iotkit.data.model.TbSysOssConfig;
import cc.iotkit.data.system.ISysOssConfigData;
import cc.iotkit.data.util.PageBuilder;
import cc.iotkit.data.util.PredicateBuilder;
import cc.iotkit.model.system.SysOssConfig;
import cn.hutool.core.util.ArrayUtil;
import com.querydsl.core.types.Predicate;
import com.querydsl.jpa.impl.JPAQueryFactory;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Primary;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
import static cc.iotkit.data.model.QTbSysOssConfig.tbSysOssConfig;
/**
* @Authortfd
* @Date2023/5/31 15:24
*/
@Primary
@Service
@RequiredArgsConstructor
public class SysOssConfigDataImpl implements ISysOssConfigData, IJPACommData<SysOssConfig, Long> {
private SysOssConfigRepository operLogRepository;
private final JPAQueryFactory jpaQueryFactory;
@Override
public JpaRepository getBaseRepository() {
return operLogRepository;
}
@Override
public Class getJpaRepositoryClass() {
return TbSysOssConfig.class;
}
}

View File

@ -1,180 +1,166 @@
//package cc.iotkit.system.service.impl; package cc.iotkit.system.service.impl;
//
//import cc.iotkit.common.api.PageRequest; import cc.iotkit.common.api.PageRequest;
//import cc.iotkit.common.constant.CacheNames; import cc.iotkit.common.api.Paging;
//import cc.iotkit.common.undefined.PagedDataVo; import cc.iotkit.common.constant.CacheNames;
//import cc.iotkit.common.exception.BizException; import cc.iotkit.common.oss.constant.OssConstant;
//import cc.iotkit.common.redis.utils.CacheUtils;
//import cc.iotkit.common.redis.utils.RedisUtils; import cc.iotkit.common.exception.BizException;
//import cc.iotkit.common.tenant.core.TenantDto; import cc.iotkit.common.redis.utils.CacheUtils;
//import cc.iotkit.common.tenant.helper.TenantHelper; import cc.iotkit.common.redis.utils.RedisUtils;
//import cc.iotkit.common.utils.JsonUtils; import cc.iotkit.common.tenant.core.TenantDto;
//import cc.iotkit.common.utils.MapstructUtils; import cc.iotkit.common.tenant.helper.TenantHelper;
//import cc.iotkit.common.utils.StreamUtils; import cc.iotkit.common.utils.JsonUtils;
//import cc.iotkit.common.utils.StringUtils; import cc.iotkit.common.utils.MapstructUtils;
//import cc.iotkit.model.system.SysOssConfig; import cc.iotkit.common.utils.StreamUtils;
//import cc.iotkit.system.dto.bo.SysOssConfigBo; import cc.iotkit.common.utils.StringUtils;
//import cc.iotkit.system.dto.vo.SysOssConfigVo; import cc.iotkit.data.system.ISysOssConfigData;
//import cn.hutool.core.collection.CollUtil; import cc.iotkit.model.system.SysOssConfig;
//import cn.hutool.core.util.ObjectUtil; import cc.iotkit.system.dto.bo.SysOssConfigBo;
//import lombok.RequiredArgsConstructor; import cc.iotkit.system.dto.vo.SysOssConfigVo;
//import lombok.extern.slf4j.Slf4j; import cn.hutool.core.collection.CollUtil;
//import cc.iotkit.system.service.ISysOssConfigService; import cn.hutool.core.util.ObjectUtil;
//import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor;
//import org.springframework.transaction.annotation.Transactional; import lombok.extern.slf4j.Slf4j;
// import cc.iotkit.system.service.ISysOssConfigService;
//import java.util.Collection; import org.springframework.stereotype.Service;
//import java.util.List; import org.springframework.transaction.annotation.Transactional;
//import java.util.Map;
// import java.util.Collection;
///** import java.util.List;
// * 对象存储配置Service业务层处理 import java.util.Map;
// *
// * @author Lion Li /**
// * @author 孤舟烟雨 * Service
// * @date 2021-08-13 *
// */ * @author Lion Li
//@Slf4j * @author
//@RequiredArgsConstructor * @date 2021-08-13
//@Service */
//public class SysOssConfigServiceImpl implements ISysOssConfigService { @Slf4j
// @RequiredArgsConstructor
// private final SysOssConfigMapper baseMapper; @Service
// public class SysOssConfigServiceImpl implements ISysOssConfigService {
// /**
// * 项目启动时,初始化参数到缓存,加载配置类 private final ISysOssConfigData baseData;
// */
// @Override /**
// public void init() { *
// List<SysOssConfig> list = TenantHelper.ignore(() -> */
// baseMapper.selectList( @Override
// new LambdaQueryWrapper<SysOssConfig>().orderByAsc(TenantDto::getTenantId)) public void init() {
// ); List<SysOssConfig> list = baseData.findAll();
// Map<String, List<SysOssConfig>> map = StreamUtils.groupByKey(list, SysOssConfig::getTenantId); Map<String, List<SysOssConfig>> map = StreamUtils.groupByKey(list, SysOssConfig::getTenantId);
// try { try {
// for (String tenantId : map.keySet()) { for (String tenantId : map.keySet()) {
// TenantHelper.setDynamic(tenantId); TenantHelper.setDynamic(tenantId);
// // 加载OSS初始化配置 // 加载OSS初始化配置
// for (SysOssConfig config : map.get(tenantId)) { for (SysOssConfig config : map.get(tenantId)) {
// String configKey = config.getConfigKey(); String configKey = config.getConfigKey();
// if ("0".equals(config.getStatus())) { if ("0".equals(config.getStatus())) {
// RedisUtils.setCacheObject(OssConstant.DEFAULT_CONFIG_KEY, configKey); RedisUtils.setCacheObject(OssConstant.DEFAULT_CONFIG_KEY, configKey);
// } }
// CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config)); CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config));
// } }
// } }
// } finally { } finally {
// TenantHelper.clearDynamic(); TenantHelper.clearDynamic();
// } }
// } }
//
// @Override @Override
// public SysOssConfigVo queryById(Long ossConfigId) { public SysOssConfigVo queryById(Long ossConfigId) {
// return baseMapper.selectVoById(ossConfigId); return MapstructUtils.convert(baseData.findById(ossConfigId), SysOssConfigVo.class);
// } }
//
// @Override @Override
// public PagedDataVo<SysOssConfigVo> queryPageList(SysOssConfigBo bo, PageRequest<?> query) { public Paging<SysOssConfigVo> queryPageList(SysOssConfigBo bo, PageRequest<?> query) {
// LambdaQueryWrapper<SysOssConfig> lqw = buildQueryWrapper(bo); return null;
// Page<SysOssConfigVo> result = baseMapper.selectVoPage(query.build(), lqw); }
// return TableDataInfo.build(result);
// }
//
//
// private LambdaQueryWrapper<SysOssConfig> buildQueryWrapper(SysOssConfigBo bo) { @Override
// LambdaQueryWrapper<SysOssConfig> lqw = Wrappers.lambdaQuery(); public Boolean insertByBo(SysOssConfigBo bo) {
// lqw.eq(StringUtils.isNotBlank(bo.getConfigKey()), SysOssConfig::getConfigKey, bo.getConfigKey()); SysOssConfig config = MapstructUtils.convert(bo, SysOssConfig.class);
// lqw.like(StringUtils.isNotBlank(bo.getBucketName()), SysOssConfig::getBucketName, bo.getBucketName()); validEntityBeforeSave(config);
// lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysOssConfig::getStatus, bo.getStatus()); SysOssConfig save = baseData.save(config);
// return lqw; if (ObjectUtil.isNotNull(save)) {
// } CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config));
// }
// @Override return true;
// public Boolean insertByBo(SysOssConfigBo bo) { }
// SysOssConfig config = MapstructUtils.convert(bo, SysOssConfig.class);
// validEntityBeforeSave(config); @Override
// boolean flag = baseMapper.insert(config) > 0; public Boolean updateByBo(SysOssConfigBo bo) {
// if (flag) { SysOssConfig config = MapstructUtils.convert(bo, SysOssConfig.class);
// CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config)); validEntityBeforeSave(config);
// } SysOssConfig save = baseData.save(config);
// return flag; return true;
// } }
//
// @Override /**
// public Boolean updateByBo(SysOssConfigBo bo) { *
// SysOssConfig config = MapstructUtils.convert(bo, SysOssConfig.class); */
// validEntityBeforeSave(config); private void validEntityBeforeSave(SysOssConfig entity) {
// LambdaUpdateWrapper<SysOssConfig> luw = new LambdaUpdateWrapper<>(); if (StringUtils.isNotEmpty(entity.getConfigKey())
// luw.set(ObjectUtil.isNull(config.getPrefix()), SysOssConfig::getPrefix, ""); && !checkConfigKeyUnique(entity)) {
// luw.set(ObjectUtil.isNull(config.getRegion()), SysOssConfig::getRegion, ""); throw new BizException("操作配置'" + entity.getConfigKey() + "'失败, 配置key已存在!");
// luw.set(ObjectUtil.isNull(config.getExt1()), SysOssConfig::getExt1, ""); }
// luw.set(ObjectUtil.isNull(config.getRemark()), SysOssConfig::getRemark, ""); }
// luw.eq(SysOssConfig::getOssConfigId, config.getOssConfigId());
// boolean flag = baseMapper.update(config, luw) > 0; @Override
// if (flag) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
// CacheUtils.put(CacheNames.SYS_OSS_CONFIG, config.getConfigKey(), JsonUtils.toJsonString(config)); if (isValid) {
// } if (CollUtil.containsAny(ids, OssConstant.SYSTEM_DATA_IDS)) {
// return flag; throw new BizException("系统内置, 不可删除!");
// } }
// }
// /** List<SysOssConfig> list = CollUtil.newArrayList();
// * 保存前的数据校验 for (Long configId : ids) {
// */ SysOssConfig config = baseData.findById(configId);
// private void validEntityBeforeSave(SysOssConfig entity) { list.add(config);
// if (StringUtils.isNotEmpty(entity.getConfigKey()) }
// && !checkConfigKeyUnique(entity)) { // TODO: 2021/8/13 删除数据校验
// throw new BizException("操作配置'" + entity.getConfigKey() + "'失败, 配置key已存在!"); baseData.deleteByIds(ids);
// } boolean flag = true;
// } if (flag) {
// list.forEach(sysOssConfig ->
// @Override CacheUtils.evict(CacheNames.SYS_OSS_CONFIG, sysOssConfig.getConfigKey()));
// public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { }
// if (isValid) { return flag;
// if (CollUtil.containsAny(ids, OssConstant.SYSTEM_DATA_IDS)) { }
// throw new BizException("系统内置, 不可删除!");
// } /**
// } * configKey
// List<SysOssConfig> list = CollUtil.newArrayList(); */
// for (Long configId : ids) { private boolean checkConfigKeyUnique(SysOssConfig sysOssConfig) {
// SysOssConfig config = baseMapper.selectById(configId); long ossConfigId = ObjectUtil.isNull(sysOssConfig.getId()) ? -1L : sysOssConfig.getId();
// list.add(config); SysOssConfig q = new SysOssConfig();
// } q.setConfigKey(sysOssConfig.getConfigKey());
// boolean flag = baseMapper.deleteBatchIds(ids) > 0; SysOssConfig info = baseData.findOneByCondition(q);
// if (flag) { if (ObjectUtil.isNotNull(info) && info.getId() != ossConfigId) {
// list.forEach(sysOssConfig -> return false;
// CacheUtils.evict(CacheNames.SYS_OSS_CONFIG, sysOssConfig.getConfigKey())); }
// } return true;
// return flag; }
// }
// /**
// /** *
// * 判断configKey是否唯一 */
// */ @Override
// private boolean checkConfigKeyUnique(SysOssConfig sysOssConfig) { @Transactional(rollbackFor = Exception.class)
// long ossConfigId = ObjectUtil.isNull(sysOssConfig.getOssConfigId()) ? -1L : sysOssConfig.getOssConfigId(); public int updateOssConfigStatus(SysOssConfigBo bo) {
// SysOssConfig info = baseMapper.selectOne(new LambdaQueryWrapper<SysOssConfig>()
// .select(SysOssConfig::getOssConfigId, SysOssConfig::getConfigKey)
// .eq(SysOssConfig::getConfigKey, sysOssConfig.getConfigKey()));
// if (ObjectUtil.isNotNull(info) && info.getOssConfigId() != ossConfigId) {
// return false;
// }
// return true;
// }
//
// /**
// * 启用禁用状态
// */
// @Override
// @Transactional(rollbackFor = Exception.class)
// public int updateOssConfigStatus(SysOssConfigBo bo) {
// SysOssConfig sysOssConfig = MapstructUtils.convert(bo, SysOssConfig.class); // SysOssConfig sysOssConfig = MapstructUtils.convert(bo, SysOssConfig.class);
// int row = baseMapper.update(null, new LambdaUpdateWrapper<SysOssConfig>() // int row = baseData.save(null, new LambdaUpdateWrapper<SysOssConfig>()
// .set(SysOssConfig::getStatus, "1")); // .set(SysOssConfig::getStatus, "1"));
// row += baseMapper.updateById(sysOssConfig); // row += baseMapper.updateById(sysOssConfig);
// if (row > 0) { // if (row > 0) {
// RedisUtils.setCacheObject(OssConstant.DEFAULT_CONFIG_KEY, sysOssConfig.getConfigKey()); // RedisUtils.setCacheObject(OssConstant.DEFAULT_CONFIG_KEY, sysOssConfig.getConfigKey());
// } // }
// return row; // return row;
// } return 0;
// }
//}
}