Commit fade9bce329a8c6130de2e49443eb78ed1624d23

Authored by YunaiV
1 parent 13f37ce0

解决现有 vo、do、mapper 的问题

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