【同步】jdk21 和 jdk8 的代码

This commit is contained in:
YunaiV
2026-07-31 18:40:10 +08:00
parent 89b4d0d44e
commit dff88d5c5f
8 changed files with 39 additions and 29 deletions
-5
View File
@@ -132,11 +132,6 @@
<groupId>com.alibaba</groupId>
<artifactId>transmittable-thread-local</artifactId>
</dependency>
<dependency>
<!-- JustAuth、Jimu 等三方库仍使用 1.x 包名,由项目统一提供 fastjson2 兼容实现 -->
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
@@ -23,8 +23,8 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import javax.annotation.Resource;
import javax.validation.Valid;
import org.flowable.engine.repository.Deployment;
import org.flowable.engine.repository.Model;
import org.flowable.engine.repository.ProcessDefinition;
@@ -17,8 +17,8 @@ import cn.iocoder.yudao.module.im.service.channel.ImChannelService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import javax.annotation.Resource;
import javax.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.annotation.DbType;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -56,7 +57,8 @@ public class CodegenEngineUniappTest extends CodegenEngineAbstractTest {
assertTrue(searchForm.contains(":columns=\"getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)\""));
// 调用并断言字符串字典
columns.stream().filter(column -> "sex".equals(column.getJavaField())).findFirst().orElseThrow()
columns.stream().filter(column -> "sex".equals(column.getJavaField())).findFirst()
.orElseThrow(AssertionError::new)
.setJavaType("String");
result = codegenEngine.execute(DbType.MYSQL, table, columns, null, null);
searchForm = result.get("yudao-ui-admin-uniapp/src/pages-infra/demo/components/search-form.vue");
@@ -85,7 +87,8 @@ public class CodegenEngineUniappTest extends CodegenEngineAbstractTest {
.setFrontType(CodegenFrontTypeEnum.VUE3_ADMIN_UNIAPP_WOT.getType())
.setTemplateType(CodegenTemplateTypeEnum.ONE.getType());
List<CodegenColumnDO> columns = getColumnList("student");
columns.stream().filter(column -> "memo".equals(column.getJavaField())).findFirst().orElseThrow()
columns.stream().filter(column -> "memo".equals(column.getJavaField())).findFirst()
.orElseThrow(AssertionError::new)
.setJavaType("Float").setHtmlType("input");
// 调用
@@ -111,20 +114,22 @@ public class CodegenEngineUniappTest extends CodegenEngineAbstractTest {
.setFrontType(CodegenFrontTypeEnum.VUE3_ADMIN_UNIAPP_WOT.getType())
.setTemplateType(CodegenTemplateTypeEnum.MASTER_ERP.getType());
List<CodegenColumnDO> columns = getColumnList("student");
columns.stream().filter(CodegenColumnDO::getPrimaryKey).findFirst().orElseThrow().setJavaType("String");
columns.stream().filter(CodegenColumnDO::getPrimaryKey).findFirst()
.orElseThrow(AssertionError::new).setJavaType("String");
// 准备子表
CodegenTableDO contactTable = getTable("contact")
.setTemplateType(CodegenTemplateTypeEnum.SUB.getType())
.setFrontType(CodegenFrontTypeEnum.VUE3_ADMIN_UNIAPP_WOT.getType())
.setSubJoinColumnId(100L).setSubJoinMany(true);
List<CodegenColumnDO> contactColumns = getColumnList("contact");
contactColumns.stream().filter(CodegenColumnDO::getPrimaryKey).findFirst().orElseThrow().setJavaType("String");
contactColumns.stream().filter(CodegenColumnDO::getPrimaryKey).findFirst()
.orElseThrow(AssertionError::new).setJavaType("String");
contactColumns.stream().filter(column -> Objects.equals(column.getId(), 100L))
.findFirst().orElseThrow().setJavaType("String");
.findFirst().orElseThrow(AssertionError::new).setJavaType("String");
// 调用
Map<String, String> result = codegenEngine.execute(DbType.MYSQL, table, columns,
List.of(contactTable), List.of(contactColumns));
Collections.singletonList(contactTable), Collections.singletonList(contactColumns));
// 断言
String api = result.get("yudao-ui-admin-uniapp/src/api/infra/demo/index.ts");
assertTrue(api.contains("return http.post<string>('/infra/student/create', data)"));
@@ -308,7 +313,8 @@ public class CodegenEngineUniappTest extends CodegenEngineAbstractTest {
.setFrontType(CodegenFrontTypeEnum.VUE3_ELEMENT_PLUS.getType())
.setTemplateType(templateType.getType());
List<CodegenColumnDO> columns = getColumnList("student");
columns.stream().filter(column -> "memo".equals(column.getJavaField())).findFirst().orElseThrow()
columns.stream().filter(column -> "memo".equals(column.getJavaField())).findFirst()
.orElseThrow(AssertionError::new)
.setJavaField("items");
// 准备一对多子表 Item,生成属性名 items
CodegenTableDO itemTable = getTable("contact").setModuleName("crm").setClassName("CrmItem")
@@ -317,7 +323,7 @@ public class CodegenEngineUniappTest extends CodegenEngineAbstractTest {
// 调用并断言
ServiceException exception = assertThrows(ServiceException.class,
() -> codegenEngine.execute(DbType.MYSQL, table, columns,
List.of(itemTable), List.of(getColumnList("contact"))));
Collections.singletonList(itemTable), Collections.singletonList(getColumnList("contact"))));
assertTrue(exception.getMessage().contains("主子表属性名(items)重复"));
}
@@ -9,9 +9,12 @@ import com.baomidou.mybatisplus.annotation.DbType;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -241,7 +244,7 @@ public class CodegenEngineVben5AntdvNextTest extends CodegenEngineAbstractTest {
}
});
return codegenEngine.execute(DbType.MYSQL, table, getColumnList("student"),
List.of(subTable), List.of(subColumns));
Collections.singletonList(subTable), Collections.singletonList(subColumns));
}
private Map<String, String> executeMaster(Integer frontType, CodegenTemplateTypeEnum templateType) {
@@ -372,14 +375,15 @@ public class CodegenEngineVben5AntdvNextTest extends CodegenEngineAbstractTest {
}
private static void assertRootValueImportsSorted(String filePath, String content) {
var matcher = ANTDV_NEXT_VALUE_IMPORT_PATTERN.matcher(content);
Matcher matcher = ANTDV_NEXT_VALUE_IMPORT_PATTERN.matcher(content);
while (matcher.find()) {
List<String> actual = Arrays.stream(matcher.group(1).split(","))
.map(String::trim)
.filter(item -> !item.isEmpty())
.map(item -> item.replaceFirst("^.*\\s+as\\s+", ""))
.toList();
List<String> expected = actual.stream().sorted(String.CASE_INSENSITIVE_ORDER).toList();
.collect(Collectors.toList());
List<String> expected = actual.stream().sorted(String.CASE_INSENSITIVE_ORDER)
.collect(Collectors.toList());
assertEquals(expected, actual, filePath + ":antdv-next 命名导入未按 natural 顺序排列");
}
}
@@ -406,7 +410,12 @@ public class CodegenEngineVben5AntdvNextTest extends CodegenEngineAbstractTest {
}
private static long countMatches(Pattern pattern, String content) {
return pattern.matcher(content).results().count();
Matcher matcher = pattern.matcher(content);
long count = 0;
while (matcher.find()) {
count++;
}
return count;
}
private static void assertRootImport(String filePath, String content, String importPrefix, String expectedRegex) {
@@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.mes.controller.admin.dv.repair.vo.line.MesDvRepai
import cn.iocoder.yudao.module.mes.dal.dataobject.dv.repair.MesDvRepairLineDO;
import cn.iocoder.yudao.module.mes.dal.mysql.dv.repair.MesDvRepairLineMapper;
import cn.iocoder.yudao.module.mes.service.dv.subject.MesDvSubjectService;
import jakarta.annotation.Resource;
import javax.annotation.Resource;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@@ -12,11 +12,11 @@ import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient;
import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientFactory;
import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayPayClientConfig;
import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.WxPayClientConfig;
import jakarta.annotation.Resource;
import jakarta.validation.Validator;
import javax.annotation.Resource;
import javax.validation.Validator;
import org.junit.jupiter.api.Test;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.bean.override.mockito.MockitoBean;
import org.springframework.boot.test.mock.mockito.MockBean;
import java.util.Collections;
import java.util.List;
@@ -39,9 +39,9 @@ public class PayChannelServiceTest extends BaseDbUnitTest {
@Resource
private PayChannelMapper channelMapper;
@MockitoBean
@MockBean
private PayClientFactory payClientFactory;
@MockitoBean
@MockBean
private Validator validator;
@Test
@@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportRe
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import jakarta.validation.Valid;
import javax.validation.Valid;
import org.springframework.lang.Nullable;
import java.util.Collection;