代码生成器模板调整

This commit is contained in:
TinyAnts 2022-07-14 15:11:04 +08:00
parent 4467008849
commit 526bff448d
10 changed files with 239 additions and 437 deletions

View File

@ -17,6 +17,9 @@ public class GlobalConfig {
// 系统加密字符
public static String secret = "UVTIyzCy";
// Mysql表前缀
public static String tablePrefix = "ls_";
// Redis键前缀
public static String redisPrefix = "Like:";

View File

@ -22,9 +22,7 @@ public class GenTable implements Serializable {
private String subTableFk;
private String authorName;
private String entityName;
private String packageName;
private String moduleName;
private String businessName;
private String functionName;
private String treePrimary;
private String treeParent;

View File

@ -29,6 +29,7 @@ public class GenTableColumn implements Serializable {
private Integer isInsert;
private Integer isEdit;
private Integer isList;
private Integer isDetail;
private Integer isQuery;
private String queryType;
private String htmlType;

View File

@ -150,8 +150,6 @@ public class GenerateServiceImpl implements IGenerateService {
gen.put("genType", genTable.getGenType());
gen.put("genPath", genTable.getGenPath());
gen.put("moduleName", genTable.getModuleName());
gen.put("packageName", genTable.getPackageName());
gen.put("businessName", genTable.getBusinessName());
gen.put("functionName", genTable.getFunctionName());
maps.put("gen", gen);
@ -227,8 +225,6 @@ public class GenerateServiceImpl implements IGenerateService {
model.setAuthorName(genParam.getAuthorName());
model.setEntityName(genParam.getEntityName());
model.setModuleName(genParam.getModuleName());
model.setPackageName(genParam.getPackageName());
model.setBusinessName(genParam.getBusinessName());
model.setFunctionName(genParam.getFunctionName());
model.setTreePrimary(genParam.getTreePrimary());
model.setTreeParent(genParam.getTreeParent());

View File

@ -29,9 +29,7 @@ public class GenUtil {
table.setTableComment(tableDesc);
table.setAuthorName(map.getOrDefault("author_name", ""));
table.setEntityName(GenUtil.toClassName(tableName));
table.setModuleName(GenUtil.toBusinessName(tableName));
table.setPackageName(GenConfig.packageName);
table.setBusinessName(GenUtil.toBusinessName(tableName));
table.setModuleName(GenUtil.toModuleName(tableName));
table.setFunctionName(GenUtil.replaceText(tableDesc));
table.setCreateTime(System.currentTimeMillis() / 1000);
table.setUpdateTime(System.currentTimeMillis() / 1000);
@ -142,19 +140,6 @@ public class GenUtil {
}
}
/**
* 转模块名
*
* @author fzr
* @param packageName 包名
* @return 模块名
*/
public static String toModuleName(String packageName) {
int lastIndex = packageName.lastIndexOf(".");
int nameLength = packageName.length();
return StringUtil.substring(packageName, lastIndex + 1, nameLength);
}
/**
* 转业务名
*
@ -162,7 +147,7 @@ public class GenUtil {
* @param tableName 表名
* @return 业务名
*/
public static String toBusinessName(String tableName) {
public static String toModuleName(String tableName) {
int lastIndex = tableName.lastIndexOf("_");
int nameLength = tableName.length();
return StringUtil.substring(tableName, lastIndex + 1, nameLength);

View File

@ -2,6 +2,7 @@ package com.hxkj.generator.util;
import com.hxkj.common.utils.StringUtil;
import com.hxkj.generator.config.GenConfig;
import com.hxkj.generator.constant.SqlConstants;
import com.hxkj.generator.entity.GenTable;
import com.hxkj.generator.entity.GenTableColumn;
import org.apache.velocity.VelocityContext;
@ -38,12 +39,19 @@ public class VelocityUtil {
* @return VelocityContext
*/
public static VelocityContext prepareContext(GenTable table, List<GenTableColumn> columns) {
// 处理变量字段
boolean isSearch = false;
List<String> fields = new LinkedList<>();
boolean isSearch = false; // 是否需要搜索
List<String> allFields = new LinkedList<>(); // 所有字段
List<String> listFields = new LinkedList<>(); // 列表字段
List<String> detailFields = new LinkedList<>(); // 详情字段
for (GenTableColumn column : columns) {
allFields.add(column.getColumnName());
if (column.getIsList() == 1) {
listFields.add(column.getColumnName());
}
if (column.getIsDetail() == 1) {
detailFields.add(column.getColumnName());
}
if (column.getIsQuery() == 1) {
fields.add(column.getColumnName());
isSearch = true;
}
}
@ -60,7 +68,10 @@ public class VelocityUtil {
velocityContext.put("functionName", StringUtil.isNotEmpty(table.getFunctionName()) ? table.getFunctionName() : "【请填写功能名称】");
velocityContext.put("table", table);
velocityContext.put("columns", columns);
velocityContext.put("fields", fields);
velocityContext.put("dateFields", SqlConstants.COLUMN_TIME_NAME);
velocityContext.put("allFields", allFields);
velocityContext.put("listFields", listFields);
velocityContext.put("detailFields", detailFields);
velocityContext.put("isSearch", isSearch);
return velocityContext;
}

View File

@ -4,16 +4,17 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.query.MPJQueryWrapper;
import ${packageName}.admin.service.${moduleName}.IArticleService;
import ${packageName}.admin.service.${moduleName}.I${EntityName}Service;
import ${packageName}.admin.validate.common.PageParam;
import ${packageName}.admin.validate.${moduleName}.ArticleParam;
import ${packageName}.admin.validate.${moduleName}.${EntityName}Param;
import ${packageName}.admin.vo.${moduleName}.${EntityName}ListVo;
import ${packageName}.admin.vo.${moduleName}.${EntityName}DetailVo;
import ${packageName}.common.core.PageResult;
import ${packageName}.common.entity.${moduleName}.Article;
import ${packageName}.common.mapper.${moduleName}.ArticleMapper;
import ${packageName}.common.entity.${moduleName}.${EntityName};
import ${packageName}.common.mapper.${moduleName}.${EntityName}Mapper;
import ${packageName}.common.utils.TimeUtil;
import ${packageName}.common.utils.UrlUtil;
import com.hxkj.common.config.GlobalConfig;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
@ -25,408 +26,250 @@ import java.util.*;
*/
@Service
public class ${EntityName}ServiceImpl implements I${EntityName}Service {
## 设置模板方式的变量
#if($table.genTpl.equals("curd"))
#set($genTpl = "PageResult<${EntityName}ListVo>")
#if($isSearch)
#set($isSearchParam = true)
#set($genParam = "PageParam pageParam, Map<String, String> params")
#else
#set($isSearchParam = false)
#set($genParam = "PageParam pageParam")
#end
#else
#set($genTpl = "JSONArray")
#if($isSearch)
#set($isSearchParam = true)
#set($genParam = "Map<String, String> params")
#else
#set($isSearchParam = false)
#set($genParam = "")
#end
#end
## 设置基本的参数变量
#set($isAuthor = !$authorName.equals(""))
#set($pageParam = "@param pageParam 分页参数")
#set($searchparams = "@param params 搜索参数")
@Resource
${EntityName}Mapper ${entityName}Mapper;
#if($table.sub_table_name.equals(""))
#if($table.genTpl=="curd")
/**
* ${functionName}列表
*
#if(!$authorName.equals(""))
#if($isAuthor)
* @author ${authorName}
#end
* @param pageParam 分页参数
* @param params 搜索参数
* @return PageResult<${EntityName}Vo>
* ${pageParam}
#if($isSearchParam)
* ${searchparams}
#end
* @return $genTpl
*/
@Override
public PageResult<${EntityName}ListVo> list(PageParam pageParam, Map<String, String> params) {
Integer page = pageParam.getPageNo();
Integer limit = pageParam.getPageSize();
public $genTpl list($genParam) {
#if($table.genTpl.equals("curd"))
Integer pageNo = pageParam.getPageNo();
Integer pageSize = pageParam.getPageSize();
#end
#if(!$table.subTableName.equals("") && !$table.subTableFk.equals(""))
MPJQueryWrapper<${EntityName}> queryWrapper = new MPJQueryWrapper<>();
queryWrapper.innerJoin("?_$table.subTableName f ON f.$table.SubTableFk=t.id".replace("?_", GlobalConfig.tablePrefix));
#else
QueryWrapper<${EntityName}> queryWrapper = new QueryWrapper<>();
#if($isSearch)
#if($fields.contains("is_delete"))
queryWrapper.eq("is_delete", 0);
#end
#if($fields.contains("sort"))
queryWrapper.orderByDesc(Arrays.asList("sort", "id"));
#else
queryWrapper.orderByDesc("id");
#end
#end
#if($isSearch)
${entityName}Mapper.setSearch(queryWrapper, params, new String[]{
#foreach ($column in $columns)
#if($column.isQuery)
#if($column.queryType=="datetime")
"datetime:startTime-endTime@${column.columnName}:str"
#else
#if($column.javaType=="Integer")
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:int",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:int",
#end
#elseif($column.javaType=="Long")
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:long",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:long",
#end
#else
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:str",
#else
"${column.queryType.toLowerCase()}:${column.javaField}@${column.columnName}:str",
#end
#end
#end
#end
#end
});
#end
IPage<${EntityName}ListVo> iPage = ${entityName}Mapper.selectPage(new Page<>(page, limit), queryWrapper);
#if($fields.contains("create_time") || $fields.contains("update_time"))
List<${EntityName}ListVo> list = new ArrayList<>();
#end
for (${EntityName}ListVo item : iPage.getRecords()) {
${EntityName}ListVo vo = new ${EntityName}ListVo();
BeanUtils.copyProperties(item, vo);
#if($fields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(vo.getImage()));
#end
#if($fields.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(vo.getAvatar()))
#end
#if($fields.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(vo.getLogo()))
#end
#if($fields.contains("create_time"))
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
#end
#if($fields.contains("update_time"))
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
#end
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
#else
return PageResult.iPageHandle(iPage);
#end
}
#elseif($table.genTpl=="tree")
/**
* ${functionName}列表
*
#if(!$authorName.equals(""))
* @author ${authorName}
#end
* @param params 搜索参数
* @return PageResult<${EntityName}Vo>
*/
@Override
public JSONArray list(Map<String, String> params) {
QueryWrapper<${EntityName}> queryWrapper = new QueryWrapper<>();
#if($isSearch)
#if($fields.contains("is_delete"))
queryWrapper.eq("is_delete", 0);
#end
#if($fields.contains("sort"))
queryWrapper.orderByDesc(Arrays.asList("sort", "id"));
#else
queryWrapper.orderByDesc("id");
#end
#end
#if($isSearch)
${entityName}Mapper.setSearch(queryWrapper, params, new String[]{
#foreach ($column in $columns)
#if($column.isQuery)
#if($column.queryType=="datetime")
"datetime:startTime-endTime@${column.columnName}:str"
#else
#if($column.javaType=="Integer")
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:int",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:int",
#end
#elseif($column.javaType=="Long")
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:long",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:long",
#end
#else
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:str",
#else
"${column.queryType.toLowerCase()}:${column.javaField}@${column.columnName}:str",
#end
#end
#end
#end
#end
});
#end
List<${EntityName}> arrayData = ${entityName}Mapper.selectList(queryWrapper);
#if($fields.contains("create_time") || $fields.contains("update_time"))
List<${EntityName}ListVo> list = new ArrayList<>();
for (${EntityName} item : arrayData) {
${EntityName}ListVo vo = new ${EntityName}ListVo();
BeanUtils.copyProperties(item, vo);
#if($fields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(vo.getImage()))
#end
#if($fields.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(vo.getAvatar()))
#end
#if($fields.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(vo.getLogo()))
#end
#if($fields.contains("create_time"))
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
#end
#if($fields.contains("update_time"))
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
#end
list.add(vo);
}
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(list));
return ArrayUtil.listToTree(jsonArray, "${table.treePrimary}", "${table.treeParent}", "children");
#else
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(arrayData));
return ArrayUtil.listToTree(jsonArray, "${table.treePrimary}", "${table.treeParent}", "children");
#end
}
#end
#else
#if($table.genTpl=="curd")
/**
* ${functionName}列表
*
#if(!$authorName.equals(""))
* @author ${authorName}
#end
* @param pageParam 分页参数
* @param params 搜索参数
* @return PageResult<${EntityName}Vo>
*/
@Override
public#if($isEqually) PageResult<${EntityName}Vo>#else PageResult<${EntityName}ListVo>#end list(PageParam pageParam, Map<String, String> params) {
Integer page = pageParam.getPageNo();
Integer limit = pageParam.getPageSize();
MPJQueryWrapper<${EntityName}> mpjQueryWrapper = new MPJQueryWrapper<>();
mpjQueryWrapper.leftJoin("{$table.sub_table_name} f ON f.{$table.sub_table_fk}=t.id");
#if($isSearch)
#end
#if($fields.contains("is_delete"))
mpjQueryWrapper.eq("is_delete", 0);
queryWrapper.eq("is_delete", 0);
#end
#if($fields.contains("sort"))
mpjQueryWrapper.orderByDesc(Arrays.asList("sort", "id"));
queryWrapper.orderByDesc(Arrays.asList("sort", "id"));
#else
mpjQueryWrapper.orderByDesc("id");
#end
queryWrapper.orderByDesc("id");
#end
#if($isSearch)
#if($isSearch)
${entityName}Mapper.setSearch(mpjQueryWrapper, params, new String[]{
#foreach ($column in $columns)
#if($column.isQuery)
#if($column.queryType=="datetime")
"datetime:startTime-endTime@${column.columnName}:str"
#foreach ($column in $columns)
#if($column.isQuery)
#if($dateFields.contains($column.columnName))
"datetime:startTime-endTime@${column.columnName}:str"
#elseif($column.javaType=="Integer")
#if($column.javaField.equals($column.columnName))
"${column.queryType.toLowerCase()}:${column.javaField}:int",
#else
#if($column.javaType=="Integer")
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:int",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:int",
#end
#elseif($column.javaType=="Long")
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:long",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:long",
#end
#else
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:str",
#else
"${column.queryType.toLowerCase()}:${column.javaField}@${column.columnName}:str",
#end
#end
"${column.queryType.toLowerCase()}:${column.javaField}@${column.columnName}:int",
#end
#elseif($column.javaType=="Long")
#if($column.javaField.equals($column.columnName))
"${column.queryType.toLowerCase()}:${column.javaField}:long",
#else
"${column.queryType.toLowerCase()}:${column.javaField}@${column.columnName}:long",
#end
#else
#if($column.javaField.equals($column.columnName))
"${column.queryType.toLowerCase()}:${column.javaField}:str",
#else
"${column.queryType.toLowerCase()}:${column.javaField}@${column.columnName}:str",
#end
#end
#end
});
#end
#end
#end
}
#end
#if(!$table.subTableName.equals("") && !$table.subTableFk.equals(""))
#set($isJoin = true)
#set($joinCurdList = "${EntityName}ListVo")
#set($joinCurdName = "iPage.getRecords()")
#if($table.genTpl.equals("curd"))
IPage<${EntityName}ListVo> iPage = ${entityName}Mapper.selectJoinPage(
new Page<>(page, limit),
${EntityName}ListVo.class,
mpjQueryWrapper);
for (${EntityName}ListVo vo : iPage.getRecords()) {
#if($fields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(vo.getImage()));
#end
#if($fields.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(vo.getAvatar()))
#end
#if($fields.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(vo.getLogo()))
#end
#if($fields.contains("create_time"))
vo.setCreateTime(TimeUtil.timestampToDate(vo.getCreateTime()));
#end
#if($fields.contains("update_time"))
vo.setUpdateTime(TimeUtil.timestampToDate(vo.getUpdateTime()));
#end
}
return PageResult.iPageHandle(iPage);
}
#elseif($table.genTpl=="tree")
/**
* ${functionName}列表
*
#if(!$authorName.equals(""))
* @author ${authorName}
#end
* @param params 搜索参数
* @return PageResult<${EntityName}Vo>
*/
@Override
public JSONArray list(Map<String, String> params) {
MPJQueryWrapper<${EntityName}> mpjQueryWrapper = new MPJQueryWrapper<>();
#if($isSearch)
#if($fields.contains("is_delete"))
mpjQueryWrapper.eq("t.is_delete", 0);
#end
#if($fields.contains("sort"))
mpjQueryWrapper.orderByDesc(Arrays.asList("t.sort", "t.id"));
#else
List<${EntityName}ListVo> iPage = ${entityName}Mapper.selectJoinList(
${EntityName}ListVo.class,
mpjQueryWrapper);
#end
#else
mpjQueryWrapper.orderByDesc("t.id");
#end
#set($isJoin = false)
#set($joinCurdList = "${EntityName}")
#if($table.genTpl.equals("curd"))
#set($joinCurdName = "iPage.getRecords()")
IPage<${EntityName}> iPage = ${entityName}Mapper.selectPage(new Page<>(page, limit), queryWrapper);
#else
#set($joinCurdName = "array")
List<${EntityName}> array = ${entityName}Mapper.selectList(queryWrapper);
#end
#end
#if($isSearch)
${entityName}Mapper.setSearch(mpjQueryWrapper, params, new String[]{
#foreach ($column in $columns)
#if($column.isQuery)
#if($column.queryType=="datetime")
"datetime:startTime-endTime@t.${column.columnName}:str"
#else
#if($column.javaType=="Integer")
"${column.queryType}:${column.javaField}@t.${column.columnName}:int",
#elseif($column.javaType=="Long")
"${column.queryType}:${column.javaField}@t.${column.columnName}:long",
#else
"${column.queryType}:${column.javaField}@t.${column.columnName}:str",
#end
#end
#set($filter = false)
#if($listFields.contains("create_time") || $listFields.contains("update_time") ||
$listFields.contains("delete_time") || $listFields.contains("start_time") ||
$listFields.contains("end_time") || $listFields.contains("image") ||
$listFields.contains("avatar") || $listFields.contains("logo") ||
$listFields.contains("img"))
#set($filter = true)
#if(!$isJoin)
List<${EntityName}ListVo> list = new LinkedList<>();
#end
#end
});
#end
List<${EntityNameList}> arrayData = ${entityName}Mapper.selectJoinList(
${EntityName}ListVo.class,
mpjQueryWrapper);
#if($fields.contains("create_time") || $fields.contains("update_time"))
for (${EntityName} item : arrayData) {
#if($isEqually)
${EntityName}Vo vo = new ${EntityName}Vo();
#else
for($joinCurdList item : $joinCurdName) {
#if(!$isJoin)
${EntityName}ListVo vo = new ${EntityName}Vo();
#end
BeanUtils.copyProperties(item, vo);
#if($fields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(vo.getImage()))
#end
#if($fields.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(vo.getAvatar()))
#if($listFields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(item.getImage()))
#end
#if($fields.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(vo.getLogo()))
#if($listFields.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(item.getAvatar()))
#end
#if($fields.contains("create_time"))
#if($listFields.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(item.getLogo()))
#end
#if($listFields.contains("img"))
vo.setImg(UrlUtil.toAbsoluteUrl(item.getImg()))
#end
#if($listFields.contains("create_time"))
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
#end
#if($fields.contains("update_time"))
#if($listFields.contains("update_time"))
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
#end
list.add(vo);
#if($listFields.contains("delete_time"))
vo.setDeleteTime(TimeUtil.timestampToDate(item.getDeleteTime()));
#end
#if($listFields.contains("start_time"))
vo.setStartTime(TimeUtil.timestampToDate(item.getStartTime()));
#end
#if($listFields.contains("end_time"))
vo.setEndTime(TimeUtil.timestampToDate(item.getEndTime()));
#end
#if(!$isJoin)
list.add(vo)
#end
}
#end
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(arrayData));
return ArrayUtil.listToTree(jsonArray, "${table.treePrimary}", "${table.treeParent}", "children");
}
#end
#end
#if($table.genTpl.equals("curd"))
#if($isJoin)
return PageResult.iPageHandle(iPage);
#else
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
#end
#else
#if($filter)
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(list));
#else
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(array));
#end
return ArrayUtil.listToTree(jsonArray, "${table.treePrimary}", "${table.treeParent}", "children");
#end
}
/**
* ${functionName}详情
*
#if(!$authorName.equals(""))
#if($isAuthor)
* @author ${authorName}
#end
* @param id 主键参数
* @return ${EntityName}
*/
@Override
public#if($isEqually) ${EntityName}Vo#else ${EntityName}DetailVo#end detail(Integer id) {
Article model = ${entityName}Mapper.selectOne(
#if($field.contains("is_delete"))
new QueryWrapper<${EntityName}>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
#else
new QueryWrapper<${EntityName}>()
.eq("id", id)
.last("limit 1"));
#end
public ${EntityName}DetailVo detail(Integer id) {
${EntityName} model = new QueryWrapper<${EntityName}>()
.eq("id", id)
#if($allFields.contains("is_delete"))
.eq("is_delete", 0)
#end
.last("limit 1"));
Assert.notNull(model, "${functionName}不存在}");
Assert.notNull(model, "数据不存在");
ArticleDetailVo vo = new ArticleDetailVo();
#if($field.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(model.getImage()));
${EntityName}DetailVo vo = new ${EntityName}DetailVo();
BeanUtils.copyProperties(model, vo);
#if($detailFields.contains("create_time") || $detailFields.contains("update_time") ||
$detailFields.contains("delete_time") || $detailFields.contains("start_time") ||
$detailFields.contains("end_time") || $detailFields.contains("image") ||
$detailFields.contains("avatar") || $detailFields.contains("logo") ||
$detailFields.contains("img"))
#if($detailFields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(model.getImage()))
#end
#if($field.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(model.getAvatar()));
#if($detailFields.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(model.getAvatar()))
#end
#if($field.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(model.getLogo()));
#if($detailFields.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(model.getLogo()))
#end
#if($field.contains("create_time"))
#if($detailFields.contains("img"))
vo.setImg(UrlUtil.toAbsoluteUrl(model.getImg()))
#end
#if($detailFields.contains("create_time"))
vo.setCreateTime(TimeUtil.timestampToDate(model.getCreateTime()));
#end
#if($field.contains("update_time"))
#if($detailFields.contains("update_time"))
vo.setUpdateTime(TimeUtil.timestampToDate(model.getUpdateTime()));
#end
#if($field.contains("delete_time"))
vo.setUpdateTime(TimeUtil.timestampToDate(model.getUpdateTime()));
#if($detailFields.contains("delete_time"))
vo.setDeleteTime(TimeUtil.timestampToDate(model.getDeleteTime()));
#end
#if($detailFields.contains("start_time"))
vo.setStartTime(TimeUtil.timestampToDate(model.getStartTime()));
#end
#if($detailFields.contains("end_time"))
vo.setEndTime(TimeUtil.timestampToDate(model.getEndTime()));
#end
#end
return vo;
}
/**
* ${functionName}新增
*
#if(!$authorName.equals(""))
#if($isAuthor)
* @author ${authorName}
#end
* @param ${entityName}Param 参数
@ -435,13 +278,13 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
public void add(${EntityName}Param ${entityName}Param) {
${EntityName} model = new ${EntityName}();
#foreach ($column in $columns)
#if(!$column.isIncrement)
#if($column.isInsert)
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.javaField.equals("image") || $colum.javaField.equals("avatar") || $colum.javaField.equals("logo"))
#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}()));
#elseif(!$column.javaField.equals("createTime") and !$column.javaField.equals("deleteTime") and !$column.javaField.equals("updateTime") and !$column.javaField.equals("isDelete"))
#elseif(!$dateFields.contains($column.columnName) and !$column.javaField.equals("isDelete"))
model.set${AttrName}(${entityName}Param.get${AttrName}());
#elseif($column.javaField.equals("createTime") || $column.javaField.equals("updateTime"))
#elseif($dateFields.contains($column.columnName))
model.set${AttrName}(System.currentTimeMillis() / 1000);
#end
#end
@ -452,35 +295,30 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
/**
* ${functionName}编辑
*
#if(!$authorName.equals(""))
#if($isAuthor)
* @author ${authorName}
#end
* @param ${entityName}Param 参数
*/
@Override
public void edit(${EntityName}Param ${entityName}Param) {
${EntityName} model = ${entityName}Mapper.selectOne(
#if($field.contains("is_delete"))
new QueryWrapper<${EntityName}>()
.eq("id", ${entityName}Param.getId())
.eq("is_delete", 0)
.last("limit 1"));
#else
new QueryWrapper<${EntityName}>()
.eq("id", ${entityName}Param.getId())
.last("limit 1"));
#end
${EntityName} model = new QueryWrapper<${EntityName}>()
.eq("id", id)
#if($allFields.contains("is_delete"))
.eq("is_delete", 0)
#end
.last("limit 1"));
Assert.notNull(model, "${functionName}不存在!");
Assert.notNull(model, "数据不存在!");
#foreach ($column in $columns)
#if(!$column.isIncrement)
#if($column.isEdit==1)
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.javaField.equals("image") || $colum.javaField.equals("avatar") || $colum.javaField.equals("logo"))
#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}()));
#elseif(!$column.javaField.equals("createTime") and !$column.javaField.equals("deleteTime") and !$column.javaField.equals("updateTime") and !$column.javaField.equals("isDelete"))
#elseif(!$dateFields.contains($column.columnName) and !$column.javaField.equals("isDelete"))
model.set${AttrName}(${entityName}Param.get${AttrName}());
#elseif($column.javaField.equals("updateTime"))
#elseif($dateFields.contains($column.columnName))
model.set${AttrName}(System.currentTimeMillis() / 1000);
#end
#end
@ -491,38 +329,31 @@ public class ${EntityName}ServiceImpl implements I${EntityName}Service {
/**
* ${functionName}删除
*
#if(!$authorName.equals(""))
#if($isAuthor)
* @author ${authorName}
#end
* @param id 主键ID
*/
@Override
public void del(Integer id) {
${EntityName} model = ${entityName}Mapper.selectOne(
#if($fields.contains("is_delete"))
new QueryWrapper<${EntityName}>()
.select("id")
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
#else
new QueryWrapper<${EntityName}>()
.select("id")
.eq("id", id)
.last("limit 1"));
#end
${EntityName} model = new QueryWrapper<${EntityName}>()
.eq("id", id)
#if($allFields.contains("is_delete"))
.eq("is_delete", 0)
#end
.last("limit 1"));
Assert.notNull(model, "${functionName}不存在!");
Assert.notNull(model, "数据不存在!");
#if($fields.contains("is_delete"))
#if($allFields.contains("is_delete"))
model.setIsDelete(1);
#if($fields.contains("delete_time"))
#if($allFields.contains("delete_time"))
model.setDeleteTime(System.currentTimeMillis() / 1000);
#end
${entityName}Mapper.updateById(model);
#else
${entityName}Mapper.delete(new QueryWrapper<${EntityName}>().eq("id", id));
#end
#else
${entityName}Mapper.delete(new QueryWrapper<${EntityName}>().eq("id", id));
#end
}
}

View File

@ -1,25 +0,0 @@
package ${packageName}.admin.vo.${moduleName};
import lombok.Data;
import java.io.Serializable;
/**
* ${EntityName}Vo
*/
@Data
public class ${EntityName}Vo implements Serializable {
private static final long serialVersionUID = 1L;
#foreach ($column in $columns)
#if($column.isList==1 || $column.isQuery==1)
#if($column.javaField.equals("createTime") || $column.javaField.equals("updateTime") || $column.javaField.equals("deleteTime"))
private String ${column.javaField};
#else
private ${column.javaType} ${column.javaField};
#end
#end
#end
}

View File

@ -13,11 +13,13 @@ public class ${EntityName}DetailVo implements Serializable {
private static final long serialVersionUID = 1L;
#foreach ($column in $columns)
#if($column.javaField.equals("createTime") || $column.javaField.equals("updateTime") || $column.javaField.equals("deleteTime"))
private String ${column.javaField};
#if($column.isDetail==1)
#if($dateFields.contains($column.columnName))
private String ${column.javaField}; // ${column.columnComment}
#else
private ${column.javaType} ${column.javaField};
private ${column.javaType} ${column.javaField}; // ${column.columnComment}
#end
#end
#end
}

View File

@ -14,10 +14,10 @@ public class ${EntityName}ListVo implements Serializable {
#foreach ($column in $columns)
#if($column.isList==1)
#if($column.javaField.equals("createTime") || $column.javaField.equals("updateTime") || $column.javaField.equals("deleteTime"))
private String ${column.javaField};
#if($dateFields.contains($column.columnName))
private String ${column.javaField}; // ${column.columnComment}
#else
private ${column.javaType} ${column.javaField};
private ${column.javaType} ${column.javaField}; // ${column.columnComment}
#end
#end
#end