代码生成器

This commit is contained in:
TinyAnts 2022-11-16 18:17:59 +08:00
parent c622781003
commit 329734b332
3 changed files with 24 additions and 66 deletions

View File

@ -430,8 +430,14 @@ public class GenerateServiceImpl implements IGenerateService {
tpl.merge(context, sw);
try {
String basePath = VelocityUtil.getGenPath(table);
String filePath = basePath + VelocityUtil.getFileName(template, table);
FileUtils.writeStringToFile(new File(filePath), sw.toString(), GenConstants.UTF8);
String filePath = "C:/Users/honor/Desktop/" + VelocityUtil.getFileName(template, table);
filePath = filePath.replace("java/", "");
System.out.println(filePath);
System.out.println(template);
File f = new File(filePath);
FileUtils.writeStringToFile(f, sw.toString(), GenConstants.UTF8);
} catch (IOException e) {
log.error("生成渲染模板失败: " + e.getMessage());
}

View File

@ -121,7 +121,7 @@ public class VelocityUtil {
templates.add("java/mapper.java.vm");
templates.add("java/validateCreate.java.vm");
templates.add("java/validateUpdate.java.vm");
templates.add("java/validateSearch.java.vm");
// templates.add("java/validateSearch.java.vm");
templates.add("java/voListed.java.vm");
templates.add("java/voDetail.java.vm");
templates.add("vue/api.ts.vm");
@ -145,12 +145,8 @@ public class VelocityUtil {
String entityName = genTable.getEntityName();
String moduleName = genTable.getModuleName();
if (template.contains("mapper.java.vm")) {
fileName = StringUtil.format("java/{}/mapper/{}Mapper.java", GenConfig.commonPackage, entityName);
}
else if (template.contains("entity.java.vm")) {
fileName = StringUtil.format("java/{}/entity/{}.java", GenConfig.commonPackage, entityName);
if (template.contains("controller.java.vm")) {
fileName = StringUtil.format("java/{}/controller/{}Controller.java", GenConfig.adminPackage, entityName);
}
else if (template.contains("service.java.vm")) {
@ -161,14 +157,23 @@ public class VelocityUtil {
fileName = StringUtil.format("java/{}/service/impl/{}ServiceImpl.java", GenConfig.adminPackage, entityName);
}
else if (template.contains("controller.java.vm")) {
fileName = StringUtil.format("java/{}/controller/{}Controller.java", GenConfig.adminPackage, entityName);
else if (template.contains("entity.java.vm")) {
fileName = StringUtil.format("java/{}/entity/{}.java", GenConfig.commonPackage, entityName);
}
else if (template.contains("validate.java.vm")) {
fileName = StringUtil.format("java/{}/validate/{}Param.java", GenConfig.adminPackage, entityName);
else if (template.contains("mapper.java.vm")) {
fileName = StringUtil.format("java/{}/mapper/{}Mapper.java", GenConfig.commonPackage, entityName);
}
else if (template.contains("validateCreate.java.vm")) {
fileName = StringUtil.format("java/{}/validate/{}CreateValidate.java", GenConfig.adminPackage, entityName);
}
else if (template.contains("validateUpdate.java.vm")) {
fileName = StringUtil.format("java/{}/validate/{}UpdateValidate.java", GenConfig.adminPackage, entityName);
}
else if (template.contains("voListed.java.vm")) {
fileName = StringUtil.format("java/{}/vo/{}ListedVo.java", GenConfig.adminPackage, entityName);
}

View File

@ -1,53 +0,0 @@
package ${packageName}.admin.validate;
import ${packageName}.admin.validate.BaseParam;
import ${packageName}.common.validator.annotation.IDMust;
import ${packageName}.common.validator.annotation.IntegerContains;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import lombok.Data;
import javax.validation.constraints.*;
#foreach ($column in $columns)
#if ($column.javaType.equals("BigDecimal"))
import java.math.BigDecimal;
#end
#end
#set($isAuthor = !$authorName.equals(""))
/**
* ${functionName}参数
#if($isAuthor)
* @author ${authorName}
#end
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ${EntityName}Param extends BaseParam {
#foreach ($column in $columns)
#if($column.isInsert || $column.isEdit || $column.isPk==1)
#if($column.isPk)
@IDMust(message = "${column.javaField}参数必传且需大于0", groups = {update.class, delete.class})
#end
#if(!$column.isPk && $column.isRequired && !$column.columnType.equals('text'))
@NotNull(message = "${column.javaField}参数缺失", groups = {#if($column.isInsert)create.class#end#if($column.isInsert&&$column.isEdit), #end#if($column.isEdit)update.class#end})
#end
#if(!$column.isPk && $column.javaType.equals("String") && !$column.columnType.equals('text'))
@Length(max = ${column.columnLength}, message = "${column.javaField}参数不能超出${column.columnLength}个字符", groups = {#if($column.isInsert)create.class#end#if($column.isInsert&&$column.isEdit), #end#if($column.isEdit)update.class#end})
#end
#if(!$column.isPk && $column.javaField.substring(0,2)!="is" && $column.htmlType!="datetime" && ($column.javaType.equals("Integer") || $column.javaType.equals("Long")))
@DecimalMin(value = "0", message = "${column.javaField}参数值不能少于0", groups = {#if($column.isInsert)create.class#end#if($column.isInsert&&$column.isEdit), #end#if($column.isEdit)update.class#end})
#end
#if(!$column.isPk && $column.javaField.substring(0,2)=="is" && $column.javaType.equals("Integer"))
@IntegerContains(values = {0, 1}, message = "${column.javaField}参数值不在符合范围", groups = {#if($column.isInsert)create.class#end#if($column.isInsert&&$column.isEdit), #end#if($column.isEdit)update.class#end})
#end
#if(!$column.columnName.equals("create_time") && !$column.columnName.equals("update_time") && !$column.columnName.equals("delete_time"))
private ${column.javaType} ${column.javaField};
#end
#end
#end
}