chore(project): rebranded project as 恭学教育 (GongXue Education)

- Updated pom.xml project name, description, and URL to 恭学教育.
- Changed LICENSE copyright holder to 恭学教育 (GongXue Education).
- Rebranded README.md with new project title and tagline.
- Replaced @author 芋道源码 with @author 恭学教育 across all Java source files.
- Updated Swagger metadata with 恭学教育 API title and admin@gongxue.com.
- Added Gitea Actions CI pipeline for automated build and deployment.
This commit is contained in:
2026-07-27 15:12:32 +08:00
parent fd54f07889
commit 7426579863
2342 changed files with 2839 additions and 2710 deletions

View File

@@ -11,7 +11,7 @@ import org.junit.jupiter.api.Test;
/**
* {@link FtpFileClient} 集成测试
*
* @author 芋道源码
* @author 恭学教育
*/
public class FtpFileClientTest {

View File

@@ -10,7 +10,7 @@ import org.junit.jupiter.api.Test;
/**
* {@link SftpFileClient} 集成测试
*
* @author 芋道源码
* @author 恭学教育
*/
public class SftpFileClientTest {

View File

@@ -50,7 +50,7 @@ import static org.mockito.Mockito.when;
/**
* {@link CodegenServiceImpl} 的单元测试类
*
* @author 芋道源码
* @author 恭学教育
*/
@Import(CodegenServiceImpl.class)
public class CodegenServiceImplTest extends BaseDbUnitTest {
@@ -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());
@@ -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());
}
}

View File

@@ -30,7 +30,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
/**
* {@link CodegenEngine} 的单元测试抽象基类
*
* @author 芋道源码
* @author 恭学教育
*/
public abstract class CodegenEngineAbstractTest extends BaseMockitoUnitTest {

View File

@@ -21,7 +21,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* {@link CodegenEngine} 的 Vue3 Admin Uniapp + Wot UI 单元测试
*
* @author 芋道源码
* @author 恭学教育
*/
public class CodegenEngineUniappTest extends CodegenEngineAbstractTest {

View File

@@ -14,7 +14,7 @@ import java.util.Map;
/**
* {@link CodegenEngine} 的 Vue3 + Vben5 + AntD + General 单元测试
*
* @author 芋道源码
* @author 恭学教育
*/
public class CodegenEngineVben5AntdGeneralTest extends CodegenEngineAbstractTest {

View File

@@ -14,7 +14,7 @@ import java.util.Map;
/**
* {@link CodegenEngine} 的 Vue3 + Vben5 + AntD + Schema 单元测试
*
* @author 芋道源码
* @author 恭学教育
*/
public class CodegenEngineVben5AntdSchemaTest extends CodegenEngineAbstractTest {

View File

@@ -21,7 +21,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* {@link CodegenEngine} 的 Vue3 + Vben5 + Antdv Next 单元测试
*
* @author 芋道源码
* @author 恭学教育
*/
public class CodegenEngineVben5AntdvNextTest extends CodegenEngineAbstractTest {

View File

@@ -14,7 +14,7 @@ import java.util.Map;
/**
* {@link CodegenEngine} 的 Vue3 + Vben5 + Element Plus + General 单元测试
*
* @author 芋道源码
* @author 恭学教育
*/
public class CodegenEngineVben5EleGeneralTest extends CodegenEngineAbstractTest {

View File

@@ -14,7 +14,7 @@ import java.util.Map;
/**
* {@link CodegenEngine} 的 Vue3 + Vben5 + Element Plus + Schema 单元测试
*
* @author 芋道源码
* @author 恭学教育
*/
public class CodegenEngineVben5EleSchemaTest extends CodegenEngineAbstractTest {

View File

@@ -14,7 +14,7 @@ import java.util.Map;
/**
* {@link CodegenEngine} 的 Vue2 + Element UI 单元测试
*
* @author 芋道源码
* @author 恭学教育
*/
public class CodegenEngineVue2Test extends CodegenEngineAbstractTest {

View File

@@ -14,7 +14,7 @@ import java.util.Map;
/**
* {@link CodegenEngine} 的 Vue2 + Element Plus 单元测试
*
* @author 芋道源码
* @author 恭学教育
*/
public class CodegenEngineVue3Test extends CodegenEngineAbstractTest {

View File

@@ -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));

View File

@@ -35,7 +35,7 @@ import static org.mockito.Mockito.when;
/**
* {@link DataSourceConfigServiceImpl} 的单元测试类
*
* @author 芋道源码
* @author 恭学教育
*/
@Import(DataSourceConfigServiceImpl.class)
public class DataSourceConfigServiceImplTest extends BaseDbUnitTest {

View File

@@ -42,7 +42,7 @@ import static org.mockito.Mockito.*;
/**
* {@link FileConfigServiceImpl} 的单元测试类
*
* @author 芋道源码
* @author 恭学教育
*/
@Import(FileConfigServiceImpl.class)
public class FileConfigServiceImplTest extends BaseDbUnitTest {
@@ -179,7 +179,7 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest {
@Test
public void testGetFileConfigPage() {
// mock 数据
FileConfigDO dbFileConfig = randomFileConfigDO().setName("芋道源码")
FileConfigDO dbFileConfig = randomFileConfigDO().setName("恭学教育")
.setStorage(FileStorageEnum.LOCAL.getStorage());
dbFileConfig.setCreateTime(LocalDateTimeUtil.parse("2020-01-23", DatePattern.NORM_DATE_PATTERN));// 等会查询到
fileConfigMapper.insert(dbFileConfig);
@@ -191,7 +191,7 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest {
fileConfigMapper.insert(cloneIgnoreId(dbFileConfig, o -> o.setCreateTime(LocalDateTimeUtil.parse("2020-11-23", DatePattern.NORM_DATE_PATTERN))));
// 准备参数
FileConfigPageReqVO reqVO = new FileConfigPageReqVO();
reqVO.setName("芋道");
reqVO.setName("恭学");
reqVO.setStorage(FileStorageEnum.LOCAL.getStorage());
reqVO.setCreateTime((new LocalDateTime[]{buildTime(2020, 1, 1),
buildTime(2020, 1, 24)}));

View File

@@ -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");
}

View File

@@ -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");
}

View File

@@ -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");
}

View File

@@ -42,9 +42,9 @@ mybatis-plus:
--- #################### 监控相关配置 ####################
--- #################### 芋道相关配置 ####################
--- #################### 恭学相关配置 ####################
# 芋道配置项,设置当前项目所有自定义的配置
# 恭学配置项,设置当前项目所有自定义的配置
yudao:
info:
base-package: cn.iocoder.yudao