Compare commits
2 Commits
c478aa9418
...
e47acc4651
Author | SHA1 | Date |
---|---|---|
|
e47acc4651 | |
|
ef2364d991 |
|
@ -3,9 +3,11 @@ package cn.bunny.core.template;
|
||||||
import cn.bunny.domain.dto.VmsArgumentDto;
|
import cn.bunny.domain.dto.VmsArgumentDto;
|
||||||
import cn.bunny.domain.entity.TableMetaData;
|
import cn.bunny.domain.entity.TableMetaData;
|
||||||
import cn.bunny.utils.MysqlTypeConvertUtil;
|
import cn.bunny.utils.MysqlTypeConvertUtil;
|
||||||
|
import com.google.common.base.CaseFormat;
|
||||||
import org.apache.velocity.Template;
|
import org.apache.velocity.Template;
|
||||||
import org.apache.velocity.VelocityContext;
|
import org.apache.velocity.VelocityContext;
|
||||||
import org.apache.velocity.app.Velocity;
|
import org.apache.velocity.app.Velocity;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
@ -27,10 +29,6 @@ public class VmsTBaseTemplateGenerator extends AbstractTemplateGenerator {
|
||||||
* @param tableMetaData 表名称
|
* @param tableMetaData 表名称
|
||||||
*/
|
*/
|
||||||
public VmsTBaseTemplateGenerator(VmsArgumentDto dto, String path, TableMetaData tableMetaData) {
|
public VmsTBaseTemplateGenerator(VmsArgumentDto dto, String path, TableMetaData tableMetaData) {
|
||||||
this.dto = dto;
|
|
||||||
this.path = path;
|
|
||||||
this.tableMetaData = tableMetaData;
|
|
||||||
|
|
||||||
// 处理表名称,替换前缀
|
// 处理表名称,替换前缀
|
||||||
String tableName = tableMetaData.getTableName();
|
String tableName = tableMetaData.getTableName();
|
||||||
String[] prefixes = dto.getTablePrefixes().split("[,,]");
|
String[] prefixes = dto.getTablePrefixes().split("[,,]");
|
||||||
|
@ -40,6 +38,11 @@ public class VmsTBaseTemplateGenerator extends AbstractTemplateGenerator {
|
||||||
tableMetaData.setCleanTableName(handlerTableName);
|
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) {
|
public void addContext(VelocityContext context) {
|
||||||
// 当前的表名
|
// 当前的表名
|
||||||
String handlerTableName = tableMetaData.getCleanTableName();
|
String handlerTableName = tableMetaData.getCleanTableName();
|
||||||
|
handlerTableName = StringUtils.hasText(handlerTableName) ? handlerTableName : tableMetaData.getTableName();
|
||||||
// 表的注释内容
|
// 表的注释内容
|
||||||
String comment = tableMetaData.getComment();
|
String comment = tableMetaData.getComment();
|
||||||
|
|
||||||
|
@ -77,6 +81,10 @@ public class VmsTBaseTemplateGenerator extends AbstractTemplateGenerator {
|
||||||
// 将类名称转成大驼峰
|
// 将类名称转成大驼峰
|
||||||
String upperCameCase = MysqlTypeConvertUtil.convertToCamelCase(handlerTableName, true);
|
String upperCameCase = MysqlTypeConvertUtil.convertToCamelCase(handlerTableName, true);
|
||||||
context.put("classUppercaseName", upperCameCase);
|
context.put("classUppercaseName", upperCameCase);
|
||||||
|
|
||||||
|
// 添加中划线
|
||||||
|
String lowerHyphenName = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, lowerCamelCase);
|
||||||
|
context.put("lowerHyphenName", lowerHyphenName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -17,4 +17,8 @@ spring:
|
||||||
password: ${bunny.master.password}
|
password: ${bunny.master.password}
|
||||||
hikari:
|
hikari:
|
||||||
maximum-pool-size: 20
|
maximum-pool-size: 20
|
||||||
connection-timeout: 30000
|
connection-timeout: 30000
|
||||||
|
|
||||||
|
logging:
|
||||||
|
file:
|
||||||
|
path: "logs/${spring.application.name}"
|
|
@ -12,7 +12,9 @@ import org.springframework.web.bind.annotation.*;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import ${package}.service.${classUppercaseName}Service;
|
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;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -25,7 +27,7 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
@Tag(name = "${comment}", description = "${comment}相关接口")
|
@Tag(name = "${comment}", description = "${comment}相关接口")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("${requestMapping}/${classLowercaseName}")
|
@RequestMapping("${requestMapping}/${lowerHyphenName}")
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class ${classUppercaseName}Controller {
|
public class ${classUppercaseName}Controller {
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,10 @@ import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
|
@ -14,8 +18,8 @@ import lombok.NoArgsConstructor;
|
||||||
public class ${classUppercaseName}Dto {
|
public class ${classUppercaseName}Dto {
|
||||||
|
|
||||||
#foreach($field in ${columnInfoList})
|
#foreach($field in ${columnInfoList})
|
||||||
@Schema(name = "${field.lowercaseName}", title = "${field.comment}")
|
@Schema(name = "${field.lowercaseName}", title = "${field.comment}")
|
||||||
private ${field.javaType} ${field.lowercaseName};
|
private ${field.javaType} ${field.lowercaseName};
|
||||||
|
|
||||||
#end
|
#end
|
||||||
}
|
}
|
|
@ -2,22 +2,30 @@ package ${package}.domain.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
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.EqualsAndHashCode;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
import java.time.LocalDateTime;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@TableName("${tableName}")
|
@TableName("${tableName}")
|
||||||
@Schema(name = "${classUppercaseName}对象", title = "${comment}", description = "${comment}的实体类对象")
|
@Schema(name = "${classUppercaseName}对象", title = "${comment}", description = "${comment}的实体类对象")
|
||||||
public class ${classUppercaseName} extends BaseEntity {
|
public class ${classUppercaseName} {
|
||||||
|
|
||||||
#foreach($field in ${columnInfoList})
|
|
||||||
@Schema(name = "${field.lowercaseName}", title = "${field.comment}")
|
|
||||||
private ${field.javaType} ${field.lowercaseName};
|
|
||||||
|
|
||||||
|
#foreach($field in ${columnInfoList})
|
||||||
|
@Schema(name = "${field.lowercaseName}", title = "${field.comment}")
|
||||||
|
#if($field.isPrimaryKey)
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
#end
|
#end
|
||||||
|
private ${field.javaType} ${field.lowercaseName};
|
||||||
|
|
||||||
|
#end
|
||||||
}
|
}
|
|
@ -1,21 +1,26 @@
|
||||||
package ${package}.domain.vo;
|
package ${package}.domain.vo;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Schema(name = "${classUppercaseName}VO对象", title = "${comment}", description = "${comment}的VO对象")
|
@Schema(name = "${classUppercaseName}VO对象", title = "${comment}", description = "${comment}的VO对象")
|
||||||
public class ${classUppercaseName}Vo {
|
public class ${classUppercaseName}Vo {
|
||||||
|
|
||||||
#foreach($field in ${columnInfoList})
|
#foreach($field in ${columnInfoList})
|
||||||
@Schema(name = "${field.lowercaseName}", title = "${field.comment}")
|
@Schema(name = "${field.lowercaseName}", title = "${field.comment}")
|
||||||
private ${field.javaType} ${field.lowercaseName};
|
private ${field.javaType} ${field.lowercaseName};
|
||||||
|
|
||||||
#end
|
#end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,9 @@ import ${package}.domain.entity.${classUppercaseName};
|
||||||
import ${package}.domain.vo.${classUppercaseName}Vo;
|
import ${package}.domain.vo.${classUppercaseName}Vo;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import org.apache.ibatis.annotations.Param;
|
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;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -12,7 +12,9 @@ import ${package}.service.${classUppercaseName}Service;
|
||||||
import ${package}.domain.dto.${classUppercaseName}Dto;
|
import ${package}.domain.dto.${classUppercaseName}Dto;
|
||||||
import ${package}.domain.entity.${classUppercaseName};
|
import ${package}.domain.entity.${classUppercaseName};
|
||||||
import ${package}.domain.vo.${classUppercaseName}Vo;
|
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;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import ${package}.domain.dto.${classUppercaseName}Dto;
|
import ${package}.domain.dto.${classUppercaseName}Dto;
|
||||||
import ${package}.domain.entity.${classUppercaseName};
|
import ${package}.domain.entity.${classUppercaseName};
|
||||||
import ${package}.domain.vo.${classUppercaseName}Vo;
|
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;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue