From d653a28754308a4a0c3a0e92feebb3bd0a5b92b0 Mon Sep 17 00:00:00 2001 From: dongzeliang <2746733890@qq.com> Date: Sat, 22 Mar 2025 22:15:53 +0800 Subject: [PATCH] =?UTF-8?q?feat():=20=E6=96=B0=E5=A2=9E=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=99=A8=E5=AF=B9=E8=B1=A1=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=92=8C=E6=B7=BB=E5=8A=A0=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/muyu/gen/util/VelocityUtils.java | 8 ++ .../main/resources/vm/java/controller.java.vm | 15 +++- .../src/main/resources/vm/java/domain.java.vm | 17 ++-- .../main/resources/vm/java/editModel.java.vm | 85 +++++++++++++++++++ .../main/resources/vm/java/saveModel.java.vm | 81 ++++++++++++++++++ .../main/resources/vm/java/service.java.vm | 21 +++++ .../resources/vm/java/serviceImpl.java.vm | 24 ++++++ 7 files changed, 239 insertions(+), 12 deletions(-) create mode 100644 cloud-modules/cloud-modules-gen/src/main/resources/vm/java/editModel.java.vm create mode 100644 cloud-modules/cloud-modules-gen/src/main/resources/vm/java/saveModel.java.vm diff --git a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/util/VelocityUtils.java b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/util/VelocityUtils.java index 5ee6095..f474dd0 100644 --- a/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/util/VelocityUtils.java +++ b/cloud-modules/cloud-modules-gen/src/main/java/com/muyu/gen/util/VelocityUtils.java @@ -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")) { diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/controller.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/controller.java.vm index de7c909..d9616b0 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/controller.java.vm +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/controller.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 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 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(); } /** diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/domain.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/domain.java.vm index f895aa9..bd635ae 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/domain.java.vm +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/domain.java.vm @@ -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 diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/editModel.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/editModel.java.vm new file mode 100644 index 0000000..9fd0914 --- /dev/null +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/editModel.java.vm @@ -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(); + } + +} diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/saveModel.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/saveModel.java.vm new file mode 100644 index 0000000..5ae51a7 --- /dev/null +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/saveModel.java.vm @@ -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(); + } + +} diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/service.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/service.java.vm index 49fb659..fc0dc19 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/service.java.vm +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/service.java.vm @@ -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); + + + } diff --git a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/serviceImpl.java.vm b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/serviceImpl.java.vm index 353b041..c71321f 100644 --- a/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/serviceImpl.java.vm +++ b/cloud-modules/cloud-modules-gen/src/main/resources/vm/java/serviceImpl.java.vm @@ -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)); + } }