修改名称
This commit is contained in:
@@ -40,7 +40,7 @@ public class CacheUtils {
|
|||||||
// 只阻塞当前数据加载线程,其他线程返回旧值
|
// 只阻塞当前数据加载线程,其他线程返回旧值
|
||||||
.refreshAfterWrite(duration)
|
.refreshAfterWrite(duration)
|
||||||
// 通过 asyncReloading 实现全异步加载,包括 refreshAfterWrite 被阻塞的加载线程
|
// 通过 asyncReloading 实现全异步加载,包括 refreshAfterWrite 被阻塞的加载线程
|
||||||
.build(CacheLoader.asyncReloading(loader, Executors.newCachedThreadPool())); // TODO 芋艿:可能要思考下,未来要不要做成可配置
|
.build(CacheLoader.asyncReloading(loader, Executors.newCachedThreadPool())); // TODO 鹭鹭:可能要思考下,未来要不要做成可配置
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ public class DeptDataPermissionRule implements DataPermissionRule {
|
|||||||
Expression deptExpression = buildDeptExpression(tableName,tableAlias, deptDataPermission.getDeptIds());
|
Expression deptExpression = buildDeptExpression(tableName,tableAlias, deptDataPermission.getDeptIds());
|
||||||
Expression userExpression = buildUserExpression(tableName, tableAlias, deptDataPermission.getSelf(), loginUser.getId());
|
Expression userExpression = buildUserExpression(tableName, tableAlias, deptDataPermission.getSelf(), loginUser.getId());
|
||||||
if (deptExpression == null && userExpression == null) {
|
if (deptExpression == null && userExpression == null) {
|
||||||
// TODO 芋艿:获得不到条件的时候,暂时不抛出异常,而是不返回数据
|
// TODO 鹭鹭:获得不到条件的时候,暂时不抛出异常,而是不返回数据
|
||||||
log.warn("[getExpression][LoginUser({}) Table({}/{}) DeptDataPermission({}) 构建的条件为空]",
|
log.warn("[getExpression][LoginUser({}) Table({}/{}) DeptDataPermission({}) 构建的条件为空]",
|
||||||
JsonUtils.toJsonString(loginUser), tableName, tableAlias, JsonUtils.toJsonString(deptDataPermission));
|
JsonUtils.toJsonString(loginUser), tableName, tableAlias, JsonUtils.toJsonString(deptDataPermission));
|
||||||
// throw new NullPointerException(String.format("LoginUser(%d) Table(%s/%s) 构建的条件为空",
|
// throw new NullPointerException(String.format("LoginUser(%d) Table(%s/%s) 构建的条件为空",
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public class TenantJobAspect {
|
|||||||
// 逐个租户,执行 Job
|
// 逐个租户,执行 Job
|
||||||
Map<Long, String> results = new ConcurrentHashMap<>();
|
Map<Long, String> results = new ConcurrentHashMap<>();
|
||||||
tenantIds.parallelStream().forEach(tenantId -> {
|
tenantIds.parallelStream().forEach(tenantId -> {
|
||||||
// TODO 芋艿:先通过 parallel 实现并行;1)多个租户,是一条执行日志;2)异常的情况
|
// TODO 鹭鹭:先通过 parallel 实现并行;1)多个租户,是一条执行日志;2)异常的情况
|
||||||
TenantUtils.execute(tenantId, () -> {
|
TenantUtils.execute(tenantId, () -> {
|
||||||
try {
|
try {
|
||||||
Object result = joinPoint.proceed();
|
Object result = joinPoint.proceed();
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ import static cn.iocoder.lyzsys.framework.web.core.util.WebFrameworkUtils.HEADER
|
|||||||
* {@link HandlerMethodArgumentResolver}.
|
* {@link HandlerMethodArgumentResolver}.
|
||||||
*
|
*
|
||||||
* 针对 rabbitmq-spring 和 kafka-spring,不存在合适的拓展点,可以实现 Consumer 消费前,读取 Header 中的 tenant-id 设置到 {@link TenantContextHolder} 中
|
* 针对 rabbitmq-spring 和 kafka-spring,不存在合适的拓展点,可以实现 Consumer 消费前,读取 Header 中的 tenant-id 设置到 {@link TenantContextHolder} 中
|
||||||
* TODO 芋艿:持续跟进,看看有没新的拓展点
|
* TODO 鹭鹭:持续跟进,看看有没新的拓展点
|
||||||
*
|
*
|
||||||
* @author Rossen Stoyanchev
|
* @author Rossen Stoyanchev
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import org.springframework.context.annotation.Bean;
|
|||||||
@ConditionalOnProperty(prefix = "lyzsys.tracer", value = "enable", matchIfMissing = true)
|
@ConditionalOnProperty(prefix = "lyzsys.tracer", value = "enable", matchIfMissing = true)
|
||||||
public class LyzsysTracerAutoConfiguration {
|
public class LyzsysTracerAutoConfiguration {
|
||||||
|
|
||||||
// TODO @芋艿:skywalking 不兼容最新的 opentracing 版本。同时,opentracing 也停止了维护,尬住了!后续换 opentelemetry 即可!
|
// TODO @鹭鹭:skywalking 不兼容最新的 opentracing 版本。同时,opentracing 也停止了维护,尬住了!后续换 opentelemetry 即可!
|
||||||
// @Bean
|
// @Bean
|
||||||
// public BizTraceAspect bizTracingAop() {
|
// public BizTraceAspect bizTracingAop() {
|
||||||
// return new BizTraceAspect(tracer());
|
// return new BizTraceAspect(tracer());
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public abstract class AbstractRedisStreamMessageListener<T extends AbstractRedis
|
|||||||
this.onMessage(messageObj);
|
this.onMessage(messageObj);
|
||||||
// ack 消息消费完成
|
// ack 消息消费完成
|
||||||
redisMQTemplate.getRedisTemplate().opsForStream().acknowledge(group, message);
|
redisMQTemplate.getRedisTemplate().opsForStream().acknowledge(group, message);
|
||||||
// TODO 芋艿:需要额外考虑以下几个点:
|
// TODO 鹭鹭:需要额外考虑以下几个点:
|
||||||
// 1. 处理异常的情况
|
// 1. 处理异常的情况
|
||||||
// 2. 发送日志;以及事务的结合
|
// 2. 发送日志;以及事务的结合
|
||||||
// 3. 消费日志;以及通用的幂等性
|
// 3. 消费日志;以及通用的幂等性
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class IdTypeEnvironmentPostProcessor implements EnvironmentPostProcessor
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 设置 Quartz JobStore 对应的 Driver
|
// 设置 Quartz JobStore 对应的 Driver
|
||||||
// TODO 芋艿:暂时没有找到特别合适的地方,先放在这里
|
// TODO 鹭鹭:暂时没有找到特别合适的地方,先放在这里
|
||||||
setJobStoreDriverIfPresent(environment, dbType);
|
setJobStoreDriverIfPresent(environment, dbType);
|
||||||
|
|
||||||
// 如果非 NONE,则不进行处理
|
// 如果非 NONE,则不进行处理
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ public class QueryWrapperX<T> extends QueryWrapper<T> {
|
|||||||
/**
|
/**
|
||||||
* 设置只返回最后一条
|
* 设置只返回最后一条
|
||||||
*
|
*
|
||||||
* TODO 芋艿:不是完美解,需要在思考下。如果使用多数据源,并且数据源是多种类型时,可能会存在问题:实现之返回一条的语法不同
|
* TODO 鹭鹭:不是完美解,需要在思考下。如果使用多数据源,并且数据源是多种类型时,可能会存在问题:实现之返回一条的语法不同
|
||||||
*
|
*
|
||||||
* @return this
|
* @return this
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public class DesensitizeTest {
|
|||||||
DesensitizeDemo d = JsonUtils.parseObject(JsonUtils.toJsonString(desensitizeDemo), DesensitizeDemo.class);
|
DesensitizeDemo d = JsonUtils.parseObject(JsonUtils.toJsonString(desensitizeDemo), DesensitizeDemo.class);
|
||||||
// 断言
|
// 断言
|
||||||
assertNotNull(d);
|
assertNotNull(d);
|
||||||
assertEquals("芋***", d.getNickname());
|
assertEquals("l****", d.getNickname());
|
||||||
assertEquals("998800********31", d.getBankCard());
|
assertEquals("998800********31", d.getBankCard());
|
||||||
assertEquals("粤A6***6", d.getCarLicense());
|
assertEquals("粤A6***6", d.getCarLicense());
|
||||||
assertEquals("0108*****22", d.getFixedPhone());
|
assertEquals("0108*****22", d.getFixedPhone());
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import static cn.iocoder.lyzsys.framework.common.util.date.DateUtils.FORMAT_YEAR
|
|||||||
@Data
|
@Data
|
||||||
public class Demo02CategoryListReqVO {
|
public class Demo02CategoryListReqVO {
|
||||||
|
|
||||||
@Schema(description = "名字", example = "芋艿")
|
@Schema(description = "名字", example = "鹭鹭")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "父级编号", example = "6080")
|
@Schema(description = "父级编号", example = "6080")
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class Demo02CategoryRespVO {
|
|||||||
@ExcelProperty("编号")
|
@ExcelProperty("编号")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@ExcelProperty("名字")
|
@ExcelProperty("名字")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ public class Demo02CategorySaveReqVO {
|
|||||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10304")
|
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10304")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@NotEmpty(message = "名字不能为空")
|
@NotEmpty(message = "名字不能为空")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import static cn.iocoder.lyzsys.framework.common.util.date.DateUtils.FORMAT_YEAR
|
|||||||
@Data
|
@Data
|
||||||
public class Demo03StudentErpPageReqVO extends PageParam {
|
public class Demo03StudentErpPageReqVO extends PageParam {
|
||||||
|
|
||||||
@Schema(description = "名字", example = "芋艿")
|
@Schema(description = "名字", example = "鹭鹭")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "性别")
|
@Schema(description = "性别")
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class Demo03StudentErpRespVO {
|
|||||||
@ExcelProperty("编号")
|
@ExcelProperty("编号")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@ExcelProperty("名字")
|
@ExcelProperty("名字")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ public class Demo03StudentErpSaveReqVO {
|
|||||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "8525")
|
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "8525")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@NotEmpty(message = "名字不能为空")
|
@NotEmpty(message = "名字不能为空")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import static cn.iocoder.lyzsys.framework.common.util.date.DateUtils.FORMAT_YEAR
|
|||||||
@Data
|
@Data
|
||||||
public class Demo03StudentInnerPageReqVO extends PageParam {
|
public class Demo03StudentInnerPageReqVO extends PageParam {
|
||||||
|
|
||||||
@Schema(description = "名字", example = "芋艿")
|
@Schema(description = "名字", example = "鹭鹭")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "性别")
|
@Schema(description = "性别")
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class Demo03StudentInnerRespVO {
|
|||||||
@ExcelProperty("编号")
|
@ExcelProperty("编号")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@ExcelProperty("名字")
|
@ExcelProperty("名字")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class Demo03StudentInnerSaveReqVO {
|
|||||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "8525")
|
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "8525")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@NotEmpty(message = "名字不能为空")
|
@NotEmpty(message = "名字不能为空")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import static cn.iocoder.lyzsys.framework.common.util.date.DateUtils.FORMAT_YEAR
|
|||||||
@Data
|
@Data
|
||||||
public class Demo03StudentNormalPageReqVO extends PageParam {
|
public class Demo03StudentNormalPageReqVO extends PageParam {
|
||||||
|
|
||||||
@Schema(description = "名字", example = "芋艿")
|
@Schema(description = "名字", example = "鹭鹭")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "性别")
|
@Schema(description = "性别")
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class Demo03StudentNormalRespVO {
|
|||||||
@ExcelProperty("编号")
|
@ExcelProperty("编号")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@ExcelProperty("名字")
|
@ExcelProperty("名字")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class Demo03StudentNormalSaveReqVO {
|
|||||||
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "8525")
|
@Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "8525")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "名字", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@NotEmpty(message = "名字不能为空")
|
@NotEmpty(message = "名字不能为空")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ public class CodegenBuilder {
|
|||||||
}
|
}
|
||||||
// name
|
// name
|
||||||
if (StrUtil.endWithIgnoreCase(column.getJavaField(), "name")) {
|
if (StrUtil.endWithIgnoreCase(column.getJavaField(), "name")) {
|
||||||
column.setExample(randomEle(new String[]{"张三", "李四", "王五", "赵六", "芋艿"}));
|
column.setExample(randomEle(new String[]{"张三", "李四", "王五", "赵六", "鹭鹭"}));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// status
|
// status
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
|
|||||||
TableInfo tableInfo = mock(TableInfo.class);
|
TableInfo tableInfo = mock(TableInfo.class);
|
||||||
when(databaseTableService.getTable(eq(1L), eq("t_yunai")))
|
when(databaseTableService.getTable(eq(1L), eq("t_yunai")))
|
||||||
.thenReturn(tableInfo);
|
.thenReturn(tableInfo);
|
||||||
when(tableInfo.getComment()).thenReturn("芋艿");
|
when(tableInfo.getComment()).thenReturn("鹭鹭");
|
||||||
// mock 方法(TableInfo fields)
|
// mock 方法(TableInfo fields)
|
||||||
TableField field01 = mock(TableField.class);
|
TableField field01 = mock(TableField.class);
|
||||||
when(field01.getComment()).thenReturn("主键");
|
when(field01.getComment()).thenReturn("主键");
|
||||||
@@ -134,7 +134,7 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
|
|||||||
assertServiceException(() -> codegenService.validateTableInfo(tableInfo),
|
assertServiceException(() -> codegenService.validateTableInfo(tableInfo),
|
||||||
CODEGEN_TABLE_INFO_TABLE_COMMENT_IS_NULL);
|
CODEGEN_TABLE_INFO_TABLE_COMMENT_IS_NULL);
|
||||||
// 情况三
|
// 情况三
|
||||||
when(tableInfo.getComment()).thenReturn("芋艿");
|
when(tableInfo.getComment()).thenReturn("鹭鹭");
|
||||||
assertServiceException(() -> codegenService.validateTableInfo(tableInfo),
|
assertServiceException(() -> codegenService.validateTableInfo(tableInfo),
|
||||||
CODEGEN_IMPORT_COLUMNS_NULL);
|
CODEGEN_IMPORT_COLUMNS_NULL);
|
||||||
// 情况四
|
// 情况四
|
||||||
@@ -247,7 +247,7 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
|
|||||||
TableInfo tableInfo = mock(TableInfo.class);
|
TableInfo tableInfo = mock(TableInfo.class);
|
||||||
when(databaseTableService.getTable(eq(1L), eq("t_yunai")))
|
when(databaseTableService.getTable(eq(1L), eq("t_yunai")))
|
||||||
.thenReturn(tableInfo);
|
.thenReturn(tableInfo);
|
||||||
when(tableInfo.getComment()).thenReturn("芋艿");
|
when(tableInfo.getComment()).thenReturn("鹭鹭");
|
||||||
// mock 方法(TableInfo fields)
|
// mock 方法(TableInfo fields)
|
||||||
TableField field01 = mock(TableField.class);
|
TableField field01 = mock(TableField.class);
|
||||||
when(field01.getComment()).thenReturn("主键");
|
when(field01.getComment()).thenReturn("主键");
|
||||||
@@ -322,7 +322,7 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
|
|||||||
// mock 数据
|
// mock 数据
|
||||||
CodegenTableDO tableDO = randomPojo(CodegenTableDO.class, o -> {
|
CodegenTableDO tableDO = randomPojo(CodegenTableDO.class, o -> {
|
||||||
o.setTableName("t_yunai");
|
o.setTableName("t_yunai");
|
||||||
o.setTableComment("芋艿");
|
o.setTableComment("鹭鹭");
|
||||||
o.setClassName("SystemYunai");
|
o.setClassName("SystemYunai");
|
||||||
o.setCreateTime(buildTime(2021, 3, 10));
|
o.setCreateTime(buildTime(2021, 3, 10));
|
||||||
}).setScene(CodegenSceneEnum.ADMIN.getScene());
|
}).setScene(CodegenSceneEnum.ADMIN.getScene());
|
||||||
@@ -338,7 +338,7 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
|
|||||||
// 准备参数
|
// 准备参数
|
||||||
CodegenTablePageReqVO reqVO = new CodegenTablePageReqVO();
|
CodegenTablePageReqVO reqVO = new CodegenTablePageReqVO();
|
||||||
reqVO.setTableName("yunai");
|
reqVO.setTableName("yunai");
|
||||||
reqVO.setTableComment("芋");
|
reqVO.setTableComment("鹭");
|
||||||
reqVO.setClassName("Yunai");
|
reqVO.setClassName("Yunai");
|
||||||
reqVO.setCreateTime(buildBetweenTime(2021, 3, 1, 2021, 3, 31));
|
reqVO.setCreateTime(buildBetweenTime(2021, 3, 1, 2021, 3, 31));
|
||||||
|
|
||||||
@@ -539,10 +539,10 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
|
|||||||
// mock 方法
|
// mock 方法
|
||||||
TableInfo tableInfo01 = mock(TableInfo.class);
|
TableInfo tableInfo01 = mock(TableInfo.class);
|
||||||
when(tableInfo01.getName()).thenReturn("t_yunai");
|
when(tableInfo01.getName()).thenReturn("t_yunai");
|
||||||
when(tableInfo01.getComment()).thenReturn("芋艿");
|
when(tableInfo01.getComment()).thenReturn("鹭鹭");
|
||||||
TableInfo tableInfo02 = mock(TableInfo.class);
|
TableInfo tableInfo02 = mock(TableInfo.class);
|
||||||
when(tableInfo02.getName()).thenReturn("t_yunai_02");
|
when(tableInfo02.getName()).thenReturn("t_yunai_02");
|
||||||
when(tableInfo02.getComment()).thenReturn("芋艿_02");
|
when(tableInfo02.getComment()).thenReturn("鹭鹭_02");
|
||||||
when(databaseTableService.getTableList(eq(dataSourceConfigId), eq(name), eq(comment)))
|
when(databaseTableService.getTableList(eq(dataSourceConfigId), eq(name), eq(comment)))
|
||||||
.thenReturn(ListUtil.toList(tableInfo01, tableInfo02));
|
.thenReturn(ListUtil.toList(tableInfo01, tableInfo02));
|
||||||
// mock 数据
|
// mock 数据
|
||||||
@@ -557,7 +557,7 @@ public class CodegenServiceImplTest extends BaseDbUnitTest {
|
|||||||
// 断言
|
// 断言
|
||||||
assertEquals(1, result.size());
|
assertEquals(1, result.size());
|
||||||
assertEquals("t_yunai", result.get(0).getName());
|
assertEquals("t_yunai", result.get(0).getName());
|
||||||
assertEquals("芋艿", result.get(0).getComment());
|
assertEquals("鹭鹭", result.get(0).getComment());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ public class ConfigServiceImplTest extends BaseDbUnitTest {
|
|||||||
public void testGetConfigPage() {
|
public void testGetConfigPage() {
|
||||||
// mock 数据
|
// mock 数据
|
||||||
ConfigDO dbConfig = randomConfigDO(o -> { // 等会查询到
|
ConfigDO dbConfig = randomConfigDO(o -> { // 等会查询到
|
||||||
o.setName("芋艿");
|
o.setName("鹭鹭");
|
||||||
o.setConfigKey("yunai");
|
o.setConfigKey("yunai");
|
||||||
o.setType(ConfigTypeEnum.SYSTEM.getType());
|
o.setType(ConfigTypeEnum.SYSTEM.getType());
|
||||||
o.setCreateTime(buildTime(2021, 2, 1));
|
o.setCreateTime(buildTime(2021, 2, 1));
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ public class JobLogServiceImplTest extends BaseDbUnitTest {
|
|||||||
assertEquals(1, count);
|
assertEquals(1, count);
|
||||||
List<JobLogDO> logs = jobLogMapper.selectList();
|
List<JobLogDO> logs = jobLogMapper.selectList();
|
||||||
assertEquals(1, logs.size());
|
assertEquals(1, logs.size());
|
||||||
// TODO @芋艿:createTime updateTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:createTime updateTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(log02, logs.get(0), "createTime", "updateTime");
|
assertPojoEquals(log02, logs.get(0), "createTime", "updateTime");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ public class ApiAccessLogServiceImplTest extends BaseDbUnitTest {
|
|||||||
assertEquals(1, count);
|
assertEquals(1, count);
|
||||||
List<ApiAccessLogDO> logs = apiAccessLogMapper.selectList();
|
List<ApiAccessLogDO> logs = apiAccessLogMapper.selectList();
|
||||||
assertEquals(1, logs.size());
|
assertEquals(1, logs.size());
|
||||||
// TODO @芋艿:createTime updateTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:createTime updateTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(log02, logs.get(0), "createTime", "updateTime");
|
assertPojoEquals(log02, logs.get(0), "createTime", "updateTime");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -157,7 +157,7 @@ public class ApiErrorLogServiceImplTest extends BaseDbUnitTest {
|
|||||||
assertEquals(1, count);
|
assertEquals(1, count);
|
||||||
List<ApiErrorLogDO> logs = apiErrorLogMapper.selectList();
|
List<ApiErrorLogDO> logs = apiErrorLogMapper.selectList();
|
||||||
assertEquals(1, logs.size());
|
assertEquals(1, logs.size());
|
||||||
// TODO @芋艿:createTime updateTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:createTime updateTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(log02, logs.get(0), "createTime", "updateTime");
|
assertPojoEquals(log02, logs.get(0), "createTime", "updateTime");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class AuthRegisterReqVO extends CaptchaVerificationReqVO {
|
|||||||
@Size(min = 4, max = 30, message = "用户账号长度为 4-30 个字符")
|
@Size(min = 4, max = 30, message = "用户账号长度为 4-30 个字符")
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@NotBlank(message = "用户昵称不能为空")
|
@NotBlank(message = "用户昵称不能为空")
|
||||||
@Size(max = 30, message = "用户昵称长度不能超过 30 个字符")
|
@Size(max = 30, message = "用户昵称长度不能超过 30 个字符")
|
||||||
private String nickname;
|
private String nickname;
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ public class OperateLogRespVO implements VO {
|
|||||||
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
||||||
@Trans(type = TransType.SIMPLE, target = AdminUserDO.class, fields = "nickname", ref = "userName")
|
@Trans(type = TransType.SIMPLE, target = AdminUserDO.class, fields = "nickname", ref = "userName")
|
||||||
private Long userId;
|
private Long userId;
|
||||||
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@ExcelProperty("操作人")
|
@ExcelProperty("操作人")
|
||||||
private String userName;
|
private String userName;
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class NotifyMessageRespVO {
|
|||||||
@Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01")
|
@Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "test_01")
|
||||||
private String templateCode;
|
private String templateCode;
|
||||||
|
|
||||||
@Schema(description = "模版发送人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "模版发送人名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
private String templateNickname;
|
private String templateNickname;
|
||||||
|
|
||||||
@Schema(description = "模版内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试内容")
|
@Schema(description = "模版内容", requiredMode = Schema.RequiredMode.REQUIRED, example = "测试内容")
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class OAuth2UserInfoRespVO {
|
|||||||
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "lyz")
|
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "lyz")
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import javax.validation.constraints.Size;
|
|||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class OAuth2UserUpdateReqVO {
|
public class OAuth2UserUpdateReqVO {
|
||||||
|
|
||||||
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@Size(max = 30, message = "用户昵称长度不能超过 30 个字符")
|
@Size(max = 30, message = "用户昵称长度不能超过 30 个字符")
|
||||||
private String nickname;
|
private String nickname;
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ public class SocialUserRespVO {
|
|||||||
@Schema(description = "原始 Token 数据,一般是 JSON 格式", requiredMode = Schema.RequiredMode.REQUIRED, example = "{}")
|
@Schema(description = "原始 Token 数据,一般是 JSON 格式", requiredMode = Schema.RequiredMode.REQUIRED, example = "{}")
|
||||||
private String rawTokenInfo;
|
private String rawTokenInfo;
|
||||||
|
|
||||||
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
private String nickname;
|
private String nickname;
|
||||||
|
|
||||||
@Schema(description = "用户头像", example = "https://www.iocoder.cn/xxx.png")
|
@Schema(description = "用户头像", example = "https://www.iocoder.cn/xxx.png")
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ public class TenantPageReqVO extends PageParam {
|
|||||||
@Schema(description = "租户名", example = "lyz")
|
@Schema(description = "租户名", example = "lyz")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "联系人", example = "芋艿")
|
@Schema(description = "联系人", example = "鹭鹭")
|
||||||
private String contactName;
|
private String contactName;
|
||||||
|
|
||||||
@Schema(description = "联系手机", example = "15601691300")
|
@Schema(description = "联系手机", example = "15601691300")
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ public class TenantRespVO {
|
|||||||
@ExcelProperty("租户名")
|
@ExcelProperty("租户名")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@ExcelProperty("联系人")
|
@ExcelProperty("联系人")
|
||||||
private String contactName;
|
private String contactName;
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ public class TenantSaveReqVO {
|
|||||||
@NotNull(message = "租户名不能为空")
|
@NotNull(message = "租户名不能为空")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@NotNull(message = "联系人不能为空")
|
@NotNull(message = "联系人不能为空")
|
||||||
private String contactName;
|
private String contactName;
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ public class UserProfileRespVO {
|
|||||||
@Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "lyzsys")
|
@Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED, example = "lyzsys")
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
private String nickname;
|
private String nickname;
|
||||||
|
|
||||||
@Schema(description = "用户邮箱", example = "lyzsys@iocoder.cn")
|
@Schema(description = "用户邮箱", example = "lyzsys@iocoder.cn")
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import javax.validation.constraints.Size;
|
|||||||
@Data
|
@Data
|
||||||
public class UserProfileUpdateReqVO {
|
public class UserProfileUpdateReqVO {
|
||||||
|
|
||||||
@Schema(description = "用户昵称", example = "芋艿")
|
@Schema(description = "用户昵称", example = "鹭鹭")
|
||||||
@Size(max = 30, message = "用户昵称长度不能超过 30 个字符")
|
@Size(max = 30, message = "用户昵称长度不能超过 30 个字符")
|
||||||
private String nickname;
|
private String nickname;
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ public class UserRespVO{
|
|||||||
@ExcelProperty("用户名称")
|
@ExcelProperty("用户名称")
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@ExcelProperty("用户昵称")
|
@ExcelProperty("用户昵称")
|
||||||
private String nickname;
|
private String nickname;
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class UserSaveReqVO {
|
|||||||
@DiffLogField(name = "用户账号")
|
@DiffLogField(name = "用户账号")
|
||||||
private String username;
|
private String username;
|
||||||
|
|
||||||
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "鹭鹭")
|
||||||
@Size(max = 30, message = "用户昵称长度不能超过30个字符")
|
@Size(max = 30, message = "用户昵称长度不能超过30个字符")
|
||||||
@DiffLogField(name = "用户昵称")
|
@DiffLogField(name = "用户昵称")
|
||||||
private String nickname;
|
private String nickname;
|
||||||
|
|||||||
@@ -10,14 +10,14 @@ import org.springframework.context.annotation.Configuration;
|
|||||||
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* JustAuth 配置类 TODO 芋艿:等 justauth 1.4.1 版本发布!!!
|
* JustAuth 配置类 TODO 鹭鹭:等 justauth 1.4.1 版本发布!!!
|
||||||
*
|
*
|
||||||
* @author lyz源码
|
* @author lyz源码
|
||||||
*/
|
*/
|
||||||
@Configuration(proxyBeanMethods = false)
|
@Configuration(proxyBeanMethods = false)
|
||||||
public class LyzsysJustAuthConfiguration {
|
public class LyzsysJustAuthConfiguration {
|
||||||
|
|
||||||
@Bean(name = "authRequestFactory2") // TODO @芋艿:等 justauth1.4.1 发布,可以去掉
|
@Bean(name = "authRequestFactory2") // TODO @鹭鹭:等 justauth1.4.1 发布,可以去掉
|
||||||
@ConditionalOnProperty(
|
@ConditionalOnProperty(
|
||||||
prefix = "justauth",
|
prefix = "justauth",
|
||||||
value = {"enabled"},
|
value = {"enabled"},
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
// TODO @芋艿:等官方发布 1.4.1!!!
|
// TODO @鹭鹭:等官方发布 1.4.1!!!
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* AuthRequest工厂类
|
* AuthRequest工厂类
|
||||||
|
|||||||
@@ -62,8 +62,8 @@ public class SmsCodeServiceImpl implements SmsCodeService {
|
|||||||
lastSmsCode.getTodayIndex() >= smsCodeProperties.getSendMaximumQuantityPerDay()) { // 超过当天发送的上限。
|
lastSmsCode.getTodayIndex() >= smsCodeProperties.getSendMaximumQuantityPerDay()) { // 超过当天发送的上限。
|
||||||
throw exception(SMS_CODE_EXCEED_SEND_MAXIMUM_QUANTITY_PER_DAY);
|
throw exception(SMS_CODE_EXCEED_SEND_MAXIMUM_QUANTITY_PER_DAY);
|
||||||
}
|
}
|
||||||
// TODO 芋艿:提升,每个 IP 每天可发送数量
|
// TODO 鹭鹭:提升,每个 IP 每天可发送数量
|
||||||
// TODO 芋艿:提升,每个 IP 每小时可发送数量
|
// TODO 鹭鹭:提升,每个 IP 每小时可发送数量
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建验证码记录
|
// 创建验证码记录
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public class DictDataServiceImplTest extends BaseDbUnitTest {
|
|||||||
public void testGetDictDataPage() {
|
public void testGetDictDataPage() {
|
||||||
// mock 数据
|
// mock 数据
|
||||||
DictDataDO dbDictData = randomPojo(DictDataDO.class, o -> { // 等会查询到
|
DictDataDO dbDictData = randomPojo(DictDataDO.class, o -> { // 等会查询到
|
||||||
o.setLabel("芋艿");
|
o.setLabel("鹭鹭");
|
||||||
o.setDictType("yunai");
|
o.setDictType("yunai");
|
||||||
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||||
});
|
});
|
||||||
@@ -82,7 +82,7 @@ public class DictDataServiceImplTest extends BaseDbUnitTest {
|
|||||||
dictDataMapper.insert(cloneIgnoreId(dbDictData, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
dictDataMapper.insert(cloneIgnoreId(dbDictData, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
||||||
// 准备参数
|
// 准备参数
|
||||||
DictDataPageReqVO reqVO = new DictDataPageReqVO();
|
DictDataPageReqVO reqVO = new DictDataPageReqVO();
|
||||||
reqVO.setLabel("芋");
|
reqVO.setLabel("鹭");
|
||||||
reqVO.setDictType("yunai");
|
reqVO.setDictType("yunai");
|
||||||
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public class DictTypeServiceImplTest extends BaseDbUnitTest {
|
|||||||
// mock 数据
|
// mock 数据
|
||||||
DictTypeDO dbDictType = randomPojo(DictTypeDO.class, o -> { // 等会查询到
|
DictTypeDO dbDictType = randomPojo(DictTypeDO.class, o -> { // 等会查询到
|
||||||
o.setName("yunai");
|
o.setName("yunai");
|
||||||
o.setType("芋艿");
|
o.setType("鹭鹭");
|
||||||
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||||
o.setCreateTime(buildTime(2021, 1, 15));
|
o.setCreateTime(buildTime(2021, 1, 15));
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ public class MailSendServiceImplTest extends BaseMockitoUnitTest {
|
|||||||
public void testDoSendMail_success() {
|
public void testDoSendMail_success() {
|
||||||
try (final MockedStatic<MailUtil> mailUtilMock = mockStatic(MailUtil.class)) {
|
try (final MockedStatic<MailUtil> mailUtilMock = mockStatic(MailUtil.class)) {
|
||||||
// 准备参数
|
// 准备参数
|
||||||
MailSendMessage message = randomPojo(MailSendMessage.class, o -> o.setNickname("芋艿"));
|
MailSendMessage message = randomPojo(MailSendMessage.class, o -> o.setNickname("鹭鹭"));
|
||||||
// mock 方法(获得邮箱账号)
|
// mock 方法(获得邮箱账号)
|
||||||
MailAccountDO account = randomPojo(MailAccountDO.class, o -> o.setMail("7685@qq.com"));
|
MailAccountDO account = randomPojo(MailAccountDO.class, o -> o.setMail("7685@qq.com"));
|
||||||
when(mailAccountService.getMailAccountFromCache(eq(message.getAccountId())))
|
when(mailAccountService.getMailAccountFromCache(eq(message.getAccountId())))
|
||||||
@@ -281,7 +281,7 @@ public class MailSendServiceImplTest extends BaseMockitoUnitTest {
|
|||||||
String messageId = randomString();
|
String messageId = randomString();
|
||||||
mailUtilMock.when(() -> MailUtil.send(
|
mailUtilMock.when(() -> MailUtil.send(
|
||||||
argThat(mailAccount -> {
|
argThat(mailAccount -> {
|
||||||
assertEquals("芋艿 <7685@qq.com>", mailAccount.getFrom());
|
assertEquals("鹭鹭 <7685@qq.com>", mailAccount.getFrom());
|
||||||
assertTrue(mailAccount.isAuth());
|
assertTrue(mailAccount.isAuth());
|
||||||
assertEquals(account.getUsername(), mailAccount.getUser());
|
assertEquals(account.getUsername(), mailAccount.getUser());
|
||||||
assertArrayEquals(account.getPassword().toCharArray(), mailAccount.getPass().toCharArray());
|
assertArrayEquals(account.getPassword().toCharArray(), mailAccount.getPass().toCharArray());
|
||||||
@@ -304,7 +304,7 @@ public class MailSendServiceImplTest extends BaseMockitoUnitTest {
|
|||||||
public void testDoSendMail_exception() {
|
public void testDoSendMail_exception() {
|
||||||
try (MockedStatic<MailUtil> mailUtilMock = mockStatic(MailUtil.class)) {
|
try (MockedStatic<MailUtil> mailUtilMock = mockStatic(MailUtil.class)) {
|
||||||
// 准备参数
|
// 准备参数
|
||||||
MailSendMessage message = randomPojo(MailSendMessage.class, o -> o.setNickname("芋艿"));
|
MailSendMessage message = randomPojo(MailSendMessage.class, o -> o.setNickname("鹭鹭"));
|
||||||
// mock 方法(获得邮箱账号)
|
// mock 方法(获得邮箱账号)
|
||||||
MailAccountDO account = randomPojo(MailAccountDO.class, o -> o.setMail("7685@qq.com"));
|
MailAccountDO account = randomPojo(MailAccountDO.class, o -> o.setMail("7685@qq.com"));
|
||||||
when(mailAccountService.getMailAccountFromCache(eq(message.getAccountId())))
|
when(mailAccountService.getMailAccountFromCache(eq(message.getAccountId())))
|
||||||
@@ -313,7 +313,7 @@ public class MailSendServiceImplTest extends BaseMockitoUnitTest {
|
|||||||
// mock 方法(发送邮件)
|
// mock 方法(发送邮件)
|
||||||
Exception e = new NullPointerException("啦啦啦");
|
Exception e = new NullPointerException("啦啦啦");
|
||||||
mailUtilMock.when(() -> MailUtil.send(argThat(mailAccount -> {
|
mailUtilMock.when(() -> MailUtil.send(argThat(mailAccount -> {
|
||||||
assertEquals("芋艿 <7685@qq.com>", mailAccount.getFrom());
|
assertEquals("鹭鹭 <7685@qq.com>", mailAccount.getFrom());
|
||||||
assertTrue(mailAccount.isAuth());
|
assertTrue(mailAccount.isAuth());
|
||||||
assertEquals(account.getUsername(), mailAccount.getUser());
|
assertEquals(account.getUsername(), mailAccount.getUser());
|
||||||
assertArrayEquals(account.getPassword().toCharArray(), mailAccount.getPass().toCharArray());
|
assertArrayEquals(account.getPassword().toCharArray(), mailAccount.getPass().toCharArray());
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ public class OAuth2ApproveServiceImplTest extends BaseDbUnitTest {
|
|||||||
List<OAuth2ApproveDO> result = oauth2ApproveService.getApproveList(userId, userType, clientId);
|
List<OAuth2ApproveDO> result = oauth2ApproveService.getApproveList(userId, userType, clientId);
|
||||||
// 断言
|
// 断言
|
||||||
assertEquals(1, result.size());
|
assertEquals(1, result.size());
|
||||||
// TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(approve, result.get(0), "expiresTime");
|
assertPojoEquals(approve, result.get(0), "expiresTime");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ class OAuth2CodeServiceImplTest extends BaseDbUnitTest {
|
|||||||
scopes, redirectUri, state);
|
scopes, redirectUri, state);
|
||||||
// 断言
|
// 断言
|
||||||
OAuth2CodeDO dbCodeDO = oauth2CodeMapper.selectByCode(codeDO.getCode());
|
OAuth2CodeDO dbCodeDO = oauth2CodeMapper.selectByCode(codeDO.getCode());
|
||||||
// TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(codeDO, dbCodeDO, "expiresTime", "createTime", "updateTime", "deleted");
|
assertPojoEquals(codeDO, dbCodeDO, "expiresTime", "createTime", "updateTime", "deleted");
|
||||||
assertEquals(userId, codeDO.getUserId());
|
assertEquals(userId, codeDO.getUserId());
|
||||||
assertEquals(userType, codeDO.getUserType());
|
assertEquals(userType, codeDO.getUserType());
|
||||||
@@ -93,7 +93,7 @@ class OAuth2CodeServiceImplTest extends BaseDbUnitTest {
|
|||||||
|
|
||||||
// 调用
|
// 调用
|
||||||
OAuth2CodeDO result = oauth2CodeService.consumeAuthorizationCode(code);
|
OAuth2CodeDO result = oauth2CodeService.consumeAuthorizationCode(code);
|
||||||
// TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(codeDO, result, "expiresTime");
|
assertPojoEquals(codeDO, result, "expiresTime");
|
||||||
assertNull(oauth2CodeMapper.selectByCode(code));
|
assertNull(oauth2CodeMapper.selectByCode(code));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
|
|||||||
OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.createAccessToken(userId, userType, clientId, scopes);
|
OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.createAccessToken(userId, userType, clientId, scopes);
|
||||||
// 断言访问令牌
|
// 断言访问令牌
|
||||||
OAuth2AccessTokenDO dbAccessTokenDO = oauth2AccessTokenMapper.selectByAccessToken(accessTokenDO.getAccessToken());
|
OAuth2AccessTokenDO dbAccessTokenDO = oauth2AccessTokenMapper.selectByAccessToken(accessTokenDO.getAccessToken());
|
||||||
// TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(accessTokenDO, dbAccessTokenDO, "expiresTime", "createTime", "updateTime", "deleted");
|
assertPojoEquals(accessTokenDO, dbAccessTokenDO, "expiresTime", "createTime", "updateTime", "deleted");
|
||||||
assertEquals(userId, accessTokenDO.getUserId());
|
assertEquals(userId, accessTokenDO.getUserId());
|
||||||
assertEquals(userType, accessTokenDO.getUserType());
|
assertEquals(userType, accessTokenDO.getUserType());
|
||||||
@@ -89,7 +89,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
|
|||||||
assertFalse(DateUtils.isExpired(accessTokenDO.getExpiresTime()));
|
assertFalse(DateUtils.isExpired(accessTokenDO.getExpiresTime()));
|
||||||
// 断言访问令牌的缓存
|
// 断言访问令牌的缓存
|
||||||
OAuth2AccessTokenDO redisAccessTokenDO = oauth2AccessTokenRedisDAO.get(accessTokenDO.getAccessToken());
|
OAuth2AccessTokenDO redisAccessTokenDO = oauth2AccessTokenRedisDAO.get(accessTokenDO.getAccessToken());
|
||||||
// TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(accessTokenDO, redisAccessTokenDO, "expiresTime", "createTime", "updateTime", "deleted");
|
assertPojoEquals(accessTokenDO, redisAccessTokenDO, "expiresTime", "createTime", "updateTime", "deleted");
|
||||||
// 断言刷新令牌
|
// 断言刷新令牌
|
||||||
OAuth2RefreshTokenDO refreshTokenDO = oauth2RefreshTokenMapper.selectList().get(0);
|
OAuth2RefreshTokenDO refreshTokenDO = oauth2RefreshTokenMapper.selectList().get(0);
|
||||||
@@ -180,14 +180,14 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
|
|||||||
assertNull(oauth2AccessTokenRedisDAO.get(accessTokenDO.getAccessToken()));
|
assertNull(oauth2AccessTokenRedisDAO.get(accessTokenDO.getAccessToken()));
|
||||||
// 断言,新的访问令牌
|
// 断言,新的访问令牌
|
||||||
OAuth2AccessTokenDO dbAccessTokenDO = oauth2AccessTokenMapper.selectByAccessToken(newAccessTokenDO.getAccessToken());
|
OAuth2AccessTokenDO dbAccessTokenDO = oauth2AccessTokenMapper.selectByAccessToken(newAccessTokenDO.getAccessToken());
|
||||||
// TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(newAccessTokenDO, dbAccessTokenDO, "expiresTime", "createTime", "updateTime", "deleted");
|
assertPojoEquals(newAccessTokenDO, dbAccessTokenDO, "expiresTime", "createTime", "updateTime", "deleted");
|
||||||
assertPojoEquals(newAccessTokenDO, refreshTokenDO, "id", "expiresTime", "createTime", "updateTime", "deleted",
|
assertPojoEquals(newAccessTokenDO, refreshTokenDO, "id", "expiresTime", "createTime", "updateTime", "deleted",
|
||||||
"creator", "updater");
|
"creator", "updater");
|
||||||
assertFalse(DateUtils.isExpired(newAccessTokenDO.getExpiresTime()));
|
assertFalse(DateUtils.isExpired(newAccessTokenDO.getExpiresTime()));
|
||||||
// 断言,新的访问令牌的缓存
|
// 断言,新的访问令牌的缓存
|
||||||
OAuth2AccessTokenDO redisAccessTokenDO = oauth2AccessTokenRedisDAO.get(newAccessTokenDO.getAccessToken());
|
OAuth2AccessTokenDO redisAccessTokenDO = oauth2AccessTokenRedisDAO.get(newAccessTokenDO.getAccessToken());
|
||||||
// TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(newAccessTokenDO, redisAccessTokenDO, "expiresTime", "createTime", "updateTime", "deleted");
|
assertPojoEquals(newAccessTokenDO, redisAccessTokenDO, "expiresTime", "createTime", "updateTime", "deleted");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,10 +203,10 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
|
|||||||
// 调用
|
// 调用
|
||||||
OAuth2AccessTokenDO result = oauth2TokenService.getAccessToken(accessToken);
|
OAuth2AccessTokenDO result = oauth2TokenService.getAccessToken(accessToken);
|
||||||
// 断言
|
// 断言
|
||||||
// TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(accessTokenDO, result, "expiresTime", "createTime", "updateTime", "deleted",
|
assertPojoEquals(accessTokenDO, result, "expiresTime", "createTime", "updateTime", "deleted",
|
||||||
"creator", "updater");
|
"creator", "updater");
|
||||||
// TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(accessTokenDO, oauth2AccessTokenRedisDAO.get(accessToken), "expiresTime", "createTime", "updateTime", "deleted",
|
assertPojoEquals(accessTokenDO, oauth2AccessTokenRedisDAO.get(accessToken), "expiresTime", "createTime", "updateTime", "deleted",
|
||||||
"creator", "updater");
|
"creator", "updater");
|
||||||
}
|
}
|
||||||
@@ -261,7 +261,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
|
|||||||
// 调研,并断言
|
// 调研,并断言
|
||||||
OAuth2AccessTokenDO result = oauth2TokenService.getAccessToken(accessToken);
|
OAuth2AccessTokenDO result = oauth2TokenService.getAccessToken(accessToken);
|
||||||
// 断言
|
// 断言
|
||||||
// TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(accessTokenDO, result, "expiresTime", "createTime", "updateTime", "deleted",
|
assertPojoEquals(accessTokenDO, result, "expiresTime", "createTime", "updateTime", "deleted",
|
||||||
"creator", "updater");
|
"creator", "updater");
|
||||||
}
|
}
|
||||||
@@ -284,7 +284,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
|
|||||||
oauth2RefreshTokenMapper.insert(refreshTokenDO);
|
oauth2RefreshTokenMapper.insert(refreshTokenDO);
|
||||||
// 调用
|
// 调用
|
||||||
OAuth2AccessTokenDO result = oauth2TokenService.removeAccessToken(accessTokenDO.getAccessToken());
|
OAuth2AccessTokenDO result = oauth2TokenService.removeAccessToken(accessTokenDO.getAccessToken());
|
||||||
// TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(accessTokenDO, result, "expiresTime", "createTime", "updateTime", "deleted",
|
assertPojoEquals(accessTokenDO, result, "expiresTime", "createTime", "updateTime", "deleted",
|
||||||
"creator", "updater");
|
"creator", "updater");
|
||||||
// 断言数据
|
// 断言数据
|
||||||
@@ -323,7 +323,7 @@ public class OAuth2TokenServiceImplTest extends BaseDbAndRedisUnitTest {
|
|||||||
// 断言
|
// 断言
|
||||||
assertEquals(1, pageResult.getTotal());
|
assertEquals(1, pageResult.getTotal());
|
||||||
assertEquals(1, pageResult.getList().size());
|
assertEquals(1, pageResult.getList().size());
|
||||||
// TODO @芋艿:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
// TODO @鹭鹭:expiresTime 被屏蔽,仅 win11 会复现,建议后续修复。
|
||||||
assertPojoEquals(dbAccessToken, pageResult.getList().get(0), "expiresTime");
|
assertPojoEquals(dbAccessToken, pageResult.getList().get(0), "expiresTime");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -146,14 +146,14 @@ public class MenuServiceImplTest extends BaseDbUnitTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testGetMenuList() {
|
public void testGetMenuList() {
|
||||||
// mock 数据
|
// mock 数据
|
||||||
MenuDO menuDO = randomPojo(MenuDO.class, o -> o.setName("芋艿").setStatus(CommonStatusEnum.ENABLE.getStatus()));
|
MenuDO menuDO = randomPojo(MenuDO.class, o -> o.setName("鹭鹭").setStatus(CommonStatusEnum.ENABLE.getStatus()));
|
||||||
menuMapper.insert(menuDO);
|
menuMapper.insert(menuDO);
|
||||||
// 测试 status 不匹配
|
// 测试 status 不匹配
|
||||||
menuMapper.insert(cloneIgnoreId(menuDO, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
menuMapper.insert(cloneIgnoreId(menuDO, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())));
|
||||||
// 测试 name 不匹配
|
// 测试 name 不匹配
|
||||||
menuMapper.insert(cloneIgnoreId(menuDO, o -> o.setName("艿")));
|
menuMapper.insert(cloneIgnoreId(menuDO, o -> o.setName("艿")));
|
||||||
// 准备参数
|
// 准备参数
|
||||||
MenuListReqVO reqVO = new MenuListReqVO().setName("芋").setStatus(CommonStatusEnum.ENABLE.getStatus());
|
MenuListReqVO reqVO = new MenuListReqVO().setName("鹭").setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||||
|
|
||||||
// 调用
|
// 调用
|
||||||
List<MenuDO> result = menuService.getMenuList(reqVO);
|
List<MenuDO> result = menuService.getMenuList(reqVO);
|
||||||
|
|||||||
@@ -257,7 +257,7 @@ public class SocialUserServiceImplTest extends BaseDbUnitTest {
|
|||||||
// mock 数据
|
// mock 数据
|
||||||
SocialUserDO dbSocialUser = randomPojo(SocialUserDO.class, o -> { // 等会查询到
|
SocialUserDO dbSocialUser = randomPojo(SocialUserDO.class, o -> { // 等会查询到
|
||||||
o.setType(SocialTypeEnum.GITEE.getType());
|
o.setType(SocialTypeEnum.GITEE.getType());
|
||||||
o.setNickname("芋艿");
|
o.setNickname("鹭鹭");
|
||||||
o.setOpenid("lyzsysyuanma");
|
o.setOpenid("lyzsysyuanma");
|
||||||
o.setCreateTime(buildTime(2020, 1, 15));
|
o.setCreateTime(buildTime(2020, 1, 15));
|
||||||
});
|
});
|
||||||
@@ -273,7 +273,7 @@ public class SocialUserServiceImplTest extends BaseDbUnitTest {
|
|||||||
// 准备参数
|
// 准备参数
|
||||||
SocialUserPageReqVO reqVO = new SocialUserPageReqVO();
|
SocialUserPageReqVO reqVO = new SocialUserPageReqVO();
|
||||||
reqVO.setType(SocialTypeEnum.GITEE.getType());
|
reqVO.setType(SocialTypeEnum.GITEE.getType());
|
||||||
reqVO.setNickname("芋");
|
reqVO.setNickname("鹭");
|
||||||
reqVO.setOpenid("lyzsys");
|
reqVO.setOpenid("lyzsys");
|
||||||
reqVO.setCreateTime(buildBetweenTime(2020, 1, 10, 2020, 1, 20));
|
reqVO.setCreateTime(buildBetweenTime(2020, 1, 10, 2020, 1, 20));
|
||||||
|
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ public class TenantServiceImplTest extends BaseDbUnitTest {
|
|||||||
// mock 数据
|
// mock 数据
|
||||||
TenantDO dbTenant = randomPojo(TenantDO.class, o -> { // 等会查询到
|
TenantDO dbTenant = randomPojo(TenantDO.class, o -> { // 等会查询到
|
||||||
o.setName("lyz源码");
|
o.setName("lyz源码");
|
||||||
o.setContactName("芋艿");
|
o.setContactName("鹭鹭");
|
||||||
o.setContactMobile("15601691300");
|
o.setContactMobile("15601691300");
|
||||||
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
|
||||||
o.setCreateTime(buildTime(2020, 12, 12));
|
o.setCreateTime(buildTime(2020, 12, 12));
|
||||||
|
|||||||
Reference in New Issue
Block a user