feat();代码生成器更改

boot3.0
dongzeliang 2025-03-19 18:06:55 +08:00
parent 72b0510f9e
commit eba9643f44
10 changed files with 208 additions and 250 deletions

View File

@ -128,6 +128,7 @@ public class VelocityUtils {
List<String> templates = new ArrayList<String>(); List<String> templates = new ArrayList<String>();
templates.add("vm/java/domain.java.vm"); templates.add("vm/java/domain.java.vm");
templates.add("vm/java/query.java.vm"); templates.add("vm/java/query.java.vm");
templates.add("vm/java/queryModel.java.vm");
templates.add("vm/java/save.java.vm"); templates.add("vm/java/save.java.vm");
templates.add("vm/java/edit.java.vm"); templates.add("vm/java/edit.java.vm");
templates.add("vm/java/controller.java.vm"); templates.add("vm/java/controller.java.vm");
@ -173,6 +174,9 @@ public class VelocityUtils {
if (template.contains("query.java.vm")) { if (template.contains("query.java.vm")) {
fileName = StringUtils.format("{}/domain/req/{}QueryReq.java", javaPath, className); fileName = StringUtils.format("{}/domain/req/{}QueryReq.java", javaPath, className);
} }
if (template.contains("queryModel.java.vm")) {
fileName = StringUtils.format("{}/domain/model/{}QueryModel.java", javaPath, className);
}
if (template.contains("save.java.vm")) { if (template.contains("save.java.vm")) {
fileName = StringUtils.format("{}/domain/req/{}SaveReq.java", javaPath, className); fileName = StringUtils.format("{}/domain/req/{}SaveReq.java", javaPath, className);
} }

View File

@ -1,10 +1,18 @@
package ${packageName}.controller; package ${packageName}.controller;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.*; import com.muyu.common.core.domain.Result;
import org.springframework.security.access.prepost.PreAuthorize; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.DataPageResp;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
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;
@ -14,18 +22,14 @@ 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.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.enums.BusinessType;
import ${packageName}.domain.${ClassName}; import ${packageName}.domain.${ClassName};
import ${packageName}.domain.req.${ClassName}QueryReq; import ${packageName}.domain.req.${ClassName}QueryReq;
import ${packageName}.domain.model.${ClassName}QueryModel;
import ${packageName}.domain.req.${ClassName}SaveReq; import ${packageName}.domain.req.${ClassName}SaveReq;
import ${packageName}.domain.req.${ClassName}EditReq; import ${packageName}.domain.req.${ClassName}EditReq;
import ${packageName}.service.${ClassName}Service; import ${packageName}.service.${ClassName}Service;
import com.ruoyi.common.utils.poi.ExcelUtil;
#if($table.crud) #if($table.crud)
import com.ruoyi.common.core.page.TableDataInfo; import com.muyu.common.core.web.page.DataPageResp;
#elseif($table.tree) #elseif($table.tree)
#end #end
@ -35,9 +39,9 @@ import com.ruoyi.common.core.page.TableDataInfo;
* @author ${author} * @author ${author}
* @date ${datetime} * @date ${datetime}
*/ */
@Api(tags = "${functionName}")
@RestController @RestController
@RequestMapping("/${moduleName}/${businessName}") @RequestMapping("/${moduleName}/${businessName}")
@Tag(name = "${functionName}", description = "${functionName}控制层")
public class ${ClassName}Controller extends BaseController { public class ${ClassName}Controller extends BaseController {
@Autowired @Autowired
private ${ClassName}Service ${className}Service; private ${ClassName}Service ${className}Service;
@ -45,14 +49,13 @@ public class ${ClassName}Controller extends BaseController {
/** /**
* 查询${functionName}列表 * 查询${functionName}列表
*/ */
@ApiOperation("获取${functionName}列表") @Operation(summary = "获取${functionName}列表", description = "获取${functionName}列表")
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:list')") @RequiresPermissions("${permissionPrefix}:list")
@GetMapping("/list") @GetMapping("/list")
#if($table.crud) #if($table.crud)
public Result<TableDataInfo<${ClassName}>> list(${ClassName}QueryReq ${className}QueryReq) { public Result<DataPageResp<${ClassName}>> list(${ClassName}QueryReq ${className}QueryReq) {
startPage(); PageQueryModel<${ClassName}> pageQueryModel = ${className}Service.pageQuery(${ClassName}QueryModel.reqBuild(${className}QueryReq));
List<${ClassName}> list = ${className}Service.list(${ClassName}.queryBuild(${className}QueryReq)); return resultList(pageQueryModel);
return getDataTable(list);
} }
#elseif($table.tree) #elseif($table.tree)
public Result<List<${ClassName}>> list(${ClassName} ${className}) { public Result<List<${ClassName}>> list(${ClassName} ${className}) {
@ -64,23 +67,22 @@ public class ${ClassName}Controller extends BaseController {
/** /**
* 导出${functionName}列表 * 导出${functionName}列表
*/ */
@ApiOperation("导出${functionName}列表") @Operation(summary = "导出${functionName}列表", description = "导出${functionName}列表")
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:export')") @RequiresPermissions("${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.exportList(${className});
ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class); ExcelUtil<${ClassName}> util = new ExcelUtil<>(${ClassName}.class);
util.exportExcel(response, list, "${functionName}数据"); util.exportExcel(response, list, "${functionName}数据");
} }
/** /**
* 获取${functionName}详细信息 * 获取${functionName}详细信息
*/ */
@ApiOperation("获取${functionName}详细信息") @Operation(summary = "获取${functionName}详细信息", description = "获取${functionName}详细信息")
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:query')") @RequiresPermissions("${permissionPrefix}:query")
@GetMapping(value = "/{${pkColumn.javaField}}") @GetMapping(value = "/{${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}) { public Result<${ClassName}> getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}) {
return Result.success(${className}Service.getById(${pkColumn.javaField})); return Result.success(${className}Service.getById(${pkColumn.javaField}));
} }
@ -88,10 +90,10 @@ public class ${ClassName}Controller extends BaseController {
/** /**
* 新增${functionName} * 新增${functionName}
*/ */
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:add')") @RequiresPermissions("${permissionPrefix}:add")
@Log(title = "${functionName}", businessType = BusinessType.INSERT) @Log(title = "${functionName}", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
@ApiOperation("新增${functionName}") @Operation(summary = "新增${functionName}", description = "新增${functionName}")
public Result<String> add(@RequestBody ${ClassName}SaveReq ${className}SaveReq) { public Result<String> add(@RequestBody ${ClassName}SaveReq ${className}SaveReq) {
return toAjax(${className}Service.save(${ClassName}.saveBuild(${className}SaveReq))); return toAjax(${className}Service.save(${ClassName}.saveBuild(${className}SaveReq)));
} }
@ -99,10 +101,10 @@ public class ${ClassName}Controller extends BaseController {
/** /**
* 修改${functionName} * 修改${functionName}
*/ */
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:edit')") @RequiresPermissions("${permissionPrefix}:edit")
@Log(title = "${functionName}", businessType = BusinessType.UPDATE) @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
@PutMapping("/{${pkColumn.javaField}}") @PutMapping("/{${pkColumn.javaField}}")
@ApiOperation("修改${functionName}") @Operation(summary = "修改${functionName}", description = "修改${functionName}")
public Result<String> edit(@PathVariable ${pkColumn.javaType} ${pkColumn.javaField}, @RequestBody ${ClassName}EditReq ${className}EditReq) { public Result<String> edit(@PathVariable ${pkColumn.javaType} ${pkColumn.javaField}, @RequestBody ${ClassName}EditReq ${className}EditReq) {
return toAjax(${className}Service.updateById(${ClassName}.editBuild(${pkColumn.javaField},${className}EditReq))); return toAjax(${className}Service.updateById(${ClassName}.editBuild(${pkColumn.javaField},${className}EditReq)));
} }
@ -110,11 +112,10 @@ public class ${ClassName}Controller extends BaseController {
/** /**
* 删除${functionName} * 删除${functionName}
*/ */
@PreAuthorize("@ss.hasPermi('${permissionPrefix}:remove')") @RequiresPermissions("${permissionPrefix}:remove")
@Log(title = "${functionName}", businessType = BusinessType.DELETE) @Log(title = "${functionName}", businessType = BusinessType.DELETE)
@DeleteMapping("/{${pkColumn.javaField}s}") @DeleteMapping("/{${pkColumn.javaField}s}")
@ApiOperation("删除${functionName}") @Operation(summary = "删除${functionName}", description = "删除${functionName}")
@ApiImplicitParam(name = "${pkColumn.javaField}", value = "${pkColumn.javaField}", required = true, dataType = "${pkColumn.javaType}", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
public Result<String> remove(@PathVariable List<${pkColumn.javaType}> ${pkColumn.javaField}s) { public Result<String> remove(@PathVariable List<${pkColumn.javaType}> ${pkColumn.javaField}s) {
return toAjax(${className}Service.removeBatchByIds(${pkColumn.javaField}s)); return toAjax(${className}Service.removeBatchByIds(${pkColumn.javaField}s));
} }

View File

@ -3,23 +3,26 @@ package ${packageName}.domain;
#foreach ($import in $importList) #foreach ($import in $importList)
import ${import}; import ${import};
#end #end
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder; 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}QueryReq;
import ${packageName}.domain.req.${ClassName}SaveReq; import ${packageName}.domain.req.${ClassName}SaveReq;
import ${packageName}.domain.req.${ClassName}EditReq; import ${packageName}.domain.req.${ClassName}EditReq;
#if($table.crud) #if($table.crud)
import com.ruoyi.common.core.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
#elseif($table.tree) #elseif($table.tree)
import com.ruoyi.common.core.domain.TreeEntity; import com.muyu.common.core.web.domain.TreeEntity;
#end #end
/** /**
@ -39,9 +42,9 @@ import com.ruoyi.common.core.domain.TreeEntity;
@AllArgsConstructor @AllArgsConstructor
@TableName("${tableName}") @TableName("${tableName}")
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value = "${ClassName}", description = "${functionName}") @Schema(description = "${functionName}")
public class ${ClassName} extends ${Entity} { public class ${ClassName} extends ${Entity} {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
#foreach ($column in $columns) #foreach ($column in $columns)
@ -70,30 +73,11 @@ public class ${ClassName} extends ${Entity} {
#if($column.isRequired == '1') #if($column.isRequired == '1')
#set($comment=', required = true') #set($comment=', required = true')
#end #end
@ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}"$comment) @Schema(name = "${column.columnComment}")
private $column.javaType $column.javaField; private $column.javaType $column.javaField;
#end #end
#end #end
/**
* 查询构造器
*/
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();
}
/** /**
* 添加构造器 * 添加构造器

View File

@ -3,20 +3,13 @@ package ${packageName}.domain.req;
#foreach ($import in $importList) #foreach ($import in $importList)
import ${import}; import ${import};
#end #end
import com.baomidou.mybatisplus.annotation.TableId; import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder; 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} * ${functionName}对象 ${tableName}
@ -33,10 +26,8 @@ import com.ruoyi.common.core.domain.TreeEntity;
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ApiModel(value = "${ClassName}EditReq", description = "${functionName}") @Schema(description = "${functionName}")
public class ${ClassName}EditReq extends ${Entity} { public class ${ClassName}EditReq {
private static final long serialVersionUID = 1L;
#foreach ($column in $columns) #foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField)) #if(!$table.isSuperColumn($column.javaField))
@ -57,7 +48,7 @@ public class ${ClassName}EditReq extends ${Entity} {
#if($column.isRequired == '1') #if($column.isRequired == '1')
#set($isRequired=', required = true') #set($isRequired=', required = true')
#end #end
@ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}"$isRequired) @Schema(name = "${column.columnComment}" $isRequired)
private $column.javaType $column.javaField; private $column.javaType $column.javaField;
#end #end

View File

@ -3,20 +3,16 @@ package ${packageName}.domain.req;
#foreach ($import in $importList) #foreach ($import in $importList)
import ${import}; import ${import};
#end #end
import com.baomidou.mybatisplus.annotation.TableId; import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.web.page.PageReq;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*; import ${packageName}.domain.model.${ClassName}QueryModel;
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} * ${functionName}对象 ${tableName}
@ -33,10 +29,9 @@ import com.ruoyi.common.core.domain.TreeEntity;
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ApiModel(value = "${ClassName}QueryReq", description = "${functionName}") @Schema(description = "${functionName}")
public class ${ClassName}QueryReq extends ${Entity} { @EqualsAndHashCode(callSuper = true)
public class ${ClassName}QueryReq extends PageReq {
private static final long serialVersionUID = 1L;
#foreach ($column in $columns) #foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField)) #if(!$table.isSuperColumn($column.javaField))
@ -56,7 +51,7 @@ public class ${ClassName}QueryReq extends ${Entity} {
#if($column.javaField == $pkColumn.javaField) #if($column.javaField == $pkColumn.javaField)
@TableId(value = "${pkColumn.javaField}",type = IdType.AUTO) @TableId(value = "${pkColumn.javaField}",type = IdType.AUTO)
#end #end
@ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}") @Schema(name = "${column.columnComment}")
private $column.javaType $column.javaField; private $column.javaType $column.javaField;
#end #end

View File

@ -0,0 +1,73 @@
package ${packageName}.domain.req;
#foreach ($import in $importList)
import ${import};
#end
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.system.domain.req.StudentInfoQueryReq;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* ${functionName}对象 ${tableName}
*
* @author ${author}
* @date ${datetime}
*/
#if($table.crud)
#set($Entity="BaseEntity")
#elseif($table.tree)
#set($Entity="TreeEntity")
#end
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "${functionName}")
@EqualsAndHashCode(callSuper = true)
public class ${ClassName}QueryModel extends QueryModel<${ClassName}QueryModel> {
#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
#end
@Schema(name = "${column.columnComment}")
private $column.javaType $column.javaField;
#end
#end
#end
/**
* 查询构造器
*/
public static ${ClassName}QueryModel reqBuild( ${ClassName}QueryReq queryReq){
${ClassName}QueryModel ${className}QueryModel = ${ClassName}QueryModel.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}(queryReq.get${AttrName}())
#end
#end
#end
.build();
${className}QueryModel.domainBuild(queryReq);
return ${className}QueryModel;
}
}

View File

@ -3,20 +3,13 @@ package ${packageName}.domain.req;
#foreach ($import in $importList) #foreach ($import in $importList)
import ${import}; import ${import};
#end #end
import com.baomidou.mybatisplus.annotation.TableId; import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder; 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} * ${functionName}对象 ${tableName}
@ -33,10 +26,9 @@ import com.ruoyi.common.core.domain.TreeEntity;
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@ApiModel(value = "${ClassName}SaveReq", description = "${functionName}") @Schema(description = "${functionName}")
public class ${ClassName}SaveReq extends ${Entity} { public class ${ClassName}SaveReq{
private static final long serialVersionUID = 1L;
#foreach ($column in $columns) #foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField)) #if(!$table.isSuperColumn($column.javaField))
@ -58,7 +50,7 @@ public class ${ClassName}SaveReq extends ${Entity} {
#if($column.isRequired == '1') #if($column.isRequired == '1')
#set($isRequired=', required = true') #set($isRequired=', required = true')
#end #end
@ApiModelProperty(name = "${column.columnComment}", value = "${column.columnComment}"$isRequired) @Schema(name = "${column.columnComment}" $isRequired)
private $column.javaType $column.javaField; private $column.javaType $column.javaField;
#end #end

View File

@ -1,7 +1,9 @@
package ${packageName}.service; package ${packageName}.service;
import java.util.List; import java.util.List;
import com.muyu.common.core.web.page.PageQueryModel;
import ${packageName}.domain.${ClassName}; import ${packageName}.domain.${ClassName};
import ${packageName}.domain.model.${ClassName}QueryModel;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
/** /**
@ -14,9 +16,17 @@ public interface ${ClassName}Service extends IService<${ClassName}> {
/** /**
* 查询${functionName}列表 * 查询${functionName}列表
* *
* @param ${className} ${functionName} * @param pageQueryModel ${functionName}
* @return ${functionName}集合 * @return ${functionName}集合
*/ */
public List<${ClassName}> list(${ClassName} ${className}); public PageQueryModel<${ClassName}> pageQuery(${ClassName}QueryModel pageQueryModel);
/**
* 查询${functionName}列表
*
* @param pageQueryModel ${functionName}
* @return ${functionName}集合
*/
public List<${ClassName}> exportList(${ClassName} pageQueryModel);
} }

View File

@ -2,15 +2,17 @@ package ${packageName}.service.impl;
import java.util.List; import java.util.List;
import com.ruoyi.common.utils.ObjUtils; import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.utils.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.muyu.common.core.web.page.PageQueryModel;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import ${packageName}.mapper.${ClassName}Mapper;
import ${packageName}.domain.${ClassName};
import ${packageName}.service.${ClassName}Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import ${packageName}.mapper.${ClassName}Mapper;
import ${packageName}.domain.${ClassName};
import ${packageName}.domain.model.${ClassName}QueryModel;
import ${packageName}.service.${ClassName}Service;
/** /**
* ${functionName}Service业务层处理 * ${functionName}Service业务层处理
@ -25,53 +27,70 @@ public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${C
/** /**
* 查询${functionName}列表 * 查询${functionName}列表
* *
* @param ${className} ${functionName} * @param pageQueryModel ${functionName}
* @return ${functionName} * @return ${functionName}
*/ */
@Override @Override
public List<${ClassName}> list(${ClassName} ${className}) { public PageQueryModel<${ClassName}> pageQuery(${ClassName}QueryModel pageQueryModel) {
LambdaQueryWrapper<${ClassName}> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<${ClassName}> queryWrapper = new LambdaQueryWrapper<>();
#foreach($column in $columns) #foreach($column in $columns)
#set($queryType=$column.queryType) #set($queryType=$column.queryType)
#set($javaField=$column.javaField) #set($javaField=$column.javaField)
#set($JavaField=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) #set($JavaField=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.query) #if($column.query)
#if($queryType == "EQ") #if($queryType == "EQ")
if (ObjUtils.notNull(${className}.get$JavaField())){ queryWrapper.eq(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()), ${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
queryWrapper.eq(${ClassName}::get$JavaField, ${className}.get$JavaField());
}
#elseif($queryType == "NE") #elseif($queryType == "NE")
if (ObjUtils.notNull(${className}.get$JavaField())){ queryWrapper.ne(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
queryWrapper.ne(${ClassName}::get$JavaField, ${className}.get$JavaField());
}
#elseif($queryType == "GT") #elseif($queryType == "GT")
if (ObjUtils.notNull(${className}.get$JavaField())){ queryWrapper.gt(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
queryWrapper.gt(${ClassName}::get$JavaField, ${className}.get$JavaField());
}
#elseif($queryType == "GTE") #elseif($queryType == "GTE")
if (ObjUtils.notNull(${className}.get$JavaField())){ queryWrapper.ge(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
queryWrapper.ge(${ClassName}::get$JavaField, ${className}.get$JavaField());
}
#elseif($queryType == "LT") #elseif($queryType == "LT")
if (ObjUtils.notNull(${className}.get$JavaField())){ queryWrapper.lt(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
queryWrapper.lt()${ClassName}::get$JavaField, ${className}.get$JavaField());
}
#elseif($queryType == "LTE") #elseif($queryType == "LTE")
if (ObjUtils.notNull(${className}.get$JavaField())){ queryWrapper.le(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()), ${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
queryWrapper.le()${ClassName}::get$JavaField, ${className}.get$JavaField());
}
#elseif($queryType == "LIKE") #elseif($queryType == "LIKE")
if (ObjUtils.notNull(${className}.get$JavaField())){ queryWrapper.like(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
queryWrapper.like(${ClassName}::get$JavaField, ${className}.get$JavaField());
}
#elseif($queryType == "BETWEEN") #elseif($queryType == "BETWEEN")
if (ObjUtils.notChildNull(${className}.getBetween("$JavaField"))){ queryWrapper.between(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.getBeginParam("$JavaField"),pageQueryModel.getEndParam("$JavaField"));
queryWrapper.between(${ClassName}::get$JavaField, ${className}.getBeginParam("$JavaField"),${className}.getEndParam("$JavaField")); #end #end #end
} Page<${ClassName}> page = this.page(pageQueryModel.buildPage(), queryWrapper);
#end return PageQueryModel.of(page);
#end }
#end
return list(queryWrapper);
/**
* 查询${functionName}列表
*
* @param pageQueryModel ${functionName}
* @return ${functionName}
*/
@Override
public List<${ClassName}> exportList(${ClassName} pageQueryModel) {
LambdaQueryWrapper<${ClassName}> queryWrapper = new LambdaQueryWrapper<>();
#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)
#if($queryType == "EQ")
queryWrapper.eq(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()), ${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "NE")
queryWrapper.ne(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "GT")
queryWrapper.gt(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "GTE")
queryWrapper.ge(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "LT")
queryWrapper.lt(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "LTE")
queryWrapper.le(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()), ${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "LIKE")
queryWrapper.like(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.get$JavaField());
#elseif($queryType == "BETWEEN")
queryWrapper.between(ObjectUtil.isNotNull(pageQueryModel.get$JavaField()),${ClassName}::get$JavaField, pageQueryModel.getBeginParam("$JavaField"),pageQueryModel.getEndParam("$JavaField"));
#end #end #end
return this.list(queryWrapper);
} }
} }

View File

@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${packageName}.mapper.${ClassName}Mapper"> <mapper namespace="${packageName}.mapper.${ClassName}Mapper">
<resultMap type="${ClassName}" id="${ClassName}Result"> <resultMap type="${packageName}.domain.${ClassName}" id="${ClassName}Result">
#foreach ($column in $columns) #foreach ($column in $columns)
<result property="${column.javaField}" column="${column.columnName}" /> <result property="${column.javaField}" column="${column.columnName}" />
#end #end
@ -21,115 +21,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#end #end
</resultMap> </resultMap>
#end #end
<sql id="select${ClassName}Vo">
select#foreach($column in $columns) $column.columnName#if($foreach.count != $columns.size()),#end#end from ${tableName}
</sql>
<select id="select${ClassName}List" parameterType="${ClassName}" resultMap="${ClassName}Result">
<include refid="select${ClassName}Vo"/>
<where>
#foreach($column in $columns)
#set($queryType=$column.queryType)
#set($javaField=$column.javaField)
#set($javaType=$column.javaType)
#set($columnName=$column.columnName)
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.query)
#if($column.queryType == "EQ")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName = #{$javaField}</if>
#elseif($queryType == "NE")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName != #{$javaField}</if>
#elseif($queryType == "GT")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &gt; #{$javaField}</if>
#elseif($queryType == "GTE")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &gt;= #{$javaField}</if>
#elseif($queryType == "LT")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &lt; #{$javaField}</if>
#elseif($queryType == "LTE")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName &lt;= #{$javaField}</if>
#elseif($queryType == "LIKE")
<if test="$javaField != null #if($javaType == 'String' ) and $javaField.trim() != ''#end"> and $columnName like concat('%', #{$javaField}, '%')</if>
#elseif($queryType == "BETWEEN")
<if test="params.begin$AttrName != null and params.begin$AttrName != '' and params.end$AttrName != null and params.end$AttrName != ''"> and $columnName between #{params.begin$AttrName} and #{params.end$AttrName}</if>
#end
#end
#end
</where>
</select>
<select id="select${ClassName}By${pkColumn.capJavaField}" parameterType="${pkColumn.javaType}" resultMap="#if($table.sub)${ClassName}${subClassName}Result#else${ClassName}Result#end">
#if($table.crud || $table.tree)
<include refid="select${ClassName}Vo"/>
where ${pkColumn.columnName} = #{${pkColumn.javaField}}
#elseif($table.sub)
select#foreach($column in $columns) a.$column.columnName#if($foreach.count != $columns.size()),#end#end,
#foreach($column in $subTable.columns) b.$column.columnName as sub_$column.columnName#if($foreach.count != $subTable.columns.size()),#end#end
from ${tableName} a
left join ${subTableName} b on b.${subTableFkName} = a.${pkColumn.columnName}
where a.${pkColumn.columnName} = #{${pkColumn.javaField}}
#end
</select>
<insert id="insert${ClassName}" parameterType="${ClassName}"#if($pkColumn.increment) useGeneratedKeys="true" keyProperty="$pkColumn.javaField"#end>
insert into ${tableName}
<trim prefix="(" suffix=")" suffixOverrides=",">
#foreach($column in $columns)
#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment)
<if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">$column.columnName,</if>
#end
#end
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
#foreach($column in $columns)
#if($column.columnName != $pkColumn.columnName || !$pkColumn.increment)
<if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">#{$column.javaField},</if>
#end
#end
</trim>
</insert>
<update id="update${ClassName}" parameterType="${ClassName}">
update ${tableName}
<trim prefix="SET" suffixOverrides=",">
#foreach($column in $columns)
#if($column.columnName != $pkColumn.columnName)
<if test="$column.javaField != null#if($column.javaType == 'String' && $column.required) and $column.javaField != ''#end">$column.columnName = #{$column.javaField},</if>
#end
#end
</trim>
where ${pkColumn.columnName} = #{${pkColumn.javaField}}
</update>
<delete id="delete${ClassName}By${pkColumn.capJavaField}" parameterType="${pkColumn.javaType}">
delete from ${tableName} where ${pkColumn.columnName} = #{${pkColumn.javaField}}
</delete>
<delete id="delete${ClassName}By${pkColumn.capJavaField}s" parameterType="String">
delete from ${tableName} where ${pkColumn.columnName} in
<foreach item="${pkColumn.javaField}" collection="array" open="(" separator="," close=")">
#{${pkColumn.javaField}}
</foreach>
</delete>
#if($table.sub)
<delete id="delete${subClassName}By${subTableFkClassName}s" parameterType="String">
delete from ${subTableName} where ${subTableFkName} in
<foreach item="${subTableFkclassName}" collection="array" open="(" separator="," close=")">
#{${subTableFkclassName}}
</foreach>
</delete>
<delete id="delete${subClassName}By${subTableFkClassName}" parameterType="${pkColumn.javaType}">
delete from ${subTableName} where ${subTableFkName} = #{${subTableFkclassName}}
</delete>
<insert id="batch${subClassName}">
insert into ${subTableName}(#foreach($column in $subTable.columns) $column.columnName#if($foreach.count != $subTable.columns.size()),#end#end) values
<foreach item="item" index="index" collection="list" separator=",">
(#foreach($column in $subTable.columns) #{item.$column.javaField}#if($foreach.count != $subTable.columns.size()),#end#end)
</foreach>
</insert>
#end
</mapper> </mapper>