feat: 新增动态数据源单元测试

This commit is contained in:
郝先瑞
2023-04-24 08:03:55 +08:00
parent cb9d90f3d6
commit cbd1621935
4 changed files with 75 additions and 21 deletions

View File

@@ -0,0 +1,41 @@
package com.youlai.system.sample;
import cn.hutool.core.util.RandomUtil;
import com.youlai.system.pojo.entity.SysDictType;
import com.youlai.system.service.SysDictService;
import com.youlai.system.service.SysDictTypeService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
/**
* 动态数据源案例
*
* @author haoxr
* @date 2023/4/24
*/
@Component
@RequiredArgsConstructor
public class DynamicDataSourceSample {
private final SysDictTypeService dictTypeService;
private final SysDictService dictService;
@Transactional
public boolean updateDictTypeCode(Long dictTypeId,String newTypeCode) {
SysDictType dictType = dictTypeService.getById(dictTypeId);
String originalTypeCode = dictType.getCode();
dictType.setCode(newTypeCode);
boolean result = dictTypeService.updateById(dictType);
if (result) {
result = dictService.updateDictTypeCode(originalTypeCode, newTypeCode);
}
return result;
}
}

View File

@@ -65,4 +65,13 @@ public interface SysDictService extends IService<SysDict> {
* @return
*/
List<Option> listDictOptions(String typeCode);
/**
* 修改字典类型编码
*
* @param originalTypeCode
* @param newTypeCode
* @return
*/
boolean updateDictTypeCode(String originalTypeCode, String newTypeCode);
}

View File

@@ -3,7 +3,9 @@ package com.youlai.system.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.youlai.system.converter.DictConverter;
@@ -159,6 +161,23 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
return options;
}
/**
* 修改字典类型编码(多数据源测试)
*
* @param originalTypeCode
* @param newTypeCode
* @return
*/
@DS("slave")
@Override
public boolean updateDictTypeCode(String originalTypeCode, String newTypeCode) {
boolean result = this.update(new LambdaUpdateWrapper<SysDict>()
.eq(SysDict::getTypeCode, originalTypeCode)
.set(SysDict::getTypeCode, newTypeCode)
);
return result;
}
}