feat(): 新增代码生成器对象,修改和添加模型
parent
80d1e3ab3f
commit
d653a28754
|
@ -130,7 +130,9 @@ public class VelocityUtils {
|
|||
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/saveModel.java.vm");
|
||||
templates.add("vm/java/edit.java.vm");
|
||||
templates.add("vm/java/editModel.java.vm");
|
||||
templates.add("vm/java/controller.java.vm");
|
||||
templates.add("vm/java/service.java.vm");
|
||||
templates.add("vm/java/serviceImpl.java.vm");
|
||||
|
@ -180,9 +182,15 @@ public class VelocityUtils {
|
|||
if (template.contains("save.java.vm")) {
|
||||
fileName = StringUtils.format("{}/domain/req/{}SaveReq.java", javaPath, className);
|
||||
}
|
||||
if (template.contains("saveModel.java.vm")) {
|
||||
fileName = StringUtils.format("{}/domain/model/{}SaveModel.java", javaPath, className);
|
||||
}
|
||||
if (template.contains("edit.java.vm")) {
|
||||
fileName = StringUtils.format("{}/domain/req/{}EditReq.java", javaPath, className);
|
||||
}
|
||||
if (template.contains("editModel.java.vm")) {
|
||||
fileName = StringUtils.format("{}/domain/model/{}EditModel.java", javaPath, className);
|
||||
}
|
||||
if (template.contains("mapper.java.vm")) {
|
||||
fileName = StringUtils.format("{}/mapper/{}Mapper.java", javaPath, className);
|
||||
} else if (template.contains("service.java.vm")) {
|
||||
|
|
|
@ -5,8 +5,6 @@ import java.util.List;
|
|||
import com.muyu.common.core.domain.Result;
|
||||
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;
|
||||
|
@ -27,9 +25,12 @@ import ${packageName}.domain.req.${ClassName}QueryReq;
|
|||
import ${packageName}.domain.model.${ClassName}QueryModel;
|
||||
import ${packageName}.domain.req.${ClassName}SaveReq;
|
||||
import ${packageName}.domain.req.${ClassName}EditReq;
|
||||
import ${packageName}.domain.model.${ClassName}SaveModel;
|
||||
import ${packageName}.domain.model.${ClassName}EditModel;
|
||||
import ${packageName}.service.${ClassName}Service;
|
||||
#if($table.crud)
|
||||
import com.muyu.common.core.web.page.DataPageResp;
|
||||
import com.muyu.common.core.web.page.PageQueryModel;
|
||||
#elseif($table.tree)
|
||||
#end
|
||||
|
||||
|
@ -43,6 +44,10 @@ import com.muyu.common.core.web.page.DataPageResp;
|
|||
@RequestMapping("/${businessName}")
|
||||
@Tag(name = "${functionName}", description = "${functionName}控制层")
|
||||
public class ${ClassName}Controller extends BaseController {
|
||||
|
||||
/**
|
||||
* ${functionName}业务层
|
||||
*/
|
||||
@Autowired
|
||||
private ${ClassName}Service ${className}Service;
|
||||
|
||||
|
@ -95,7 +100,8 @@ public class ${ClassName}Controller extends BaseController {
|
|||
@PostMapping
|
||||
@Operation(summary = "新增${functionName}", description = "新增${functionName}")
|
||||
public Result<String> add(@RequestBody ${ClassName}SaveReq ${className}SaveReq) {
|
||||
return toAjax(${className}Service.save(${ClassName}.saveBuild(${className}SaveReq)));
|
||||
${className}Service.save(${ClassName}SaveModel.saveReqBuild(${className}SaveReq));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -106,7 +112,8 @@ public class ${ClassName}Controller extends BaseController {
|
|||
@PutMapping("/{${pkColumn.javaField}}")
|
||||
@Operation(summary = "修改${functionName}", description = "修改${functionName}")
|
||||
public Result<String> edit(@PathVariable(value = "${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}, @RequestBody ${ClassName}EditReq ${className}EditReq) {
|
||||
return toAjax(${className}Service.updateById(${ClassName}.editBuild(${pkColumn.javaField},${className}EditReq)));
|
||||
${className}Service.edit(${ClassName}EditModel.editReqBuild(${pkColumn.javaField},${className}EditReq));
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -17,8 +17,8 @@ import lombok.NoArgsConstructor;
|
|||
import lombok.AllArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import ${packageName}.domain.req.${ClassName}QueryReq;
|
||||
import ${packageName}.domain.req.${ClassName}SaveReq;
|
||||
import ${packageName}.domain.req.${ClassName}EditReq;
|
||||
import ${packageName}.domain.model.${ClassName}SaveModel;
|
||||
import ${packageName}.domain.model.${ClassName}EditModel;
|
||||
#if($table.crud)
|
||||
import com.muyu.common.core.web.domain.BaseEntity;
|
||||
#elseif($table.tree)
|
||||
|
@ -40,7 +40,7 @@ import com.muyu.common.core.web.domain.TreeEntity;
|
|||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@TableName("${tableName}对数据库映射对象")
|
||||
@TableName("${tableName}")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ${ClassName} extends ${Entity} {
|
||||
@Serial
|
||||
|
@ -81,7 +81,7 @@ public class ${ClassName} extends ${Entity} {
|
|||
/**
|
||||
* 添加构造器
|
||||
*/
|
||||
public static ${ClassName} saveBuild(${ClassName}SaveReq ${className}SaveReq){
|
||||
public static ${ClassName} saveModelBuild(${ClassName}SaveModel saveModel){
|
||||
return ${ClassName}.builder()
|
||||
#foreach ($column in $columns)
|
||||
#if($column.isEdit == '1')
|
||||
|
@ -91,7 +91,7 @@ public class ${ClassName} extends ${Entity} {
|
|||
#else
|
||||
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||
#end
|
||||
.${column.javaField}(${className}SaveReq.get${AttrName}())
|
||||
.${column.javaField}(saveModel.get${AttrName}())
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
|
@ -101,9 +101,10 @@ public class ${ClassName} extends ${Entity} {
|
|||
/**
|
||||
* 修改构造器
|
||||
*/
|
||||
public static ${ClassName} editBuild(${pkColumn.javaType} ${pkColumn.javaField}, ${ClassName}EditReq ${className}EditReq){
|
||||
public static ${ClassName} editModelBuild(${ClassName}EditModel editModel){
|
||||
#set($PkAttrName=$pkColumn.javaField.substring(0,1).toUpperCase() + ${pkColumn.javaField.substring(1)})
|
||||
return ${ClassName}.builder()
|
||||
.${pkColumn.javaField}(${pkColumn.javaField})
|
||||
.${pkColumn.javaField}(editModel.get$PkAttrName())
|
||||
#foreach ($column in $columns)
|
||||
#if($column.isEdit == '1')
|
||||
#if(!$table.isSuperColumn($column.javaField))
|
||||
|
@ -112,7 +113,7 @@ public class ${ClassName} extends ${Entity} {
|
|||
#else
|
||||
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||
#end
|
||||
.${column.javaField}(${className}EditReq.get${AttrName}())
|
||||
.${column.javaField}(editModel.get${AttrName}())
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
package ${packageName}.domain.req;
|
||||
|
||||
#foreach ($import in $importList)
|
||||
import ${import};
|
||||
#end
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* ${functionName}修改请求对象
|
||||
*
|
||||
* @author ${author}
|
||||
* @date ${datetime}
|
||||
*/
|
||||
#if($table.crud)
|
||||
#set($Entity="BaseEntity")
|
||||
#elseif($table.tree)
|
||||
#set($Entity="TreeEntity")
|
||||
#end
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Schema(description = "${functionName}修改请求对象")
|
||||
public class ${ClassName}EditModel {
|
||||
|
||||
/**
|
||||
* 主键标识
|
||||
*/
|
||||
private ${pkColumn.javaType} ${pkColumn.javaField};
|
||||
|
||||
#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
|
||||
@Schema(name = "${column.javaField}", title = "${column.columnComment}", description = "${column.columnComment}" $isRequired)
|
||||
private $column.javaType $column.javaField;
|
||||
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
/**
|
||||
* 修改构造器
|
||||
*/
|
||||
public static ${ClassName}EditModel editReqBuild(${pkColumn.javaType} ${pkColumn.javaField}, ${ClassName}EditReq ${className}EditReq){
|
||||
return ${ClassName}EditModel.builder()
|
||||
.${pkColumn.javaField}(${pkColumn.javaField})
|
||||
#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}EditReq.get${AttrName}())
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
package ${packageName}.domain.req;
|
||||
|
||||
#foreach ($import in $importList)
|
||||
import ${import};
|
||||
#end
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* ${functionName}保存请求对象
|
||||
*
|
||||
* @author ${author}
|
||||
* @date ${datetime}
|
||||
*/
|
||||
#if($table.crud)
|
||||
#set($Entity="BaseEntity")
|
||||
#elseif($table.tree)
|
||||
#set($Entity="TreeEntity")
|
||||
#end
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Schema(description = "${functionName}保存请求对象")
|
||||
public class ${ClassName}SaveModel{
|
||||
|
||||
|
||||
#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
|
||||
@Schema(name = "${column.javaField}", title = "${column.columnComment}", description = "${column.columnComment}" $isRequired)
|
||||
private $column.javaType $column.javaField;
|
||||
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
|
||||
/**
|
||||
* 修改构造器
|
||||
*/
|
||||
public static ${ClassName}SaveModel saveReqBuild(${ClassName}SaveReq saveReq){
|
||||
return ${ClassName}SaveModel.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}(saveReq.get${AttrName}())
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
|
@ -4,6 +4,8 @@ import java.util.List;
|
|||
import com.muyu.common.core.web.page.PageQueryModel;
|
||||
import ${packageName}.domain.${ClassName};
|
||||
import ${packageName}.domain.model.${ClassName}QueryModel;
|
||||
import ${packageName}.domain.model.${ClassName}SaveModel;
|
||||
import ${packageName}.domain.model.${ClassName}EditModel;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
|
@ -29,4 +31,23 @@ public interface ${ClassName}Service extends IService<${ClassName}> {
|
|||
*/
|
||||
public List<${ClassName}> exportList(${ClassName} pageQueryModel);
|
||||
|
||||
|
||||
/**
|
||||
* ${functionName}添加
|
||||
*
|
||||
* @param saveModel ${functionName}添加模型
|
||||
* @return ${functionName}集合
|
||||
*/
|
||||
public void save(${ClassName}SaveModel saveModel);
|
||||
|
||||
/**
|
||||
* ${functionName}添加
|
||||
*
|
||||
* @param editModel ${functionName}修改模型
|
||||
* @return ${functionName}集合
|
||||
*/
|
||||
public void edit(${ClassName}EditModel editModel);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -12,6 +12,8 @@ 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}.domain.model.${ClassName}SaveModel;
|
||||
import ${packageName}.domain.model.${ClassName}EditModel;
|
||||
import ${packageName}.service.${ClassName}Service;
|
||||
|
||||
/**
|
||||
|
@ -93,4 +95,26 @@ public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${C
|
|||
#end #end #end
|
||||
return this.list(queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* ${functionName}添加
|
||||
*
|
||||
* @param saveModel ${functionName}
|
||||
* @return ${functionName}集合
|
||||
*/
|
||||
@Override
|
||||
public void save(${ClassName}SaveModel saveModel){
|
||||
this.save(${ClassName}.saveModelBuild(saveModel));
|
||||
}
|
||||
|
||||
/**
|
||||
* ${functionName}修改
|
||||
*
|
||||
* @param editModel ${functionName}修改模型
|
||||
* @return ${functionName}集合
|
||||
*/
|
||||
@Override
|
||||
public void edit(${ClassName}EditModel editModel){
|
||||
this.updateById(${ClassName}.editModelBuild(editModel));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue