99import com .tml .otowbackend .engine .generator .engine .VelocityCodeEngine ;
1010import com .tml .otowbackend .engine .generator .template .VelocityOTOWTemplate ;
1111import com .tml .otowbackend .engine .generator .template .java .model .EntityTemplate ;
12+ import com .tml .otowbackend .engine .generator .template .java .model .ReqTemplate ;
13+ import com .tml .otowbackend .engine .generator .template .java .model .VOTemplate ;
1214import com .tml .otowbackend .engine .generator .template .java .service .ControllerTemplate ;
1315import com .tml .otowbackend .engine .generator .template .java .service .MapperTemplate ;
1416import com .tml .otowbackend .engine .generator .template .java .service .ServiceImplTemplate ;
1517import com .tml .otowbackend .engine .generator .template .java .service .ServiceTemplate ;
1618import com .tml .otowbackend .engine .generator .template .meta .MetaAnnotation ;
17- import com .tml .otowbackend .engine .generator .template .meta .MetaMethodParam ;
1819import com .tml .otowbackend .engine .generator .template .meta .MetalField ;
1920import lombok .NoArgsConstructor ;
2021
2728@ NoArgsConstructor
2829public class InitTemplate {
2930
30- public static final String entityPackagePath = "io.github.geniusay.velocity.generate" ;
31- public static final String servicePackagePath = "io.github.geniusay.velocity.generate.service" ;
32- public static final String reqPackagePath = "io.github.geniusay.velocity.generate.pojo.req" ;
33- public static final String mapperPackagePath = "io.github.geniusay.velocity.generate.mapper" ;
34- public static final String serviceImplPackagePath = "io.github.geniusay.velocity.generate.service.impl" ;
31+ public static String entityPackagePath = "model.entity" ;
32+ public static String controllerPackagePath = "controller" ;
33+ public static String servicePackagePath = "service" ;
34+ public static String reqPackagePath = "model.req" ;
35+ public static String voPackagePath = "model.vo" ;
36+ public static String mapperPackagePath = "mapper" ;
37+ public static String serviceImplPackagePath = "service.impl" ;
3538
3639 public static VelocityCodeEngine engine = VelocityCodeEngine .getCodeEngine ();
3740
41+
42+ public String prefix ;
3843 public FuncPackManager funcPackManager ;
3944 public String className ;
4045 public String tableName ;
4146 public String describe ;
42- public LinkedList <MetalField > fields ;
47+ public LinkedList <MetalField > fields = new LinkedList <>();
48+ public LinkedList <MetalField > fieldsVO = new LinkedList <>();
49+ public LinkedList <MetalField > fieldsReq = new LinkedList <>();
4350 public List <String > featureIds ;
4451
4552 private ServiceTemplate serviceTemplate ;
4653 private ControllerTemplate controllerTemplate ;
4754 private ServiceImplTemplate serviceImplTemplate ;
4855 private MapperTemplate mapperTemplate ;
4956 private EntityTemplate entityTemplate ;
50-
51- public InitTemplate (FuncPackManager funcPackManager , String className , String tableName , String describe , LinkedList <MetalField > fields , List <String > featureIds ) {
57+ private ReqTemplate entityReqTemplate ;
58+ private VOTemplate entityVOTemplate ;
59+
60+ public InitTemplate (String prefix , FuncPackManager funcPackManager , String className , String tableName , String describe , LinkedList <MetalField > fields , List <String > featureIds ) {
61+ this .prefix = prefix ;
62+ this .entityPackagePath = prefix + entityPackagePath ;
63+ this .servicePackagePath = prefix + servicePackagePath ;
64+ this .reqPackagePath = prefix + reqPackagePath ;
65+ this .voPackagePath = prefix + voPackagePath ;
66+ this .mapperPackagePath = prefix + mapperPackagePath ;
67+ this .serviceImplPackagePath = prefix + serviceImplPackagePath ;
68+ this .controllerPackagePath = prefix + controllerPackagePath ;
5269 this .funcPackManager = funcPackManager ;
5370 this .className = className ;
5471 this .tableName = tableName ;
@@ -58,8 +75,16 @@ public InitTemplate(FuncPackManager funcPackManager, String className, String ta
5875 }
5976
6077 public void initTemplate () {
78+ // 将属性添加到新集合中 给req、VO使用
79+ for (MetalField field : fields ) {
80+ MetalField clone = field .getClone ();
81+ fieldsReq .add (clone );
82+ fieldsVO .add (clone );
83+ }
6184 judgeMetalField ();
6285 entityTemplate = getEntityTemplate ();
86+ entityReqTemplate = getEntityReqTemplate ();
87+ entityVOTemplate = getEntityVOTemplate ();
6388 mapperTemplate = getMapperTemplate ();
6489 serviceTemplate = getServiceTemplate ();
6590 serviceImplTemplate = getServiceImplTemplate ();
@@ -73,6 +98,12 @@ private String generateStringWithTemplate(VelocityOTOWTemplate template) {
7398 public String generateEntity () {
7499 return generateStringWithTemplate (entityTemplate );
75100 }
101+ public String generateEntityReq (){
102+ return generateStringWithTemplate (entityReqTemplate );
103+ }
104+ public String generateEntityVO (){
105+ return generateStringWithTemplate (entityVOTemplate );
106+ }
76107
77108 public String generateMapper () {
78109 return generateStringWithTemplate (mapperTemplate );
@@ -97,16 +128,29 @@ private EntityTemplate getEntityTemplate() {
97128 return entityTemplate ;
98129 }
99130
131+ // 根据给定的实体类名、字段生成实体Req模板
132+ private ReqTemplate getEntityReqTemplate () {
133+ ReqTemplate reqTemplate = new ReqTemplate (reqPackagePath ,className );
134+ reqTemplate .addModelFields (fieldsReq );
135+ return reqTemplate ;
136+ }
137+
138+ // 根据给定的实体类名、字段生成实体VO模板
139+ private VOTemplate getEntityVOTemplate () {
140+ VOTemplate voTemplate = new VOTemplate (voPackagePath ,className );
141+ voTemplate .addModelFields (fieldsVO );
142+ return voTemplate ;
143+ }
144+
100145 private MapperTemplate getMapperTemplate () {
101146 return new MapperTemplate (mapperPackagePath , className , entityTemplate );
102147 }
103148
104149 private ServiceTemplate getServiceTemplate () {
105150 ServiceTemplate userService = new ServiceTemplate (servicePackagePath , className );
106- MetaMethodParam metaMethodParam = new MetaMethodParam (className , userService .getAllPackagePath (), className .toLowerCase ());
107151 for (String featureId : featureIds ) {
108152 AbstrateFunctionPack pack = funcPackManager .getFunctionPackById (featureId );
109- pack .addParams ("metaMethodParam " , metaMethodParam );
153+ pack .addParams ("className " , className );
110154 pack .generateService (userService );
111155 }
112156 return userService ;
@@ -124,9 +168,9 @@ private ServiceImplTemplate getServiceImplTemplate() {
124168 }
125169
126170 private ControllerTemplate getControllerTemplate () {
127- ControllerTemplate userController = new ControllerTemplate (entityPackagePath , className , "/" + className .toLowerCase ());
171+ ControllerTemplate userController = new ControllerTemplate (controllerPackagePath , className , "/" + className .toLowerCase ());
128172 userController .addService (serviceTemplate );
129- String classLower = serviceTemplate .getClassName (). toLowerCase ( );
173+ String classLower = StringUtils . firstToLowerCase ( serviceTemplate .getClassName ());
130174 for (String featureId : featureIds ) {
131175 AbstrateFunctionPack pack = funcPackManager .getFunctionPackById (featureId );
132176 pack .addParams ("className" , className );
0 commit comments