mirror of
https://codeup.aliyun.com/64f7d6b8ce01efaafef1e678/coal/coal.git
synced 2026-01-25 23:57:12 +08:00
完善代码生成
This commit is contained in:
@@ -160,22 +160,18 @@ public class Codegen {
|
||||
.addAnnotation(Data.class)
|
||||
.build();
|
||||
|
||||
|
||||
|
||||
if (archive) {
|
||||
dto =
|
||||
dto.toBuilder()
|
||||
.addField(
|
||||
FieldSpec.builder(
|
||||
String.class, "archiveStatus", Modifier.PRIVATE)
|
||||
|
||||
.build())
|
||||
.addField(
|
||||
FieldSpec.builder(
|
||||
String.class,
|
||||
"archiveStatusName",
|
||||
Modifier.PRIVATE)
|
||||
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
@@ -244,14 +240,13 @@ public class Codegen {
|
||||
saveFile(mapperPackage, mapper);
|
||||
|
||||
// 生成service
|
||||
MethodSpec serviceUpdate = MethodSpec.methodBuilder("update")
|
||||
.addModifiers(Modifier.PUBLIC)
|
||||
.returns(ClassName.get(dtoPackage, dto.name))
|
||||
.addParameter(
|
||||
ClassName.get(dtoPackage, updateDto.name),
|
||||
"request")
|
||||
.addStatement(
|
||||
"""
|
||||
MethodSpec serviceUpdate =
|
||||
MethodSpec.methodBuilder("update")
|
||||
.addModifiers(Modifier.PUBLIC)
|
||||
.returns(ClassName.get(dtoPackage, dto.name))
|
||||
.addParameter(ClassName.get(dtoPackage, updateDto.name), "request")
|
||||
.addStatement(
|
||||
"""
|
||||
$T entity = this.repository.get(request.getId());
|
||||
this.mapper.updateEntity(entity, request);
|
||||
|
||||
@@ -259,11 +254,10 @@ public class Codegen {
|
||||
|
||||
return getById(entity.getId())
|
||||
""",
|
||||
ClassName.get(entityPackage, entity.name))
|
||||
.build();
|
||||
ClassName.get(entityPackage, entity.name))
|
||||
.build();
|
||||
|
||||
|
||||
if (archive){
|
||||
if (archive) {
|
||||
serviceUpdate =
|
||||
MethodSpec.methodBuilder("update")
|
||||
.addModifiers(Modifier.PUBLIC)
|
||||
@@ -285,21 +279,25 @@ public class Codegen {
|
||||
|
||||
return getById(entity.getId())
|
||||
""",
|
||||
ClassName.get(entityPackage, entity.name), ClassName.get(ArchiveUtils.class), ClassName.get(entityPackage, entity.name), ClassName.get(BizException.class))
|
||||
ClassName.get(entityPackage, entity.name),
|
||||
ClassName.get(ArchiveUtils.class),
|
||||
ClassName.get(entityPackage, entity.name),
|
||||
ClassName.get(BizException.class))
|
||||
.build();
|
||||
}
|
||||
|
||||
MethodSpec serviceDelete = MethodSpec.methodBuilder("delete")
|
||||
.addModifiers(Modifier.PUBLIC)
|
||||
.returns(void.class)
|
||||
.addParameter(ClassName.get(IdRequest.class), "request")
|
||||
.addStatement(
|
||||
"""
|
||||
MethodSpec serviceDelete =
|
||||
MethodSpec.methodBuilder("delete")
|
||||
.addModifiers(Modifier.PUBLIC)
|
||||
.returns(void.class)
|
||||
.addParameter(ClassName.get(IdRequest.class), "request")
|
||||
.addStatement(
|
||||
"""
|
||||
this.repository.deleteAllById(request.getIds())
|
||||
""")
|
||||
.build();
|
||||
.build();
|
||||
|
||||
if (archive){
|
||||
if (archive) {
|
||||
serviceDelete =
|
||||
MethodSpec.methodBuilder("delete")
|
||||
.addModifiers(Modifier.PUBLIC)
|
||||
@@ -317,8 +315,10 @@ public class Codegen {
|
||||
});
|
||||
this.repository.deleteAllById(request.getIds())
|
||||
""",
|
||||
ClassName.get(ArchiveUtils.class), ClassName.get(entityPackage, entity.name), ClassName.get(BizException.class)).build();
|
||||
|
||||
ClassName.get(ArchiveUtils.class),
|
||||
ClassName.get(entityPackage, entity.name),
|
||||
ClassName.get(BizException.class))
|
||||
.build();
|
||||
}
|
||||
|
||||
TypeSpec service =
|
||||
@@ -370,10 +370,8 @@ public class Codegen {
|
||||
""",
|
||||
ClassName.get(entityPackage, entity.name))
|
||||
.build())
|
||||
.addMethod(
|
||||
serviceUpdate)
|
||||
.addMethod(
|
||||
serviceDelete)
|
||||
.addMethod(serviceUpdate)
|
||||
.addMethod(serviceDelete)
|
||||
.addMethod(
|
||||
MethodSpec.methodBuilder("getById")
|
||||
.addModifiers(Modifier.PUBLIC)
|
||||
@@ -410,8 +408,6 @@ public class Codegen {
|
||||
.build())
|
||||
.build();
|
||||
|
||||
|
||||
|
||||
if (archive) {
|
||||
service =
|
||||
service.toBuilder()
|
||||
@@ -428,7 +424,10 @@ public class Codegen {
|
||||
}))
|
||||
.peek(x -> x.setArchiveStatus("1"))
|
||||
.forEach(this.repository::save);
|
||||
""", ClassName.get(ArchiveUtils.class), ClassName.get(entityPackage, entity.name), ClassName.get(BizException.class))
|
||||
""",
|
||||
ClassName.get(ArchiveUtils.class),
|
||||
ClassName.get(entityPackage, entity.name),
|
||||
ClassName.get(BizException.class))
|
||||
.build())
|
||||
.addMethod(
|
||||
MethodSpec.methodBuilder("unarchive")
|
||||
@@ -443,13 +442,12 @@ public class Codegen {
|
||||
}))
|
||||
.peek(x -> x.setArchiveStatus("0"))
|
||||
.forEach(this.repository::save);
|
||||
""", ClassName.get(ArchiveUtils.class), ClassName.get(entityPackage, entity.name), ClassName.get(BizException.class))
|
||||
""",
|
||||
ClassName.get(ArchiveUtils.class),
|
||||
ClassName.get(entityPackage, entity.name),
|
||||
ClassName.get(BizException.class))
|
||||
.build())
|
||||
|
||||
|
||||
.build();
|
||||
|
||||
|
||||
}
|
||||
|
||||
saveFile(servicePackage, service);
|
||||
@@ -584,8 +582,7 @@ public class Codegen {
|
||||
ClassName.get(Sort.class))
|
||||
.build());
|
||||
|
||||
|
||||
if (archive){
|
||||
if (archive) {
|
||||
controllerBuilder
|
||||
.addMethod(
|
||||
MethodSpec.methodBuilder("archive")
|
||||
@@ -597,7 +594,8 @@ public class Codegen {
|
||||
.build())
|
||||
.addParameter(
|
||||
ParameterSpec.builder(
|
||||
ClassName.get(IdRequest.class), "request")
|
||||
ClassName.get(IdRequest.class),
|
||||
"request")
|
||||
.addAnnotation(RequestBody.class)
|
||||
.build())
|
||||
.addStatement(
|
||||
@@ -616,7 +614,8 @@ public class Codegen {
|
||||
.build())
|
||||
.addParameter(
|
||||
ParameterSpec.builder(
|
||||
ClassName.get(IdRequest.class), "request")
|
||||
ClassName.get(IdRequest.class),
|
||||
"request")
|
||||
.addAnnotation(RequestBody.class)
|
||||
.build())
|
||||
.addStatement(
|
||||
@@ -628,6 +627,39 @@ public class Codegen {
|
||||
}
|
||||
|
||||
saveFile(controllerPackage, controllerBuilder.build());
|
||||
|
||||
genScript(lModuleName, controllerPackage, controllerBuilder.build());
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
private static void genScript(
|
||||
String lModuleName, String controllerPackage, TypeSpec controller) {
|
||||
|
||||
var script =
|
||||
"""
|
||||
|
||||
package scripts.dict
|
||||
|
||||
import cn.lihongjie.coal.base.dto.CommonQuery
|
||||
import %s
|
||||
import org.springframework.context.ApplicationContext
|
||||
|
||||
ApplicationContext ioc = ioc;
|
||||
|
||||
def controller = ioc.getBean(%s.class)
|
||||
|
||||
|
||||
|
||||
|
||||
return controller.list(new CommonQuery())
|
||||
|
||||
|
||||
"""
|
||||
.formatted(controllerPackage + "." + controller.name, controller.name);
|
||||
|
||||
Files.writeString(
|
||||
Path.of("src/main/resources/scripts/dict/enum/%sDict.groovy".formatted(lModuleName)),
|
||||
script);
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
|
||||
Reference in New Issue
Block a user