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