Commit fade9bce329a8c6130de2e49443eb78ed1624d23
1 parent
13f37ce0
解决现有 vo、do、mapper 的问题
Showing
4 changed files
with
17 additions
and
8 deletions
src/main/java/cn/iocoder/dashboard/modules/tool/service/codegen/impl/ToolCodegenEngine.java
| ... | ... | @@ -10,8 +10,10 @@ import cn.iocoder.dashboard.framework.mybatis.core.mapper.BaseMapperX; |
| 10 | 10 | import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX; |
| 11 | 11 | import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenColumnDO; |
| 12 | 12 | import cn.iocoder.dashboard.modules.tool.dal.mysql.dataobject.codegen.ToolCodegenTableDO; |
| 13 | +import cn.iocoder.dashboard.util.date.DateUtils; | |
| 13 | 14 | import org.springframework.stereotype.Component; |
| 14 | 15 | |
| 16 | +import java.util.Date; | |
| 15 | 17 | import java.util.HashMap; |
| 16 | 18 | import java.util.List; |
| 17 | 19 | import java.util.Map; |
| ... | ... | @@ -49,9 +51,10 @@ public class ToolCodegenEngine { |
| 49 | 51 | // 全局配置 |
| 50 | 52 | globalBindingMap.put("basePackage", "cn.iocoder.dashboard.modules"); // TODO 基础包 |
| 51 | 53 | // 全局 Java Bean |
| 52 | - globalBindingMap.put("pageResultClassName", PageResult.class.getName()); | |
| 54 | + globalBindingMap.put("PageResultClassName", PageResult.class.getName()); | |
| 55 | + globalBindingMap.put("DateUtilsClassName", DateUtils.class.getName()); | |
| 53 | 56 | // VO 类,独有字段 |
| 54 | - globalBindingMap.put("pageParamClassName", PageParam.class.getName()); | |
| 57 | + globalBindingMap.put("PageParamClassName", PageParam.class.getName()); | |
| 55 | 58 | // DO 类,独有字段 |
| 56 | 59 | globalBindingMap.put("baseDOFields", ToolCodegenBuilder.BASE_DO_FIELDS); |
| 57 | 60 | globalBindingMap.put("baseDOClassName", BaseDO.class.getName()); |
| ... | ... | @@ -64,6 +67,8 @@ public class ToolCodegenEngine { |
| 64 | 67 | Map<String, Object> bindingMap = new HashMap<>(); |
| 65 | 68 | bindingMap.put("table", table); |
| 66 | 69 | bindingMap.put("columns", columns); |
| 70 | + bindingMap.put("hasDateColumn", columns.stream().anyMatch(codegenColumnDO -> | |
| 71 | + codegenColumnDO.getJavaType().equals(Date.class.getSimpleName()))); | |
| 67 | 72 | bindingMap.putAll(globalBindingMap); |
| 68 | 73 | // 执行生成 |
| 69 | 74 | // String result = templateEngine.getTemplate("codegen/dal/do.vm").render(bindingMap); | ... | ... |
src/main/resources/codegen/controller/vo/pageReqVO.vm
| ... | ... | @@ -2,9 +2,13 @@ package ${basePackage}.${table.moduleName}.controller.${table.businessName}.vo; |
| 2 | 2 | |
| 3 | 3 | import lombok.*; |
| 4 | 4 | import java.util.*; |
| 5 | -import javax.validation.constraints.*; | |
| 6 | 5 | import io.swagger.annotations.*; |
| 7 | -import ${pageParamClassName}; | |
| 6 | +import ${PageParamClassName}; | |
| 7 | +#if (${hasDateColumn}) | |
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | |
| 9 | + | |
| 10 | +import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | |
| 11 | +#end | |
| 8 | 12 | |
| 9 | 13 | @ApiModel("${table.classComment}分页 Request VO") |
| 10 | 14 | @Data |
| ... | ... | @@ -18,7 +22,7 @@ public class ${table.className}PageReqVO extends PageParam { |
| 18 | 22 | #foreach ($column in $columns) |
| 19 | 23 | #set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写 |
| 20 | 24 | #if (${column.listOperation})##查询操作 |
| 21 | -#if (${column.listOperationCondition} == "BETWEEN")## Between 的时候 | |
| 25 | +#if (${column.listOperationCondition} == "BETWEEN")## 情况一,Between 的时候 | |
| 22 | 26 | @ApiModelProperty(value = "开始${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end) |
| 23 | 27 | #if (${column.javaType} == "Date")## 时间类型 |
| 24 | 28 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
| ... | ... | @@ -30,7 +34,7 @@ public class ${table.className}PageReqVO extends PageParam { |
| 30 | 34 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
| 31 | 35 | #end |
| 32 | 36 | private ${column.javaType} end${JavaField}; |
| 33 | -#else | |
| 37 | +#else##情况二,非 Between 的时间 | |
| 34 | 38 | #if (${column.javaType} == "Date")## 时间类型 |
| 35 | 39 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
| 36 | 40 | #end | ... | ... |
src/main/resources/codegen/dal/do.vm
| ... | ... | @@ -3,7 +3,7 @@ package ${basePackage}.${table.moduleName}.dal.mysql.dataobject.${table.business |
| 3 | 3 | import lombok.*; |
| 4 | 4 | import java.util.*; |
| 5 | 5 | import com.baomidou.mybatisplus.annotation.*; |
| 6 | -import ${baseDOClassName}; | |
| 6 | +import ${BaseDOClassName}; | |
| 7 | 7 | |
| 8 | 8 | /** |
| 9 | 9 | * ${table.classComment} DO | ... | ... |
src/main/resources/codegen/dal/mapper.vm
| 1 | 1 | package ${basePackage}.${table.moduleName}.dal.mysql.dao.${table.businessName}; |
| 2 | 2 | |
| 3 | -import ${pageResultClassName}; | |
| 3 | +import ${PageResultClassName}; | |
| 4 | 4 | import ${QueryWrapperClassName}; |
| 5 | 5 | import ${BaseMapperClassName}; |
| 6 | 6 | import ${basePackage}.${table.moduleName}.dal.mysql.dataobject.${table.businessName}.${table.className}DO; | ... | ... |