调整代码生成器

This commit is contained in:
TinyAnts 2022-11-16 19:01:45 +08:00
parent 329734b332
commit 57c88cf773
11 changed files with 68 additions and 47 deletions

View File

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

View File

@ -117,13 +117,13 @@ public class VelocityUtil {
templates.add("java/controller.java.vm"); templates.add("java/controller.java.vm");
templates.add("java/service.java.vm"); templates.add("java/service.java.vm");
templates.add("java/serviceImpl.java.vm"); templates.add("java/serviceImpl.java.vm");
templates.add("java/entity.java.vm");
templates.add("java/mapper.java.vm");
templates.add("java/validateCreate.java.vm"); templates.add("java/validateCreate.java.vm");
templates.add("java/validateUpdate.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/voListed.java.vm");
templates.add("java/voDetail.java.vm"); templates.add("java/voDetail.java.vm");
templates.add("java/entity.java.vm");
templates.add("java/mapper.java.vm");
templates.add("vue/api.ts.vm"); templates.add("vue/api.ts.vm");
templates.add("vue/edit.vue.vm"); templates.add("vue/edit.vue.vm");
if (GenConstants.TPL_CRUD.equals(genTpl)) { if (GenConstants.TPL_CRUD.equals(genTpl)) {
@ -157,14 +157,6 @@ public class VelocityUtil {
fileName = StringUtil.format("java/{}/service/impl/{}ServiceImpl.java", GenConfig.adminPackage, entityName); fileName = StringUtil.format("java/{}/service/impl/{}ServiceImpl.java", GenConfig.adminPackage, entityName);
} }
else if (template.contains("entity.java.vm")) {
fileName = StringUtil.format("java/{}/entity/{}.java", GenConfig.commonPackage, 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")) { else if (template.contains("validateCreate.java.vm")) {
fileName = StringUtil.format("java/{}/validate/{}CreateValidate.java", GenConfig.adminPackage, entityName); fileName = StringUtil.format("java/{}/validate/{}CreateValidate.java", GenConfig.adminPackage, entityName);
} }
@ -182,6 +174,14 @@ public class VelocityUtil {
fileName = StringUtil.format("java/{}/vo/{}DetailVo.java", GenConfig.adminPackage, entityName); fileName = StringUtil.format("java/{}/vo/{}DetailVo.java", GenConfig.adminPackage, entityName);
} }
else if (template.contains("entity.java.vm")) {
fileName = StringUtil.format("java/{}/entity/{}.java", GenConfig.commonPackage, entityName);
}
else if (template.contains("mapper.java.vm")) {
fileName = StringUtil.format("java/{}/mapper/{}Mapper.java", GenConfig.commonPackage, entityName);
}
else if (template.contains("vue/api.ts.vm")) { else if (template.contains("vue/api.ts.vm")) {
fileName = StringUtil.format("vue/api/{}.ts", moduleName); fileName = StringUtil.format("vue/api/{}.ts", moduleName);
} }

View File

@ -8,6 +8,7 @@ import java.io.Serializable;
#foreach ($column in $columns) #foreach ($column in $columns)
#if ($column.javaType.equals("BigDecimal")) #if ($column.javaType.equals("BigDecimal"))
import java.math.BigDecimal; import java.math.BigDecimal;
#break
#end #end
#end #end

View File

@ -1,7 +1,7 @@
package ${packageName}.common.mapper; package ${packageName}.common.mapper;
import ${packageName}.common.core.basics.IBaseMapper; import ${packageName}.common.core.basics.IBaseMapper;
import ${packageName}.common.entity.${moduleName}.${EntityName}; import ${packageName}.common.entity.${EntityName};
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
#set($isAuthor = !$authorName.equals("")) #set($isAuthor = !$authorName.equals(""))

View File

@ -1,9 +1,9 @@
package ${packageName}.admin.service package ${packageName}.admin.service;
#if(!$table.genTpl.equals("crud")) #if(!$table.genTpl.equals("crud"))
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
#end #end
import ${packageName}.admin.validate.common.PageParam; import ${packageName}.admin.validate.commons.PageValidate;
import ${packageName}.admin.validate.${EntityName}CreateValidate; import ${packageName}.admin.validate.${EntityName}CreateValidate;
import ${packageName}.admin.validate.${EntityName}UpdateValidate; import ${packageName}.admin.validate.${EntityName}UpdateValidate;
import ${packageName}.admin.vo.${EntityName}ListedVo; import ${packageName}.admin.vo.${EntityName}ListedVo;
@ -28,11 +28,11 @@ public interface I${EntityName}Service {
#if(!$authorName.equals("")) #if(!$authorName.equals(""))
* @author ${authorName} * @author ${authorName}
#end #end
* @param pageParam 分页参数 * @param pageValidate 分页参数
* @param params 搜索参数 * @param params 搜索参数
* @return PageResult<${EntityName}ListedVo> * @return PageResult<${EntityName}ListedVo>
*/ */
PageResult<${EntityName}ListedVo> list(PageParam pageParam, Map<String, String> params); PageResult<${EntityName}ListedVo> list(PageValidate pageValidate, Map<String, String> params);
#elseif($table.genTpl=="tree") #elseif($table.genTpl=="tree")
/** /**
* ${functionName}列表 * ${functionName}列表
@ -53,7 +53,7 @@ public interface I${EntityName}Service {
* @author ${authorName} * @author ${authorName}
#end #end
* @param id 主键ID * @param id 主键ID
* @return ${EntityName} * @return ${EntityName}DetailVo
*/ */
${EntityName}DetailVo detail(Integer id); ${EntityName}DetailVo detail(Integer id);

View File

@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.query.MPJQueryWrapper; import com.github.yulichang.query.MPJQueryWrapper;
import ${packageName}.admin.service.I${EntityName}Service; import ${packageName}.admin.service.I${EntityName}Service;
import ${packageName}.admin.validate.common.PageParam; import ${packageName}.admin.validate.commons.PageValidate;
import ${packageName}.admin.validate.${EntityName}CreateValidate; import ${packageName}.admin.validate.${EntityName}CreateValidate;
import ${packageName}.admin.validate.${EntityName}UpdateValidate; import ${packageName}.admin.validate.${EntityName}UpdateValidate;
import ${packageName}.admin.vo.${EntityName}ListedVo; import ${packageName}.admin.vo.${EntityName}ListedVo;
@ -38,13 +38,13 @@ import java.util.*;
public class ${EntityName}ServiceImpl implements I${EntityName}Service { public class ${EntityName}ServiceImpl implements I${EntityName}Service {
## 设置模板方式的变量 ## 设置模板方式的变量
#if($table.genTpl.equals("crud")) #if($table.genTpl.equals("crud"))
#set($genTpl = "PageResult<${EntityName}ListVo>") #set($genTpl = "PageResult<${EntityName}ListedVo>")
#if($isSearch) #if($isSearch)
#set($isSearchParam = true) #set($isSearchParam = true)
#set($genParam = "PageParam pageParam, Map<String, String> params") #set($genParam = "PageValidate pageValidate, Map<String, String> params")
#else #else
#set($isSearchParam = false) #set($isSearchParam = false)
#set($genParam = "PageParam pageParam") #set($genParam = "PageValidate pageValidate")
#end #end
#else #else
#set($genTpl = "JSONArray") #set($genTpl = "JSONArray")
@ -57,7 +57,7 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
#end #end
#end #end
## 设置基本的参数变量 ## 设置基本的参数变量
#set($pageParam = "@param pageParam 分页参数") #set($pageParam = "@param pageValidate 分页参数")
#set($searchparams = "@param params 搜索参数") #set($searchparams = "@param params 搜索参数")
@Resource @Resource
@ -80,8 +80,8 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
@Override @Override
public $genTpl list($genParam) { public $genTpl list($genParam) {
#if($table.genTpl.equals("crud")) #if($table.genTpl.equals("crud"))
Integer page = pageParam.getPageNo(); Integer page = pageValidate.getPageNo();
Integer limit = pageParam.getPageSize(); Integer limit = pageValidate.getPageSize();
#end #end
#if(!$table.subTableName.equals("") && !$table.subTableFk.equals("")) #if(!$table.subTableName.equals("") && !$table.subTableFk.equals(""))
@ -141,16 +141,16 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
#if(!$table.subTableName.equals("") && !$table.subTableFk.equals("")) #if(!$table.subTableName.equals("") && !$table.subTableFk.equals(""))
#set($isJoin = true) #set($isJoin = true)
#set($joinCrudList = "${EntityName}ListVo") #set($joinCrudList = "${EntityName}ListedVo")
#set($joinCrudName = "iPage.getRecords()") #set($joinCrudName = "iPage.getRecords()")
#if($table.genTpl.equals("crud")) #if($table.genTpl.equals("crud"))
IPage<${EntityName}ListVo> iPage = ${entityName}Mapper.selectJoinPage( IPage<${EntityName}ListedVo> iPage = ${entityName}Mapper.selectJoinPage(
new Page<>(page, limit), new Page<>(page, limit),
${EntityName}ListVo.class, ${EntityName}ListedVo.class,
$queryWrapper); $queryWrapper);
#else #else
List<${EntityName}ListVo> iPage = ${entityName}Mapper.selectJoinList( List<${EntityName}ListedVo> iPage = ${entityName}Mapper.selectJoinList(
${EntityName}ListVo.class, ${EntityName}ListedVo.class,
$queryWrapper); $queryWrapper);
#end #end
#else #else
@ -173,11 +173,11 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
$listFields.contains("img")) $listFields.contains("img"))
#set($filter = true) #set($filter = true)
#if(!$isJoin) #if(!$isJoin)
List<${EntityName}ListVo> list = new LinkedList<>(); List<${EntityName}ListedVo> list = new LinkedList<>();
#end #end
for($joinCrudList item : $joinCrudName) { for($joinCrudList item : $joinCrudName) {
#if(!$isJoin) #if(!$isJoin)
${EntityName}ListVo vo = new ${EntityName}ListVo(); ${EntityName}ListedVo vo = new ${EntityName}ListedVo();
BeanUtils.copyProperties(item, vo); BeanUtils.copyProperties(item, vo);
#if($listFields.contains("image")) #if($listFields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(item.getImage())); vo.setImage(UrlUtil.toAbsoluteUrl(item.getImage()));
@ -320,18 +320,18 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
#if($isAuthor) #if($isAuthor)
* @author ${authorName} * @author ${authorName}
#end #end
* @param ${entityName}Param 参数 * @param createValidate 参数
*/ */
@Override @Override
public void add(${EntityName}Param ${entityName}Param) { public void add(${EntityName}CreateValidate createValidate) {
${EntityName} model = new ${EntityName}(); ${EntityName} model = new ${EntityName}();
#foreach ($column in $columns) #foreach ($column in $columns)
#if(($column.isInsert || $column.columnName.equals("create_time") || $column.columnName.equals("update_time")) && !$column.columnName.equals($primaryField)) #if(($column.isInsert || $column.columnName.equals("create_time") || $column.columnName.equals("update_time")) && !$column.columnName.equals($primaryField))
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.javaField.equals("image") || $column.javaField.equals("avatar") || $column.javaField.equals("logo") || $column.javaField.equals("img")) #if($column.javaField.equals("image") || $column.javaField.equals("avatar") || $column.javaField.equals("logo") || $column.javaField.equals("img"))
model.set${AttrName}(UrlUtil.toRelativeUrl(${entityName}Param.get${AttrName}())); model.set${AttrName}(UrlUtil.toRelativeUrl(createValidate.get${AttrName}()));
#elseif(!$dateFields.contains($column.columnName) and !$column.javaField.equals("isDelete")) #elseif(!$dateFields.contains($column.columnName) and !$column.javaField.equals("isDelete"))
model.set${AttrName}(${entityName}Param.get${AttrName}()); model.set${AttrName}(createValidate.get${AttrName}());
#elseif($column.htmlType=="datetime") #elseif($column.htmlType=="datetime")
model.set${AttrName}(System.currentTimeMillis() / 1000); model.set${AttrName}(System.currentTimeMillis() / 1000);
#end #end
@ -346,14 +346,14 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
#if($isAuthor) #if($isAuthor)
* @author ${authorName} * @author ${authorName}
#end #end
* @param ${entityName}Param 参数 * @param updateValidate 参数
*/ */
@Override @Override
public void edit(${EntityName}Param ${entityName}Param) { public void edit(${EntityName}UpdateValidate updateValidate) {
#set($AttrName=$primaryKey.substring(0,1).toUpperCase() + ${primaryKey.substring(1)}) #set($AttrName=$primaryKey.substring(0,1).toUpperCase() + ${primaryKey.substring(1)})
${EntityName} model = ${entityName}Mapper.selectOne( ${EntityName} model = ${entityName}Mapper.selectOne(
new QueryWrapper<${EntityName}>() new QueryWrapper<${EntityName}>()
.eq("${primaryField}", ${entityName}Param.get${AttrName}()) .eq("${primaryField}", updateValidate.get${AttrName}())
#if($allFields.contains("is_delete")) #if($allFields.contains("is_delete"))
.eq("is_delete", 0) .eq("is_delete", 0)
#end #end
@ -365,9 +365,9 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
#if($column.isEdit==1 || $column.columnName.equals("update_time")) #if($column.isEdit==1 || $column.columnName.equals("update_time"))
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.javaField.equals("image") || $column.javaField.equals("avatar") || $column.javaField.equals("logo") || $column.javaField.equals("img")) #if($column.javaField.equals("image") || $column.javaField.equals("avatar") || $column.javaField.equals("logo") || $column.javaField.equals("img"))
model.set${AttrName}(UrlUtil.toRelativeUrl(${entityName}Param.get${AttrName}())); model.set${AttrName}(UrlUtil.toRelativeUrl(updateValidate.get${AttrName}()));
#elseif(!$dateFields.contains($column.columnName) and !$column.javaField.equals("isDelete")) #elseif(!$dateFields.contains($column.columnName) and !$column.javaField.equals("isDelete"))
model.set${AttrName}(${entityName}Param.get${AttrName}()); model.set${AttrName}(updateValidate.get${AttrName}());
#elseif($column.htmlType=="datetime" && $column.columnName.equals("update_time")) #elseif($column.htmlType=="datetime" && $column.columnName.equals("update_time"))
model.set${AttrName}(System.currentTimeMillis() / 1000); model.set${AttrName}(System.currentTimeMillis() / 1000);
#end #end

View File

@ -2,6 +2,12 @@ package ${packageName}.admin.validate;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
#foreach ($column in $columns)
#if ($column.javaType.equals("BigDecimal"))
import java.math.BigDecimal;
#break
#end
#end
import javax.validation.constraints.*; import javax.validation.constraints.*;
#set($isAuthor = !$authorName.equals("")) #set($isAuthor = !$authorName.equals(""))

View File

@ -2,6 +2,12 @@ package ${packageName}.admin.validate;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
#foreach ($column in $columns)
#if ($column.javaType.equals("BigDecimal"))
import java.math.BigDecimal;
#break
#end
#end
#set($isAuthor = !$authorName.equals("")) #set($isAuthor = !$authorName.equals(""))
/** /**

View File

@ -3,6 +3,12 @@ package ${packageName}.admin.validate;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import javax.validation.constraints.*; import javax.validation.constraints.*;
#foreach ($column in $columns)
#if ($column.javaType.equals("BigDecimal"))
import java.math.BigDecimal;
#break
#end
#end
import ${packageName}.common.validator.annotation.IDMust; import ${packageName}.common.validator.annotation.IDMust;
#set($isAuthor = !$authorName.equals("")) #set($isAuthor = !$authorName.equals(""))

View File

@ -6,6 +6,7 @@ import java.io.Serializable;
#foreach ($column in $columns) #foreach ($column in $columns)
#if ($column.javaType.equals("BigDecimal")) #if ($column.javaType.equals("BigDecimal"))
import java.math.BigDecimal; import java.math.BigDecimal;
#break
#end #end
#end #end

View File

@ -6,6 +6,7 @@ import java.io.Serializable;
#foreach ($column in $columns) #foreach ($column in $columns)
#if ($column.javaType.equals("BigDecimal")) #if ($column.javaType.equals("BigDecimal"))
import java.math.BigDecimal; import java.math.BigDecimal;
#break
#end #end
#end #end
@ -17,7 +18,7 @@ import java.math.BigDecimal;
#end #end
*/ */
@Data @Data
public class ${EntityName}ListVo implements Serializable { public class ${EntityName}ListedVo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;