1
1
package com .tml .otowbackend .engine .generator .template .java ;
2
2
3
-
4
3
import com .baomidou .mybatisplus .annotation .FieldFill ;
5
4
import com .baomidou .mybatisplus .annotation .TableField ;
6
5
import com .baomidou .mybatisplus .annotation .TableId ;
@@ -54,6 +53,7 @@ public InitTemplate(FuncPackManager funcPackManager, String className, String ta
54
53
}
55
54
56
55
public void initTemplate () {
56
+ judgeMetalField ();
57
57
entityTemplate = getEntityTemplate ();
58
58
mapperTemplate = getMapperTemplate ();
59
59
serviceTemplate = getServiceTemplate ();
@@ -68,78 +68,60 @@ private String generateStringWithTemplate(VelocityOTOWTemplate template) {
68
68
public String generateEntity () {
69
69
return generateStringWithTemplate (entityTemplate );
70
70
}
71
+
71
72
public String generateMapper () {
72
73
return generateStringWithTemplate (mapperTemplate );
73
74
}
75
+
74
76
public String generateService () {
75
77
return generateStringWithTemplate (serviceTemplate );
76
78
}
79
+
77
80
public String generateServiceImpl () {
78
81
return generateStringWithTemplate (serviceImplTemplate );
79
82
}
83
+
80
84
public String generateController () {
81
85
return generateStringWithTemplate (controllerTemplate );
82
86
}
83
87
84
- // 加强判断
85
- private static List <MetalField > judgeMetalField (List <MetalField > fields ){
86
- MetaAnnotation fillAnnotation = new MetaAnnotation (TableField .class , "fill" , "FieldFill.INSERT_UPDATE" , FieldFill .class );
87
- MetaAnnotation tableId = new MetaAnnotation (TableId .class );
88
- // 判断id 加入时间 逻辑删除
89
- for (MetalField metalField : fields ) {
90
- // 判断是否是 id 字段,若是则添加 @TableId 注解 和 类型
91
- if (metalField .getName ().equals ("id" )) {
92
- metalField .addAnnotations (java .util .List .of (tableId )); // 添加 TableId 注解
93
- metalField .setClazz ("String" );
94
- }
95
- // 判断是否有 类型 ,没有就添加为String
96
- if (StringUtils .isBlank (metalField .getClazz ())){
97
- metalField .setClazz ("String" );
98
- }
99
- }
100
- // 添加 createTime、updateTime、逻辑删除字段(假设为 "deleted")
101
- MetalField createTime = new MetalField ("createTime" , Date .class , fillAnnotation );
102
- MetalField updateTime = new MetalField ("updateTime" , Date .class , fillAnnotation );
103
- MetalField deleted = new MetalField ("deleted" ,String .class );
104
-
105
- fields .add (createTime );
106
- fields .add (updateTime );
107
- fields .add (deleted );
108
-
109
- return fields ;
110
- }
111
-
112
88
// 根据给定的实体类名、字段生成实体模板
113
89
private EntityTemplate getEntityTemplate () {
114
90
EntityTemplate entityTemplate = new EntityTemplate (entityPackagePath , className , tableName );
115
-
116
- fields = judgeMetalField (fields );
117
91
entityTemplate .addModelFields (fields );
118
92
return entityTemplate ;
119
93
}
120
94
121
- // 生成 ServiceTemplate
95
+ private MapperTemplate getMapperTemplate () {
96
+ return new MapperTemplate (mapperPackagePath , className , entityTemplate );
97
+ }
98
+
122
99
private ServiceTemplate getServiceTemplate () {
123
100
ServiceTemplate userService = new ServiceTemplate (servicePackagePath , className );
124
101
MetaMethodParam metaMethodParam = new MetaMethodParam (className , userService .getAllPackagePath (), className .toLowerCase ());
125
-
126
- // 添加功能包
127
102
for (String featureId : featureIds ) {
128
103
AbstrateFunctionPack pack = funcPackManager .getFunctionPackById (featureId );
129
104
pack .addParams ("metaMethodParam" , metaMethodParam );
130
105
pack .generateService (userService );
131
106
}
132
-
133
107
return userService ;
134
108
}
135
109
136
- // 根据选择生成,返回
137
- private ControllerTemplate getControllerTemplate (){
138
- ControllerTemplate userController = new ControllerTemplate (entityPackagePath , className , "/" +className .toLowerCase ());
110
+ private ServiceImplTemplate getServiceImplTemplate () {
111
+ ServiceImplTemplate serviceImplTemplate = new ServiceImplTemplate (serviceImplPackagePath , className , serviceTemplate );
112
+ serviceImplTemplate .addMapper (mapperTemplate );
113
+ for (String featureId : featureIds ) {
114
+ AbstrateFunctionPack pack = funcPackManager .getFunctionPackById (featureId );
115
+ pack .addParams ("className" , className );
116
+ pack .generateServiceImpl (serviceImplTemplate );
117
+ }
118
+ return serviceImplTemplate ;
119
+ }
120
+
121
+ private ControllerTemplate getControllerTemplate () {
122
+ ControllerTemplate userController = new ControllerTemplate (entityPackagePath , className , "/" + className .toLowerCase ());
139
123
userController .addService (serviceTemplate );
140
124
String classLower = serviceTemplate .getClassName ().toLowerCase ();
141
-
142
- // 功能包
143
125
for (String featureId : featureIds ) {
144
126
AbstrateFunctionPack pack = funcPackManager .getFunctionPackById (featureId );
145
127
pack .addParams ("className" , className );
@@ -149,22 +131,29 @@ private ControllerTemplate getControllerTemplate(){
149
131
return userController ;
150
132
}
151
133
152
-
153
- private MapperTemplate getMapperTemplate () {
154
- MapperTemplate mapperTemplate = new MapperTemplate ( mapperPackagePath , className , entityTemplate );
155
- return mapperTemplate ;
156
- }
157
-
158
- private ServiceImplTemplate getServiceImplTemplate (){
159
- ServiceImplTemplate serviceImplTemplate = new ServiceImplTemplate ( serviceImplPackagePath , className , serviceTemplate );
160
- serviceImplTemplate . addMapper ( mapperTemplate );
161
-
162
- // 添加功能包
163
- for ( String featureId : featureIds ) {
164
- AbstrateFunctionPack pack = funcPackManager . getFunctionPackById ( featureId );
165
- pack . addParams ( "className" , className );
166
- pack . generateServiceImpl ( serviceImplTemplate );
134
+ // 加强判断
135
+ private void judgeMetalField () {
136
+ MetaAnnotation fillAnnotation = new MetaAnnotation ( TableField . class , "fill" , "FieldFill.INSERT_UPDATE" , FieldFill . class );
137
+ MetaAnnotation tableId = new MetaAnnotation ( TableId . class ) ;
138
+ // 判断id 加入时间 逻辑删除
139
+ for ( MetalField metalField : fields ) {
140
+ // 判断是否是 id 字段,若是则添加 @TableId 注解 和 类型
141
+ if ( metalField . getName (). equals ( "id" )) {
142
+ metalField . addAnnotations ( java . util . List . of ( tableId )); // 添加 TableId 注解
143
+ metalField . setClazz ( "String" );
144
+ }
145
+ // 判断是否有 类型 ,没有就添加为String
146
+ if ( StringUtils . isBlank ( metalField . getClazz ())) {
147
+ metalField . setClazz ( "String" );
148
+ }
167
149
}
168
- return serviceImplTemplate ;
150
+ // 添加 createTime、updateTime、逻辑删除字段(假设为 "deleted")
151
+ MetalField createTime = new MetalField ("createTime" , Date .class , fillAnnotation );
152
+ MetalField updateTime = new MetalField ("updateTime" , Date .class , fillAnnotation );
153
+ MetalField deleted = new MetalField ("deleted" , String .class );
154
+
155
+ fields .add (createTime );
156
+ fields .add (updateTime );
157
+ fields .add (deleted );
169
158
}
170
159
}
0 commit comments