feat();代码生成器更改
parent
5c4e7c8f1b
commit
3ab7f9fec8
|
@ -1,5 +1,7 @@
|
||||||
package com.muyu.gen.config;
|
package com.muyu.gen.config;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.Getter;
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@ -8,17 +10,20 @@ import org.springframework.stereotype.Component;
|
||||||
*
|
*
|
||||||
* @author muyu
|
* @author muyu
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
@Component
|
@Component
|
||||||
@ConfigurationProperties(prefix = "gen")
|
@ConfigurationProperties(prefix = "gen")
|
||||||
public class GenConfig {
|
public class GenConfig {
|
||||||
/**
|
/**
|
||||||
* 作者
|
* 作者
|
||||||
*/
|
*/
|
||||||
|
@Getter
|
||||||
public static String author;
|
public static String author;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成包路径
|
* 生成包路径
|
||||||
*/
|
*/
|
||||||
|
@Getter
|
||||||
public static String packageName;
|
public static String packageName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -29,37 +34,10 @@ public class GenConfig {
|
||||||
/**
|
/**
|
||||||
* 表前缀(类名不会包含表前缀)
|
* 表前缀(类名不会包含表前缀)
|
||||||
*/
|
*/
|
||||||
|
@Getter
|
||||||
public static String tablePrefix;
|
public static String tablePrefix;
|
||||||
|
|
||||||
public static String getAuthor () {
|
|
||||||
return author;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAuthor (String author) {
|
|
||||||
GenConfig.author = author;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getPackageName () {
|
|
||||||
return packageName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPackageName (String packageName) {
|
|
||||||
GenConfig.packageName = packageName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean getAutoRemovePre () {
|
public static boolean getAutoRemovePre () {
|
||||||
return autoRemovePre;
|
return autoRemovePre;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAutoRemovePre (boolean autoRemovePre) {
|
|
||||||
GenConfig.autoRemovePre = autoRemovePre;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getTablePrefix () {
|
|
||||||
return tablePrefix;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTablePrefix (String tablePrefix) {
|
|
||||||
GenConfig.tablePrefix = tablePrefix;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package com.muyu.gen.service;
|
package com.muyu.gen.service.impl;
|
||||||
|
|
||||||
import com.muyu.gen.domain.GenTableColumn;
|
import com.muyu.gen.domain.GenTableColumn;
|
||||||
import com.muyu.gen.mapper.GenTableColumnMapper;
|
import com.muyu.gen.mapper.GenTableColumnMapper;
|
||||||
|
import com.muyu.gen.service.IGenTableColumnService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.muyu.gen.service;
|
package com.muyu.gen.service.impl;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSON;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
@ -12,6 +12,7 @@ import com.muyu.gen.domain.GenTable;
|
||||||
import com.muyu.gen.domain.GenTableColumn;
|
import com.muyu.gen.domain.GenTableColumn;
|
||||||
import com.muyu.gen.mapper.GenTableColumnMapper;
|
import com.muyu.gen.mapper.GenTableColumnMapper;
|
||||||
import com.muyu.gen.mapper.GenTableMapper;
|
import com.muyu.gen.mapper.GenTableMapper;
|
||||||
|
import com.muyu.gen.service.IGenTableService;
|
||||||
import com.muyu.gen.util.GenUtils;
|
import com.muyu.gen.util.GenUtils;
|
||||||
import com.muyu.gen.util.VelocityInitializer;
|
import com.muyu.gen.util.VelocityInitializer;
|
||||||
import com.muyu.gen.util.VelocityUtils;
|
import com.muyu.gen.util.VelocityUtils;
|
|
@ -171,16 +171,16 @@ public class GenUtils {
|
||||||
/**
|
/**
|
||||||
* 批量替换前缀
|
* 批量替换前缀
|
||||||
*
|
*
|
||||||
* @param replacementm 替换值
|
* @param replaceMentm 替换值
|
||||||
* @param searchList 替换列表
|
* @param searchList 替换列表
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static String replaceFirst (String replacementm, String[] searchList) {
|
public static String replaceFirst (String replaceMentm, String[] searchList) {
|
||||||
String text = replacementm;
|
String text = replaceMentm;
|
||||||
for (String searchString : searchList) {
|
for (String searchString : searchList) {
|
||||||
if (replacementm.startsWith(searchString)) {
|
if (replaceMentm.startsWith(searchString)) {
|
||||||
text = replacementm.replaceFirst(searchString, "");
|
text = replaceMentm.replaceFirst(searchString, "");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,7 @@ public class VelocityUtils {
|
||||||
velocityContext.put("permissionPrefix", getPermissionPrefix(moduleName, businessName));
|
velocityContext.put("permissionPrefix", getPermissionPrefix(moduleName, businessName));
|
||||||
velocityContext.put("columns", genTable.getColumns());
|
velocityContext.put("columns", genTable.getColumns());
|
||||||
velocityContext.put("table", genTable);
|
velocityContext.put("table", genTable);
|
||||||
velocityContext.put("dicts", getDicts(genTable));
|
velocityContext.put("dicts", getDictList(genTable));
|
||||||
setMenuVelocityContext(velocityContext, genTable);
|
setMenuVelocityContext(velocityContext, genTable);
|
||||||
if (GenConstants.TPL_TREE.equals(tplCategory)) {
|
if (GenConstants.TPL_TREE.equals(tplCategory)) {
|
||||||
setTreeVelocityContext(velocityContext, genTable);
|
setTreeVelocityContext(velocityContext, genTable);
|
||||||
|
@ -86,7 +86,7 @@ public class VelocityUtils {
|
||||||
public static void setTreeVelocityContext (VelocityContext context, GenTable genTable) {
|
public static void setTreeVelocityContext (VelocityContext context, GenTable genTable) {
|
||||||
String options = genTable.getOptions();
|
String options = genTable.getOptions();
|
||||||
JSONObject paramsObj = JSON.parseObject(options);
|
JSONObject paramsObj = JSON.parseObject(options);
|
||||||
String treeCode = getTreecode(paramsObj);
|
String treeCode = getTreeCode(paramsObj);
|
||||||
String treeParentCode = getTreeParentCode(paramsObj);
|
String treeParentCode = getTreeParentCode(paramsObj);
|
||||||
String treeName = getTreeName(paramsObj);
|
String treeName = getTreeName(paramsObj);
|
||||||
|
|
||||||
|
@ -125,12 +125,15 @@ public class VelocityUtils {
|
||||||
* @return 模板列表
|
* @return 模板列表
|
||||||
*/
|
*/
|
||||||
public static List<String> getTemplateList (String tplCategory) {
|
public static List<String> getTemplateList (String tplCategory) {
|
||||||
List<String> templates = new ArrayList<>();
|
List<String> templates = new ArrayList<String>();
|
||||||
templates.add("vm/java/domain.java.vm");
|
templates.add("vm/java/domain.java.vm");
|
||||||
templates.add("vm/java/mapper.java.vm");
|
templates.add("vm/java/query.java.vm");
|
||||||
|
templates.add("vm/java/save.java.vm");
|
||||||
|
templates.add("vm/java/edit.java.vm");
|
||||||
|
templates.add("vm/java/controller.java.vm");
|
||||||
templates.add("vm/java/service.java.vm");
|
templates.add("vm/java/service.java.vm");
|
||||||
templates.add("vm/java/serviceImpl.java.vm");
|
templates.add("vm/java/serviceImpl.java.vm");
|
||||||
templates.add("vm/java/controller.java.vm");
|
templates.add("vm/java/mapper.java.vm");
|
||||||
templates.add("vm/xml/mapper.xml.vm");
|
templates.add("vm/xml/mapper.xml.vm");
|
||||||
templates.add("vm/sql/sql.vm");
|
templates.add("vm/sql/sql.vm");
|
||||||
templates.add("vm/js/api.js.vm");
|
templates.add("vm/js/api.js.vm");
|
||||||
|
@ -167,12 +170,19 @@ public class VelocityUtils {
|
||||||
if (template.contains("domain.java.vm")) {
|
if (template.contains("domain.java.vm")) {
|
||||||
fileName = StringUtils.format("{}/domain/{}.java", javaPath, className);
|
fileName = StringUtils.format("{}/domain/{}.java", javaPath, className);
|
||||||
}
|
}
|
||||||
if (template.contains("sub-domain.java.vm") && StringUtils.equals(GenConstants.TPL_SUB, genTable.getTplCategory())) {
|
if (template.contains("query.java.vm")) {
|
||||||
fileName = StringUtils.format("{}/domain/{}.java", javaPath, genTable.getSubTable().getClassName());
|
fileName = StringUtils.format("{}/domain/req/{}QueryReq.java", javaPath, className);
|
||||||
} else if (template.contains("mapper.java.vm")) {
|
}
|
||||||
|
if (template.contains("save.java.vm")) {
|
||||||
|
fileName = StringUtils.format("{}/domain/req/{}SaveReq.java", javaPath, className);
|
||||||
|
}
|
||||||
|
if (template.contains("edit.java.vm")) {
|
||||||
|
fileName = StringUtils.format("{}/domain/req/{}EditReq.java", javaPath, className);
|
||||||
|
}
|
||||||
|
if (template.contains("mapper.java.vm")) {
|
||||||
fileName = StringUtils.format("{}/mapper/{}Mapper.java", javaPath, className);
|
fileName = StringUtils.format("{}/mapper/{}Mapper.java", javaPath, className);
|
||||||
} else if (template.contains("service.java.vm")) {
|
} else if (template.contains("service.java.vm")) {
|
||||||
fileName = StringUtils.format("{}/service/I{}Service.java", javaPath, className);
|
fileName = StringUtils.format("{}/service/{}Service.java", javaPath, className);
|
||||||
} else if (template.contains("serviceImpl.java.vm")) {
|
} else if (template.contains("serviceImpl.java.vm")) {
|
||||||
fileName = StringUtils.format("{}/service/impl/{}ServiceImpl.java", javaPath, className);
|
fileName = StringUtils.format("{}/service/impl/{}ServiceImpl.java", javaPath, className);
|
||||||
} else if (template.contains("controller.java.vm")) {
|
} else if (template.contains("controller.java.vm")) {
|
||||||
|
@ -235,29 +245,29 @@ public class VelocityUtils {
|
||||||
*
|
*
|
||||||
* @return 返回字典组
|
* @return 返回字典组
|
||||||
*/
|
*/
|
||||||
public static String getDicts (GenTable genTable) {
|
public static String getDictList(GenTable genTable) {
|
||||||
List<GenTableColumn> columns = genTable.getColumns();
|
List<GenTableColumn> columns = genTable.getColumns();
|
||||||
Set<String> dicts = new HashSet<>();
|
Set<String> dictSet = new HashSet<>();
|
||||||
addDicts(dicts, columns);
|
addDictList(dictSet, columns);
|
||||||
if (StringUtils.isNotNull(genTable.getSubTable())) {
|
if (StringUtils.isNotNull(genTable.getSubTable())) {
|
||||||
List<GenTableColumn> subColumns = genTable.getSubTable().getColumns();
|
List<GenTableColumn> subColumns = genTable.getSubTable().getColumns();
|
||||||
addDicts(dicts, subColumns);
|
addDictList(dictSet, subColumns);
|
||||||
}
|
}
|
||||||
return StringUtils.join(dicts, ", ");
|
return StringUtils.join(dictSet, ", ");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加字典列表
|
* 添加字典列表
|
||||||
*
|
*
|
||||||
* @param dicts 字典列表
|
* @param dictList 字典列表
|
||||||
* @param columns 列集合
|
* @param columns 列集合
|
||||||
*/
|
*/
|
||||||
public static void addDicts (Set<String> dicts, List<GenTableColumn> columns) {
|
public static void addDictList(Set<String> dictList, List<GenTableColumn> columns) {
|
||||||
for (GenTableColumn column : columns) {
|
for (GenTableColumn column : columns) {
|
||||||
if (!column.isSuperColumn() && StringUtils.isNotEmpty(column.getDictType()) && StringUtils.equalsAny(
|
if (!column.isSuperColumn() && StringUtils.isNotEmpty(column.getDictType()) && StringUtils.equalsAny(
|
||||||
column.getHtmlType(),
|
column.getHtmlType(),
|
||||||
new String[]{GenConstants.HTML_SELECT, GenConstants.HTML_RADIO, GenConstants.HTML_CHECKBOX})) {
|
new String[]{GenConstants.HTML_SELECT, GenConstants.HTML_RADIO, GenConstants.HTML_CHECKBOX})) {
|
||||||
dicts.add("'" + column.getDictType() + "'");
|
dictList.add("'" + column.getDictType() + "'");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -296,7 +306,7 @@ public class VelocityUtils {
|
||||||
*
|
*
|
||||||
* @return 树编码
|
* @return 树编码
|
||||||
*/
|
*/
|
||||||
public static String getTreecode (JSONObject paramsObj) {
|
public static String getTreeCode(JSONObject paramsObj) {
|
||||||
if (paramsObj.containsKey(GenConstants.TREE_CODE)) {
|
if (paramsObj.containsKey(GenConstants.TREE_CODE)) {
|
||||||
return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_CODE));
|
return StringUtils.toCamelCase(paramsObj.getString(GenConstants.TREE_CODE));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
package ${packageName}.controller;
|
package ${packageName}.controller;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import io.swagger.annotations.*;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
@ -12,16 +14,18 @@ import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import com.muyu.common.log.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.muyu.common.log.enums.BusinessType;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.muyu.common.security.annotation.RequiresPermissions;
|
import com.ruoyi.common.core.domain.Result;
|
||||||
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import ${packageName}.domain.${ClassName};
|
import ${packageName}.domain.${ClassName};
|
||||||
import ${packageName}.service.I${ClassName}Service;
|
import ${packageName}.domain.req.${ClassName}QueryReq;
|
||||||
import com.muyu.common.core.web.controller.BaseController;
|
import ${packageName}.domain.req.${ClassName}SaveReq;
|
||||||
import com.muyu.common.core.domain.Result;
|
import ${packageName}.domain.req.${ClassName}EditReq;
|
||||||
import com.muyu.common.core.utils.poi.ExcelUtil;
|
import ${packageName}.service.${ClassName}Service;
|
||||||
#if($table.crud || $table.sub)
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
import com.muyu.common.core.web.page.DataPageResp;
|
#if($table.crud)
|
||||||
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
#elseif($table.tree)
|
#elseif($table.tree)
|
||||||
#end
|
#end
|
||||||
|
|
||||||
|
@ -31,41 +35,41 @@ import com.muyu.common.core.web.page.DataPageResp;
|
||||||
* @author ${author}
|
* @author ${author}
|
||||||
* @date ${datetime}
|
* @date ${datetime}
|
||||||
*/
|
*/
|
||||||
|
@Api(tags = "${functionName}")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/${businessName}")
|
@RequestMapping("/${moduleName}/${businessName}")
|
||||||
public class ${ClassName}Controller extends BaseController
|
public class ${ClassName}Controller extends BaseController {
|
||||||
{
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private I${ClassName}Service ${className}Service;
|
private ${ClassName}Service ${className}Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询${functionName}列表
|
* 查询${functionName}列表
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("${permissionPrefix}:list")
|
@ApiOperation("获取${functionName}列表")
|
||||||
@PostMapping("/list")
|
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')")
|
||||||
#if($table.crud || $table.sub)
|
@GetMapping("/list")
|
||||||
public Result<DataPageResp> list(${ClassName} ${className})
|
#if($table.crud)
|
||||||
{
|
public Result<TableDataInfo<${ClassName}>> list(${ClassName}QueryReq ${className}QueryReq) {
|
||||||
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
|
startPage();
|
||||||
return Result.success(new DataPageResp<>(0,list));
|
List<${ClassName}> list = ${className}Service.list(${ClassName}.queryBuild(${className}QueryReq));
|
||||||
|
return getDataTable(list);
|
||||||
}
|
}
|
||||||
#elseif($table.tree)
|
#elseif($table.tree)
|
||||||
public Result list(${ClassName} ${className})
|
public Result<List<${ClassName}>> list(${ClassName} ${className}) {
|
||||||
{
|
List<${ClassName}> list = ${className}Service.list(${className});
|
||||||
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
|
return Result.success(list);
|
||||||
return success(list);
|
|
||||||
}
|
}
|
||||||
#end
|
#end
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出${functionName}列表
|
* 导出${functionName}列表
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("${permissionPrefix}:export")
|
@ApiOperation("导出${functionName}列表")
|
||||||
|
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')")
|
||||||
@Log(title = "${functionName}", businessType = BusinessType.EXPORT)
|
@Log(title = "${functionName}", businessType = BusinessType.EXPORT)
|
||||||
@PostMapping("/export")
|
@PostMapping("/export")
|
||||||
public void export(HttpServletResponse response, ${ClassName} ${className})
|
public void export(HttpServletResponse response, ${ClassName} ${className}) {
|
||||||
{
|
List<${ClassName}> list = ${className}Service.list(${className});
|
||||||
List<${ClassName}> list = ${className}Service.select${ClassName}List(${className});
|
|
||||||
ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);
|
ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);
|
||||||
util.exportExcel(response, list, "${functionName}数据");
|
util.exportExcel(response, list, "${functionName}数据");
|
||||||
}
|
}
|
||||||
|
@ -73,43 +77,45 @@ public class ${ClassName}Controller extends BaseController
|
||||||
/**
|
/**
|
||||||
* 获取${functionName}详细信息
|
* 获取${functionName}详细信息
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("${permissionPrefix}:query")
|
@ApiOperation("获取${functionName}详细信息")
|
||||||
|
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')")
|
||||||
@GetMapping(value = "/{${pkColumn.javaField}}")
|
@GetMapping(value = "/{${pkColumn.javaField}}")
|
||||||
public Result getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField})
|
@ApiImplicitParam(name = "${pkColumn.javaField}", value = "${pkColumn.javaField}", required = true, dataType = "${pkColumn.javaType}", paramType = "path", dataTypeClass = ${pkColumn.javaType}.class)
|
||||||
{
|
public Result<${ClassName}> getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) {
|
||||||
return success(${className}Service.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField}));
|
return Result.success(${className}Service.getById(${pkColumn.javaField}));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增${functionName}
|
* 新增${functionName}
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("${permissionPrefix}:add")
|
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')")
|
||||||
@Log(title = "${functionName}", businessType = BusinessType.INSERT)
|
@Log(title = "${functionName}", businessType = BusinessType.INSERT)
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public Result add(@RequestBody ${ClassName} ${className})
|
@ApiOperation("新增${functionName}")
|
||||||
{
|
public Result<String> add(@RequestBody ${ClassName}SaveReq ${className}SaveReq) {
|
||||||
return toAjax(${className}Service.insert${ClassName}(${className}));
|
return toAjax(${className}Service.save(${ClassName}.saveBuild(${className}SaveReq)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改${functionName}
|
* 修改${functionName}
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("${permissionPrefix}:edit")
|
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')")
|
||||||
@Log(title = "${functionName}", businessType = BusinessType.UPDATE)
|
@Log(title = "${functionName}", businessType = BusinessType.UPDATE)
|
||||||
@PutMapping
|
@PutMapping("/{${pkColumn.javaField}}")
|
||||||
public Result edit(@RequestBody ${ClassName} ${className})
|
@ApiOperation("修改${functionName}")
|
||||||
{
|
public Result<String> edit(@PathVariable ${pkColumn.javaType} ${pkColumn.javaField}, @RequestBody ${ClassName}EditReq ${className}EditReq) {
|
||||||
return toAjax(${className}Service.update${ClassName}(${className}));
|
return toAjax(${className}Service.updateById(${ClassName}.editBuild(${pkColumn.javaField},${className}EditReq)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除${functionName}
|
* 删除${functionName}
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("${permissionPrefix}:remove")
|
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')")
|
||||||
@Log(title = "${functionName}", businessType = BusinessType.DELETE)
|
@Log(title = "${functionName}", businessType = BusinessType.DELETE)
|
||||||
@DeleteMapping("/{${pkColumn.javaField}s}")
|
@DeleteMapping("/{${pkColumn.javaField}s}")
|
||||||
public Result remove(@PathVariable("${pkColumn.javaField}s") ${pkColumn.javaType}[] ${pkColumn.javaField}s)
|
@ApiOperation("删除${functionName}")
|
||||||
{
|
@ApiImplicitParam(name = "${pkColumn.javaField}", value = "${pkColumn.javaField}", required = true, dataType = "${pkColumn.javaType}", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
|
||||||
return toAjax(${className}Service.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s));
|
public Result<String> remove(@PathVariable List<${pkColumn.javaType}> ${pkColumn.javaField}s) {
|
||||||
|
return toAjax(${className}Service.removeBatchByIds(${pkColumn.javaField}s));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,11 +3,23 @@ package ${packageName}.domain;
|
||||||
#foreach ($import in $importList)
|
#foreach ($import in $importList)
|
||||||
import ${import};
|
import ${import};
|
||||||
#end
|
#end
|
||||||
import com.muyu.common.core.annotation.Excel;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
#if($table.crud || $table.sub)
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.muyu.common.core.web.domain.BaseEntity;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
import io.swagger.annotations.*;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
import ${packageName}.domain.req.${ClassName}QueryReq;
|
||||||
|
import ${packageName}.domain.req.${ClassName}SaveReq;
|
||||||
|
import ${packageName}.domain.req.${ClassName}EditReq;
|
||||||
|
#if($table.crud)
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
#elseif($table.tree)
|
#elseif($table.tree)
|
||||||
import com.muyu.common.core.web.domain.TreeEntity;
|
import com.ruoyi.common.core.domain.TreeEntity;
|
||||||
#end
|
#end
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -16,13 +28,20 @@ import com.muyu.common.core.web.domain.TreeEntity;
|
||||||
* @author ${author}
|
* @author ${author}
|
||||||
* @date ${datetime}
|
* @date ${datetime}
|
||||||
*/
|
*/
|
||||||
#if($table.crud || $table.sub)
|
#if($table.crud)
|
||||||
#set($Entity="BaseEntity")
|
#set($Entity="BaseEntity")
|
||||||
#elseif($table.tree)
|
#elseif($table.tree)
|
||||||
#set($Entity="TreeEntity")
|
#set($Entity="TreeEntity")
|
||||||
#end
|
#end
|
||||||
public class ${ClassName} extends ${Entity}
|
@Data
|
||||||
{
|
@SuperBuilder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@TableName("${tableName}")
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ApiModel(value = "${ClassName}", description = "${functionName}")
|
||||||
|
public class ${ClassName} extends ${Entity} {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
#foreach ($column in $columns)
|
#foreach ($column in $columns)
|
||||||
|
@ -44,60 +63,77 @@ public class ${ClassName} extends ${Entity}
|
||||||
@Excel(name = "${comment}")
|
@Excel(name = "${comment}")
|
||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
|
#if($column.javaField == $pkColumn.javaField)
|
||||||
|
@TableId(value = "${pkColumn.columnName}",type = IdType.AUTO)
|
||||||
|
#end
|
||||||
|
#set($comment='')
|
||||||
|
#if($column.isRequired == '1')
|
||||||
|
#set($comment=', required = true')
|
||||||
|
#end
|
||||||
|
@ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}"$comment)
|
||||||
private $column.javaType $column.javaField;
|
private $column.javaType $column.javaField;
|
||||||
|
|
||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
#if($table.sub)
|
/**
|
||||||
/** $table.subTable.functionName信息 */
|
* 查询构造器
|
||||||
private List<${subClassName}> ${subclassName}List;
|
*/
|
||||||
|
public static ${ClassName} queryBuild( ${ClassName}QueryReq ${className}QueryReq){
|
||||||
|
return ${ClassName}.builder()
|
||||||
|
#foreach ($column in $columns)
|
||||||
|
#if($column.isQuery == '1')
|
||||||
|
#if(!$table.isSuperColumn($column.javaField))
|
||||||
|
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
|
||||||
|
#set($AttrName=$column.javaField)
|
||||||
|
#else
|
||||||
|
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||||
|
#end
|
||||||
|
.${column.javaField}(${className}QueryReq.get${AttrName}())
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
#end
|
/**
|
||||||
|
* 添加构造器
|
||||||
|
*/
|
||||||
|
public static ${ClassName} saveBuild(${ClassName}SaveReq ${className}SaveReq){
|
||||||
|
return ${ClassName}.builder()
|
||||||
|
#foreach ($column in $columns)
|
||||||
|
#if($column.isEdit == '1')
|
||||||
|
#if(!$table.isSuperColumn($column.javaField))
|
||||||
|
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
|
||||||
|
#set($AttrName=$column.javaField)
|
||||||
|
#else
|
||||||
|
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||||
|
#end
|
||||||
|
.${column.javaField}(${className}SaveReq.get${AttrName}())
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改构造器
|
||||||
|
*/
|
||||||
|
public static ${ClassName} editBuild(${pkColumn.javaType} ${pkColumn.javaField}, ${ClassName}EditReq ${className}EditReq){
|
||||||
|
return ${ClassName}.builder()
|
||||||
|
.${pkColumn.javaField}(${pkColumn.javaField})
|
||||||
#foreach ($column in $columns)
|
#foreach ($column in $columns)
|
||||||
#if(!$table.isSuperColumn($column.javaField))
|
#if($column.isEdit == '1')
|
||||||
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
|
#if(!$table.isSuperColumn($column.javaField))
|
||||||
#set($AttrName=$column.javaField)
|
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
|
||||||
#else
|
#set($AttrName=$column.javaField)
|
||||||
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
#else
|
||||||
|
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||||
|
#end
|
||||||
|
.${column.javaField}(${className}EditReq.get${AttrName}())
|
||||||
|
#end
|
||||||
|
#end
|
||||||
#end
|
#end
|
||||||
public void set${AttrName}($column.javaType $column.javaField)
|
.build();
|
||||||
{
|
|
||||||
this.$column.javaField = $column.javaField;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public $column.javaType get${AttrName}()
|
|
||||||
{
|
|
||||||
return $column.javaField;
|
|
||||||
}
|
|
||||||
#end
|
|
||||||
#end
|
|
||||||
|
|
||||||
#if($table.sub)
|
|
||||||
public List<${subClassName}> get${subClassName}List()
|
|
||||||
{
|
|
||||||
return ${subclassName}List;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void set${subClassName}List(List<${subClassName}> ${subclassName}List)
|
|
||||||
{
|
|
||||||
this.${subclassName}List = ${subclassName}List;
|
|
||||||
}
|
|
||||||
|
|
||||||
#end
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
|
||||||
#foreach ($column in $columns)
|
|
||||||
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
|
|
||||||
#set($AttrName=$column.javaField)
|
|
||||||
#else
|
|
||||||
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
|
||||||
#end
|
|
||||||
.append("${column.javaField}", get${AttrName}())
|
|
||||||
#end
|
|
||||||
#if($table.sub)
|
|
||||||
.append("${subclassName}List", get${subClassName}List())
|
|
||||||
#end
|
|
||||||
.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
package ${packageName}.domain.req;
|
||||||
|
|
||||||
|
#foreach ($import in $importList)
|
||||||
|
import ${import};
|
||||||
|
#end
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
import io.swagger.annotations.*;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
#if($table.crud)
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
#elseif($table.tree)
|
||||||
|
import com.ruoyi.common.core.domain.TreeEntity;
|
||||||
|
#end
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ${functionName}对象 ${tableName}
|
||||||
|
*
|
||||||
|
* @author ${author}
|
||||||
|
* @date ${datetime}
|
||||||
|
*/
|
||||||
|
#if($table.crud)
|
||||||
|
#set($Entity="BaseEntity")
|
||||||
|
#elseif($table.tree)
|
||||||
|
#set($Entity="TreeEntity")
|
||||||
|
#end
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@ApiModel(value = "${ClassName}EditReq", description = "${functionName}")
|
||||||
|
public class ${ClassName}EditReq extends ${Entity} {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
#foreach ($column in $columns)
|
||||||
|
#if(!$table.isSuperColumn($column.javaField))
|
||||||
|
#if($column.isEdit == '1')
|
||||||
|
/** $column.columnComment */
|
||||||
|
#if($column.list)
|
||||||
|
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||||
|
#if($parentheseIndex != -1)
|
||||||
|
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||||
|
#else
|
||||||
|
#set($comment=$column.columnComment)
|
||||||
|
#end
|
||||||
|
#if($column.javaType == 'Date')
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
#set($isRequired='')
|
||||||
|
#if($column.isRequired == '1')
|
||||||
|
#set($isRequired=', required = true')
|
||||||
|
#end
|
||||||
|
@ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}"$isRequired)
|
||||||
|
private $column.javaType $column.javaField;
|
||||||
|
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
}
|
|
@ -1,10 +1,8 @@
|
||||||
package ${packageName}.mapper;
|
package ${packageName}.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import ${packageName}.domain.${ClassName};
|
import ${packageName}.domain.${ClassName};
|
||||||
#if($table.sub)
|
|
||||||
import ${packageName}.domain.${subClassName};
|
|
||||||
#end
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ${functionName}Mapper接口
|
* ${functionName}Mapper接口
|
||||||
|
@ -12,80 +10,6 @@ import ${packageName}.domain.${subClassName};
|
||||||
* @author ${author}
|
* @author ${author}
|
||||||
* @date ${datetime}
|
* @date ${datetime}
|
||||||
*/
|
*/
|
||||||
public interface ${ClassName}Mapper
|
public interface ${ClassName}Mapper extends BaseMapper<${ClassName}> {
|
||||||
{
|
|
||||||
/**
|
|
||||||
* 查询${functionName}
|
|
||||||
*
|
|
||||||
* @param ${pkColumn.javaField} ${functionName}主键
|
|
||||||
* @return ${functionName}
|
|
||||||
*/
|
|
||||||
public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询${functionName}列表
|
|
||||||
*
|
|
||||||
* @param ${className} ${functionName}
|
|
||||||
* @return ${functionName}集合
|
|
||||||
*/
|
|
||||||
public List<${ClassName}> select${ClassName}List(${ClassName} ${className});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增${functionName}
|
|
||||||
*
|
|
||||||
* @param ${className} ${functionName}
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int insert${ClassName}(${ClassName} ${className});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改${functionName}
|
|
||||||
*
|
|
||||||
* @param ${className} ${functionName}
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int update${ClassName}(${ClassName} ${className});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除${functionName}
|
|
||||||
*
|
|
||||||
* @param ${pkColumn.javaField} ${functionName}主键
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量删除${functionName}
|
|
||||||
*
|
|
||||||
* @param ${pkColumn.javaField}s 需要删除的数据主键集合
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
|
|
||||||
#if($table.sub)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量删除${subTable.functionName}
|
|
||||||
*
|
|
||||||
* @param ${pkColumn.javaField}s 需要删除的数据主键集合
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量新增${subTable.functionName}
|
|
||||||
*
|
|
||||||
* @param ${subclassName}List ${subTable.functionName}列表
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int batch${subClassName}(List<${subClassName}> ${subclassName}List);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 通过${functionName}主键删除${subTable.functionName}信息
|
|
||||||
*
|
|
||||||
* @param ${pkColumn.javaField} ${functionName}ID
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int delete${subClassName}By${subTableFkClassName}(${pkColumn.javaType} ${pkColumn.javaField});
|
|
||||||
#end
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
package ${packageName}.domain.req;
|
||||||
|
|
||||||
|
#foreach ($import in $importList)
|
||||||
|
import ${import};
|
||||||
|
#end
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
import io.swagger.annotations.*;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
#if($table.crud)
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
#elseif($table.tree)
|
||||||
|
import com.ruoyi.common.core.domain.TreeEntity;
|
||||||
|
#end
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ${functionName}对象 ${tableName}
|
||||||
|
*
|
||||||
|
* @author ${author}
|
||||||
|
* @date ${datetime}
|
||||||
|
*/
|
||||||
|
#if($table.crud)
|
||||||
|
#set($Entity="BaseEntity")
|
||||||
|
#elseif($table.tree)
|
||||||
|
#set($Entity="TreeEntity")
|
||||||
|
#end
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@ApiModel(value = "${ClassName}QueryReq", description = "${functionName}")
|
||||||
|
public class ${ClassName}QueryReq extends ${Entity} {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
#foreach ($column in $columns)
|
||||||
|
#if(!$table.isSuperColumn($column.javaField))
|
||||||
|
#if($column.isQuery == '1')
|
||||||
|
/** $column.columnComment */
|
||||||
|
#if($column.list)
|
||||||
|
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||||
|
#if($parentheseIndex != -1)
|
||||||
|
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||||
|
#else
|
||||||
|
#set($comment=$column.columnComment)
|
||||||
|
#end
|
||||||
|
#if($column.javaType == 'Date')
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
#if($column.javaField == $pkColumn.javaField)
|
||||||
|
@TableId(value = "${pkColumn.javaField}",type = IdType.AUTO)
|
||||||
|
#end
|
||||||
|
@ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}")
|
||||||
|
private $column.javaType $column.javaField;
|
||||||
|
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
package ${packageName}.domain.req;
|
||||||
|
|
||||||
|
#foreach ($import in $importList)
|
||||||
|
import ${import};
|
||||||
|
#end
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
import io.swagger.annotations.*;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
#if($table.crud)
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
#elseif($table.tree)
|
||||||
|
import com.ruoyi.common.core.domain.TreeEntity;
|
||||||
|
#end
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ${functionName}对象 ${tableName}
|
||||||
|
*
|
||||||
|
* @author ${author}
|
||||||
|
* @date ${datetime}
|
||||||
|
*/
|
||||||
|
#if($table.crud)
|
||||||
|
#set($Entity="BaseEntity")
|
||||||
|
#elseif($table.tree)
|
||||||
|
#set($Entity="TreeEntity")
|
||||||
|
#end
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@ApiModel(value = "${ClassName}SaveReq", description = "${functionName}")
|
||||||
|
public class ${ClassName}SaveReq extends ${Entity} {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
#foreach ($column in $columns)
|
||||||
|
#if(!$table.isSuperColumn($column.javaField))
|
||||||
|
#if($column.isInsert == '1')
|
||||||
|
/** $column.columnComment */
|
||||||
|
#if($column.list)
|
||||||
|
#set($parentheseIndex=$column.columnComment.indexOf("("))
|
||||||
|
#if($parentheseIndex != -1)
|
||||||
|
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
|
||||||
|
#else
|
||||||
|
#set($comment=$column.columnComment)
|
||||||
|
#end
|
||||||
|
#if($column.javaType == 'Date')
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
|
||||||
|
#set($isRequired='')
|
||||||
|
#if($column.isRequired == '1')
|
||||||
|
#set($isRequired=', required = true')
|
||||||
|
#end
|
||||||
|
@ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}"$isRequired)
|
||||||
|
private $column.javaType $column.javaField;
|
||||||
|
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
}
|
|
@ -2,6 +2,7 @@ package ${packageName}.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import ${packageName}.domain.${ClassName};
|
import ${packageName}.domain.${ClassName};
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ${functionName}Service接口
|
* ${functionName}Service接口
|
||||||
|
@ -9,53 +10,13 @@ import ${packageName}.domain.${ClassName};
|
||||||
* @author ${author}
|
* @author ${author}
|
||||||
* @date ${datetime}
|
* @date ${datetime}
|
||||||
*/
|
*/
|
||||||
public interface I${ClassName}Service
|
public interface ${ClassName}Service extends IService<${ClassName}> {
|
||||||
{
|
|
||||||
/**
|
|
||||||
* 查询${functionName}
|
|
||||||
*
|
|
||||||
* @param ${pkColumn.javaField} ${functionName}主键
|
|
||||||
* @return ${functionName}
|
|
||||||
*/
|
|
||||||
public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询${functionName}列表
|
* 查询${functionName}列表
|
||||||
*
|
*
|
||||||
* @param ${className} ${functionName}
|
* @param ${className} ${functionName}
|
||||||
* @return ${functionName}集合
|
* @return ${functionName}集合
|
||||||
*/
|
*/
|
||||||
public List<${ClassName}> select${ClassName}List(${ClassName} ${className});
|
public List<${ClassName}> list(${ClassName} ${className});
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增${functionName}
|
|
||||||
*
|
|
||||||
* @param ${className} ${functionName}
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int insert${ClassName}(${ClassName} ${className});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 修改${functionName}
|
|
||||||
*
|
|
||||||
* @param ${className} ${functionName}
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int update${ClassName}(${ClassName} ${className});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量删除${functionName}
|
|
||||||
*
|
|
||||||
* @param ${pkColumn.javaField}s 需要删除的${functionName}主键集合
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除${functionName}信息
|
|
||||||
*
|
|
||||||
* @param ${pkColumn.javaField} ${functionName}主键
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,16 @@
|
||||||
package ${packageName}.service.impl;
|
package ${packageName}.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
#foreach ($column in $columns)
|
|
||||||
#if($column.javaField == 'createTime' || $column.javaField == 'updateTime')
|
import com.ruoyi.common.utils.ObjUtils;
|
||||||
import com.muyu.common.core.utils.DateUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
#break
|
import lombok.extern.slf4j.Slf4j;
|
||||||
#end
|
|
||||||
#end
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
#if($table.sub)
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import com.muyu.common.core.utils.StringUtils;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
import ${packageName}.domain.${subClassName};
|
|
||||||
#end
|
|
||||||
import ${packageName}.mapper.${ClassName}Mapper;
|
import ${packageName}.mapper.${ClassName}Mapper;
|
||||||
import ${packageName}.domain.${ClassName};
|
import ${packageName}.domain.${ClassName};
|
||||||
import ${packageName}.service.I${ClassName}Service;
|
import ${packageName}.service.${ClassName}Service;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ${functionName}Service业务层处理
|
* ${functionName}Service业务层处理
|
||||||
|
@ -25,23 +18,9 @@ import ${packageName}.service.I${ClassName}Service;
|
||||||
* @author ${author}
|
* @author ${author}
|
||||||
* @date ${datetime}
|
* @date ${datetime}
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class ${ClassName}ServiceImpl implements I${ClassName}Service
|
public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${ClassName}> implements ${ClassName}Service {
|
||||||
{
|
|
||||||
@Autowired
|
|
||||||
private ${ClassName}Mapper ${className}Mapper;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询${functionName}
|
|
||||||
*
|
|
||||||
* @param ${pkColumn.javaField} ${functionName}主键
|
|
||||||
* @return ${functionName}
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField})
|
|
||||||
{
|
|
||||||
return ${className}Mapper.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询${functionName}列表
|
* 查询${functionName}列表
|
||||||
|
@ -50,120 +29,49 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service
|
||||||
* @return ${functionName}
|
* @return ${functionName}
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<${ClassName}> select${ClassName}List(${ClassName} ${className})
|
public List<${ClassName}> list(${ClassName} ${className}) {
|
||||||
{
|
LambdaQueryWrapper<${ClassName}> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
return ${className}Mapper.select${ClassName}List(${className});
|
#foreach($column in $columns)
|
||||||
}
|
#set($queryType=$column.queryType)
|
||||||
|
#set($javaField=$column.javaField)
|
||||||
|
#set($JavaField=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||||
|
|
||||||
/**
|
#if($column.query)
|
||||||
* 新增${functionName}
|
#if($queryType == "EQ")
|
||||||
*
|
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||||
* @param ${className} ${functionName}
|
queryWrapper.eq(${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
#if($table.sub)
|
|
||||||
@Transactional
|
|
||||||
#end
|
|
||||||
@Override
|
|
||||||
public int insert${ClassName}(${ClassName} ${className})
|
|
||||||
{
|
|
||||||
#foreach ($column in $columns)
|
|
||||||
#if($column.javaField == 'createTime')
|
|
||||||
${className}.setCreateTime(DateUtils.getNowDate());
|
|
||||||
#end
|
|
||||||
#end
|
|
||||||
#if($table.sub)
|
|
||||||
int rows = ${className}Mapper.insert${ClassName}(${className});
|
|
||||||
insert${subClassName}(${className});
|
|
||||||
return rows;
|
|
||||||
#else
|
|
||||||
return ${className}Mapper.insert${ClassName}(${className});
|
|
||||||
#end
|
|
||||||
}
|
}
|
||||||
|
#elseif($queryType == "NE")
|
||||||
/**
|
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||||
* 修改${functionName}
|
queryWrapper.ne(${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||||
*
|
|
||||||
* @param ${className} ${functionName}
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
#if($table.sub)
|
|
||||||
@Transactional
|
|
||||||
#end
|
|
||||||
@Override
|
|
||||||
public int update${ClassName}(${ClassName} ${className})
|
|
||||||
{
|
|
||||||
#foreach ($column in $columns)
|
|
||||||
#if($column.javaField == 'updateTime')
|
|
||||||
${className}.setUpdateTime(DateUtils.getNowDate());
|
|
||||||
#end
|
|
||||||
#end
|
|
||||||
#if($table.sub)
|
|
||||||
${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}());
|
|
||||||
insert${subClassName}(${className});
|
|
||||||
#end
|
|
||||||
return ${className}Mapper.update${ClassName}(${className});
|
|
||||||
}
|
}
|
||||||
|
#elseif($queryType == "GT")
|
||||||
/**
|
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||||
* 批量删除${functionName}
|
queryWrapper.gt(${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||||
*
|
}
|
||||||
* @param ${pkColumn.javaField}s 需要删除的${functionName}主键
|
#elseif($queryType == "GTE")
|
||||||
* @return 结果
|
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||||
*/
|
queryWrapper.ge(${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||||
#if($table.sub)
|
}
|
||||||
@Transactional
|
#elseif($queryType == "LT")
|
||||||
|
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||||
|
queryWrapper.lt()${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||||
|
}
|
||||||
|
#elseif($queryType == "LTE")
|
||||||
|
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||||
|
queryWrapper.le()${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||||
|
}
|
||||||
|
#elseif($queryType == "LIKE")
|
||||||
|
if (ObjUtils.notNull(${className}.get$JavaField())){
|
||||||
|
queryWrapper.like(${ClassName}::get$JavaField, ${className}.get$JavaField());
|
||||||
|
}
|
||||||
|
#elseif($queryType == "BETWEEN")
|
||||||
|
if (ObjUtils.notChildNull(${className}.getBetween("$JavaField"))){
|
||||||
|
queryWrapper.between(${ClassName}::get$JavaField, ${className}.getBeginParam("$JavaField"),${className}.getEndParam("$JavaField"));
|
||||||
|
}
|
||||||
|
#end
|
||||||
|
#end
|
||||||
#end
|
#end
|
||||||
@Override
|
return list(queryWrapper);
|
||||||
public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s)
|
|
||||||
{
|
|
||||||
#if($table.sub)
|
|
||||||
${className}Mapper.delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaField}s);
|
|
||||||
#end
|
|
||||||
return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除${functionName}信息
|
|
||||||
*
|
|
||||||
* @param ${pkColumn.javaField} ${functionName}主键
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
#if($table.sub)
|
|
||||||
@Transactional
|
|
||||||
#end
|
|
||||||
@Override
|
|
||||||
public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField})
|
|
||||||
{
|
|
||||||
#if($table.sub)
|
|
||||||
${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField});
|
|
||||||
#end
|
|
||||||
return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField});
|
|
||||||
}
|
|
||||||
#if($table.sub)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增${subTable.functionName}信息
|
|
||||||
*
|
|
||||||
* @param ${className} ${functionName}对象
|
|
||||||
*/
|
|
||||||
public void insert${subClassName}(${ClassName} ${className})
|
|
||||||
{
|
|
||||||
List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List();
|
|
||||||
${pkColumn.javaType} ${pkColumn.javaField} = ${className}.get${pkColumn.capJavaField}();
|
|
||||||
if (StringUtils.isNotNull(${subclassName}List))
|
|
||||||
{
|
|
||||||
List<${subClassName}> list = new ArrayList<${subClassName}>();
|
|
||||||
for (${subClassName} ${subclassName} : ${subclassName}List)
|
|
||||||
{
|
|
||||||
${subclassName}.set${subTableFkClassName}(${pkColumn.javaField});
|
|
||||||
list.add(${subclassName});
|
|
||||||
}
|
|
||||||
if (list.size() > 0)
|
|
||||||
{
|
|
||||||
${className}Mapper.batch${subClassName}(list);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#end
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue