Compare commits

...

2 Commits

Author SHA1 Message Date
bunny e47acc4651 💬 修改后端生成模板;生成字段判断 2025-07-05 23:23:49 +08:00
Bunny ef2364d991 🐛 请求地址改为中划线 2025-07-04 15:54:35 +08:00
9 changed files with 57 additions and 20 deletions

View File

@ -3,9 +3,11 @@ package cn.bunny.core.template;
import cn.bunny.domain.dto.VmsArgumentDto;
import cn.bunny.domain.entity.TableMetaData;
import cn.bunny.utils.MysqlTypeConvertUtil;
import com.google.common.base.CaseFormat;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import org.springframework.util.StringUtils;
import java.io.StringWriter;
import java.text.SimpleDateFormat;
@ -27,10 +29,6 @@ public class VmsTBaseTemplateGenerator extends AbstractTemplateGenerator {
* @param tableMetaData 表名称
*/
public VmsTBaseTemplateGenerator(VmsArgumentDto dto, String path, TableMetaData tableMetaData) {
this.dto = dto;
this.path = path;
this.tableMetaData = tableMetaData;
// 处理表名称替换前缀
String tableName = tableMetaData.getTableName();
String[] prefixes = dto.getTablePrefixes().split("[,]");
@ -40,6 +38,11 @@ public class VmsTBaseTemplateGenerator extends AbstractTemplateGenerator {
tableMetaData.setCleanTableName(handlerTableName);
}
}
this.dto = dto;
this.path = path;
this.tableMetaData = tableMetaData;
}
/**
@ -51,6 +54,7 @@ public class VmsTBaseTemplateGenerator extends AbstractTemplateGenerator {
public void addContext(VelocityContext context) {
// 当前的表名
String handlerTableName = tableMetaData.getCleanTableName();
handlerTableName = StringUtils.hasText(handlerTableName) ? handlerTableName : tableMetaData.getTableName();
// 表的注释内容
String comment = tableMetaData.getComment();
@ -77,6 +81,10 @@ public class VmsTBaseTemplateGenerator extends AbstractTemplateGenerator {
// 将类名称转成大驼峰
String upperCameCase = MysqlTypeConvertUtil.convertToCamelCase(handlerTableName, true);
context.put("classUppercaseName", upperCameCase);
// 添加中划线
String lowerHyphenName = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, lowerCamelCase);
context.put("lowerHyphenName", lowerHyphenName);
}
/**

View File

@ -18,3 +18,7 @@ spring:
hikari:
maximum-pool-size: 20
connection-timeout: 30000
logging:
file:
path: "logs/${spring.application.name}"

View File

@ -12,7 +12,9 @@ import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import ${package}.service.${classUppercaseName}Service;
import ${package}.domain.vo.result.PageResult;
import ${package}.domain.vo.result.Result;
import ${package}.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**
@ -25,7 +27,7 @@ import java.util.List;
*/
@Tag(name = "${comment}", description = "${comment}相关接口")
@RestController
@RequestMapping("${requestMapping}/${classLowercaseName}")
@RequestMapping("${requestMapping}/${lowerHyphenName}")
@RequiredArgsConstructor
public class ${classUppercaseName}Controller {

View File

@ -6,6 +6,10 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ -14,8 +18,8 @@ import lombok.NoArgsConstructor;
public class ${classUppercaseName}Dto {
#foreach($field in ${columnInfoList})
@Schema(name = "${field.lowercaseName}", title = "${field.comment}")
private ${field.javaType} ${field.lowercaseName};
@Schema(name = "${field.lowercaseName}", title = "${field.comment}")
private ${field.javaType} ${field.lowercaseName};
#end
}

View File

@ -2,22 +2,30 @@ package ${package}.domain.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
@EqualsAndHashCode(callSuper = true)
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.Date;
@Getter
@Setter
@Accessors(chain = true)
@TableName("${tableName}")
@Schema(name = "${classUppercaseName}对象", title = "${comment}", description = "${comment}的实体类对象")
public class ${classUppercaseName} extends BaseEntity {
#foreach($field in ${columnInfoList})
@Schema(name = "${field.lowercaseName}", title = "${field.comment}")
private ${field.javaType} ${field.lowercaseName};
public class ${classUppercaseName} {
#foreach($field in ${columnInfoList})
@Schema(name = "${field.lowercaseName}", title = "${field.comment}")
#if($field.isPrimaryKey)
@TableId(type = IdType.ASSIGN_ID)
#end
private ${field.javaType} ${field.lowercaseName};
#end
}

View File

@ -1,21 +1,26 @@
package ${package}.domain.vo;
import java.util.Date;
import java.math.BigDecimal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(name = "${classUppercaseName}VO对象", title = "${comment}", description = "${comment}的VO对象")
public class ${classUppercaseName}Vo {
#foreach($field in ${columnInfoList})
#foreach($field in ${columnInfoList})
@Schema(name = "${field.lowercaseName}", title = "${field.comment}")
private ${field.javaType} ${field.lowercaseName};
#end
#end
}

View File

@ -9,7 +9,9 @@ import ${package}.domain.entity.${classUppercaseName};
import ${package}.domain.vo.${classUppercaseName}Vo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import ${package}.domain.vo.result.PageResult;
import ${package}.domain.vo.result.Result;
import ${package}.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**

View File

@ -12,7 +12,9 @@ import ${package}.service.${classUppercaseName}Service;
import ${package}.domain.dto.${classUppercaseName}Dto;
import ${package}.domain.entity.${classUppercaseName};
import ${package}.domain.vo.${classUppercaseName}Vo;
import ${package}.domain.vo.result.PageResult;
import ${package}.domain.vo.result.Result;
import ${package}.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**

View File

@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
import ${package}.domain.dto.${classUppercaseName}Dto;
import ${package}.domain.entity.${classUppercaseName};
import ${package}.domain.vo.${classUppercaseName}Vo;
import ${package}.domain.vo.result.PageResult;
import ${package}.domain.vo.result.Result;
import ${package}.domain.vo.result.ResultCodeEnum;
import java.util.List;
/**