修改代码生成模板.
This commit is contained in:
@@ -15,8 +15,8 @@ import com.orion.lang.utils.ansi.style.color.AnsiForeground;
|
|||||||
import com.orion.lang.utils.ext.yml.YmlExt;
|
import com.orion.lang.utils.ext.yml.YmlExt;
|
||||||
import com.orion.ops.framework.mybatis.core.domain.BaseDO;
|
import com.orion.ops.framework.mybatis.core.domain.BaseDO;
|
||||||
import com.orion.ops.framework.mybatis.core.mapper.IMapper;
|
import com.orion.ops.framework.mybatis.core.mapper.IMapper;
|
||||||
import com.orion.ops.launch.generator.core.GenTable;
|
import com.orion.ops.launch.generator.template.Table;
|
||||||
import com.orion.ops.launch.generator.core.VelocityTemplateEngine;
|
import com.orion.ops.launch.generator.engine.VelocityTemplateEngine;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -40,20 +40,14 @@ public class CodeGenerator {
|
|||||||
// 作者
|
// 作者
|
||||||
String author = Const.ORION_AUTHOR;
|
String author = Const.ORION_AUTHOR;
|
||||||
// 模块
|
// 模块
|
||||||
String module = "asset";
|
String module = "infra";
|
||||||
// 生成的表
|
// 生成的表
|
||||||
GenTable[] tables = {
|
Table[] tables = {
|
||||||
// new GenTable("system_user", "用户", "user")
|
// new GenTable("system_user", "用户", "user")
|
||||||
// .vue("user", "user")
|
// .vue("user", "user")
|
||||||
// .enums(UserStatusEnum.class),
|
// .enums(UserStatusEnum.class),
|
||||||
new GenTable("host_key", "主机秘钥", "host")
|
new Table("preference", "用户偏好", "preference")
|
||||||
.vue("asset", "host-key")
|
.vue("user", "preference")
|
||||||
.useDrawerForm()
|
|
||||||
.ignoreTest(),
|
|
||||||
new GenTable("host_identity", "主机身份", "host")
|
|
||||||
.vue("asset", "host-identity")
|
|
||||||
.useDrawerForm()
|
|
||||||
.ignoreTest(),
|
|
||||||
};
|
};
|
||||||
// jdbc 配置 - 使用配置文件
|
// jdbc 配置 - 使用配置文件
|
||||||
File yamlFile = new File("orion-ops-launch/src/main/resources/application-dev.yaml");
|
File yamlFile = new File("orion-ops-launch/src/main/resources/application-dev.yaml");
|
||||||
@@ -76,7 +70,7 @@ public class CodeGenerator {
|
|||||||
String url,
|
String url,
|
||||||
String username,
|
String username,
|
||||||
String password,
|
String password,
|
||||||
GenTable[] tables,
|
Table[] tables,
|
||||||
String module) {
|
String module) {
|
||||||
// 创建引擎
|
// 创建引擎
|
||||||
VelocityTemplateEngine engine = getEngine(tables);
|
VelocityTemplateEngine engine = getEngine(tables);
|
||||||
@@ -125,7 +119,7 @@ public class CodeGenerator {
|
|||||||
* @param tables 表
|
* @param tables 表
|
||||||
* @return 渲染引擎
|
* @return 渲染引擎
|
||||||
*/
|
*/
|
||||||
private static VelocityTemplateEngine getEngine(GenTable[] tables) {
|
private static VelocityTemplateEngine getEngine(Table[] tables) {
|
||||||
return new VelocityTemplateEngine(tables);
|
return new VelocityTemplateEngine(tables);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,9 +178,9 @@ public class CodeGenerator {
|
|||||||
* @param tables 生成的表名
|
* @param tables 生成的表名
|
||||||
* @return 策略配置
|
* @return 策略配置
|
||||||
*/
|
*/
|
||||||
private static StrategyConfig getStrategyConfig(GenTable[] tables) {
|
private static StrategyConfig getStrategyConfig(Table[] tables) {
|
||||||
String[] tableNames = Arrays.stream(tables)
|
String[] tableNames = Arrays.stream(tables)
|
||||||
.map(GenTable::getTableName)
|
.map(Table::getTableName)
|
||||||
.toArray(String[]::new);
|
.toArray(String[]::new);
|
||||||
// 策略配置
|
// 策略配置
|
||||||
return new StrategyConfig.Builder()
|
return new StrategyConfig.Builder()
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
package com.orion.ops.launch.generator.core;
|
package com.orion.ops.launch.generator.engine;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||||
import com.baomidou.mybatisplus.generator.config.ConstVal;
|
import com.baomidou.mybatisplus.generator.config.ConstVal;
|
||||||
@@ -31,6 +31,7 @@ import com.orion.lang.utils.reflect.BeanMap;
|
|||||||
import com.orion.lang.utils.reflect.Fields;
|
import com.orion.lang.utils.reflect.Fields;
|
||||||
import com.orion.ops.framework.common.constant.Const;
|
import com.orion.ops.framework.common.constant.Const;
|
||||||
import com.orion.ops.framework.common.constant.OrionOpsProConst;
|
import com.orion.ops.framework.common.constant.OrionOpsProConst;
|
||||||
|
import com.orion.ops.launch.generator.template.Table;
|
||||||
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;
|
||||||
@@ -56,13 +57,13 @@ import java.util.stream.Collectors;
|
|||||||
*/
|
*/
|
||||||
public class VelocityTemplateEngine extends AbstractTemplateEngine {
|
public class VelocityTemplateEngine extends AbstractTemplateEngine {
|
||||||
|
|
||||||
private final Map<String, GenTable> tables;
|
private final Map<String, Table> tables;
|
||||||
|
|
||||||
private VelocityEngine velocityEngine;
|
private VelocityEngine velocityEngine;
|
||||||
|
|
||||||
public VelocityTemplateEngine(GenTable[] tables) {
|
public VelocityTemplateEngine(Table[] tables) {
|
||||||
this.tables = Arrays.stream(tables)
|
this.tables = Arrays.stream(tables)
|
||||||
.collect(Collectors.toMap(GenTable::getTableName, Function.identity()));
|
.collect(Collectors.toMap(Table::getTableName, Function.identity()));
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -145,21 +146,21 @@ public class VelocityTemplateEngine extends AbstractTemplateEngine {
|
|||||||
.build())
|
.build())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
// 获取 table
|
// 获取 table
|
||||||
GenTable table = tables.get(tableInfo.getName());
|
Table table = tables.get(tableInfo.getName());
|
||||||
// 不生成对外 api 文件
|
// 不生成对外 api 文件
|
||||||
if (!table.isGenProviderApi()) {
|
if (!table.isEnableProviderApi()) {
|
||||||
files.removeIf(file -> this.isServerProviderFile(file.getTemplatePath()));
|
files.removeIf(file -> this.isServerProviderFile(file.getTemplatePath()));
|
||||||
// 不生成对外 api 单元测试文件
|
// 不生成对外 api 单元测试文件
|
||||||
if (table.isGenUnitTest()) {
|
if (table.isEnableUnitTest()) {
|
||||||
files.removeIf(file -> this.isServerProviderTestFile(file.getTemplatePath()));
|
files.removeIf(file -> this.isServerProviderTestFile(file.getTemplatePath()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 不生成单元测试文件
|
// 不生成单元测试文件
|
||||||
if (!table.isGenUnitTest()) {
|
if (!table.isEnableUnitTest()) {
|
||||||
files.removeIf(file -> this.isServerUnitTestFile(file.getTemplatePath()));
|
files.removeIf(file -> this.isServerUnitTestFile(file.getTemplatePath()));
|
||||||
}
|
}
|
||||||
// 不生成 vue 文件
|
// 不生成 vue 文件
|
||||||
if (!table.isGenVue()) {
|
if (!table.isEnableVue()) {
|
||||||
files.removeIf(file -> this.isVueFile(file.getTemplatePath()));
|
files.removeIf(file -> this.isVueFile(file.getTemplatePath()));
|
||||||
}
|
}
|
||||||
return files;
|
return files;
|
||||||
@@ -298,7 +299,7 @@ public class VelocityTemplateEngine extends AbstractTemplateEngine {
|
|||||||
*/
|
*/
|
||||||
private void generatorVueFile(@NotNull List<CustomFile> customFiles, @NotNull TableInfo tableInfo, @NotNull Map<String, Object> objectMap) {
|
private void generatorVueFile(@NotNull List<CustomFile> customFiles, @NotNull TableInfo tableInfo, @NotNull Map<String, Object> objectMap) {
|
||||||
// 不生成 vue 文件
|
// 不生成 vue 文件
|
||||||
if (!tables.get(tableInfo.getName()).isGenVue()) {
|
if (!tables.get(tableInfo.getName()).isEnableVue()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 过滤文件
|
// 过滤文件
|
||||||
@@ -308,7 +309,7 @@ public class VelocityTemplateEngine extends AbstractTemplateEngine {
|
|||||||
|
|
||||||
// 元数据
|
// 元数据
|
||||||
String outPath = getConfigBuilder().getGlobalConfig().getOutputDir();
|
String outPath = getConfigBuilder().getGlobalConfig().getOutputDir();
|
||||||
GenTable table = tables.get(tableInfo.getName());
|
Table table = tables.get(tableInfo.getName());
|
||||||
BeanMap beanMap = BeanMap.create(table, "enums");
|
BeanMap beanMap = BeanMap.create(table, "enums");
|
||||||
// 模块名称实体
|
// 模块名称实体
|
||||||
beanMap.put("moduleEntity", VariableStyles.SPINE.toBigHump(table.getModule()));
|
beanMap.put("moduleEntity", VariableStyles.SPINE.toBigHump(table.getModule()));
|
||||||
@@ -394,7 +395,7 @@ public class VelocityTemplateEngine extends AbstractTemplateEngine {
|
|||||||
* @param table table
|
* @param table table
|
||||||
* @return enums
|
* @return enums
|
||||||
*/
|
*/
|
||||||
private Object getEnumMap(GenTable table) {
|
private Object getEnumMap(Table table) {
|
||||||
List<Class<? extends Enum<?>>> enums = table.getEnums();
|
List<Class<? extends Enum<?>>> enums = table.getEnums();
|
||||||
Map<String, MultiLinkedHashMap<String, String, Object>> enumMap = new LinkedHashMap<>();
|
Map<String, MultiLinkedHashMap<String, String, Object>> enumMap = new LinkedHashMap<>();
|
||||||
for (Class<? extends Enum<?>> e : enums) {
|
for (Class<? extends Enum<?>> e : enums) {
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
package com.orion.ops.launch.generator.template;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 后端代码缓存模板
|
||||||
|
*
|
||||||
|
* @author Jiahang Li
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 2023/9/26 1:14
|
||||||
|
*/
|
||||||
|
public class CacheTemplate extends ServerTemplate {
|
||||||
|
|
||||||
|
public CacheTemplate(Table table) {
|
||||||
|
super(table);
|
||||||
|
table.enableCache = true;
|
||||||
|
table.cacheExpireTime = 1;
|
||||||
|
table.cacheExpireUnit = TimeUnit.HOURS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置缓存 key
|
||||||
|
*
|
||||||
|
* @param key key
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public CacheTemplate key(String key) {
|
||||||
|
table.cacheKey = key;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置缓存过期时间
|
||||||
|
*
|
||||||
|
* @param time time
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public CacheTemplate expireTime(Integer time) {
|
||||||
|
table.cacheExpired = true;
|
||||||
|
table.cacheExpireTime = time;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置缓存过期时间单位
|
||||||
|
*
|
||||||
|
* @param unit unit
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public CacheTemplate expireUnit(TimeUnit unit) {
|
||||||
|
table.cacheExpired = true;
|
||||||
|
table.cacheExpireUnit = unit;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置缓存过期时间
|
||||||
|
*
|
||||||
|
* @param time time
|
||||||
|
* @param unit unit
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public CacheTemplate expire(Integer time, TimeUnit unit) {
|
||||||
|
table.cacheExpired = true;
|
||||||
|
table.cacheExpireTime = time;
|
||||||
|
table.cacheExpireUnit = unit;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package com.orion.ops.launch.generator.template;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 前端代码枚举模板
|
||||||
|
*
|
||||||
|
* @author Jiahang Li
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 2023/9/26 1:14
|
||||||
|
*/
|
||||||
|
public class EnumsTemplate extends VueTemplate {
|
||||||
|
|
||||||
|
public EnumsTemplate(Table table) {
|
||||||
|
super(table);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,93 @@
|
|||||||
|
package com.orion.ops.launch.generator.template;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 后端代码模板
|
||||||
|
*
|
||||||
|
* @author Jiahang Li
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 2023/9/26 1:14
|
||||||
|
*/
|
||||||
|
public class ServerTemplate extends Template {
|
||||||
|
|
||||||
|
public ServerTemplate(Table table) {
|
||||||
|
super(table);
|
||||||
|
table.enableUnitTest = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ServerTemplate(Table table, String tableName) {
|
||||||
|
super(table);
|
||||||
|
table.tableName = tableName;
|
||||||
|
table.enableUnitTest = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ServerTemplate(Table table, String tableName, String comment, String bizPackage) {
|
||||||
|
super(table);
|
||||||
|
table.tableName = tableName;
|
||||||
|
table.comment = comment;
|
||||||
|
table.bizPackage = bizPackage;
|
||||||
|
table.enableUnitTest = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置表名称
|
||||||
|
*
|
||||||
|
* @param tableName tableName
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public ServerTemplate tableName(String tableName) {
|
||||||
|
table.tableName = tableName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置业务注释
|
||||||
|
*
|
||||||
|
* @param comment comment
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public ServerTemplate comment(String comment) {
|
||||||
|
table.comment = comment;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置业务实体包名
|
||||||
|
*
|
||||||
|
* @param bizPackage bizPackage
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public ServerTemplate bizPackage(String bizPackage) {
|
||||||
|
table.bizPackage = bizPackage;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否生成对外 api
|
||||||
|
*
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public ServerTemplate enableProviderApi() {
|
||||||
|
table.enableProviderApi = true;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 不生成单元测试
|
||||||
|
*
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public ServerTemplate disableUnitTest() {
|
||||||
|
table.enableUnitTest = false;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置 cache
|
||||||
|
*
|
||||||
|
* @return cache
|
||||||
|
*/
|
||||||
|
public CacheTemplate cache() {
|
||||||
|
return new CacheTemplate(table);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,10 +1,12 @@
|
|||||||
package com.orion.ops.launch.generator.core;
|
package com.orion.ops.launch.generator.template;
|
||||||
|
|
||||||
import com.orion.lang.utils.collect.Lists;
|
import com.orion.lang.utils.collect.Lists;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Jiahang Li
|
* @author Jiahang Li
|
||||||
@@ -12,70 +14,105 @@ import java.util.List;
|
|||||||
* @since 2023/7/17 10:44
|
* @since 2023/7/17 10:44
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class GenTable {
|
@Getter
|
||||||
|
public class Table {
|
||||||
|
|
||||||
// -------------------- 后端 --------------------
|
// -------------------- 后端 --------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表名称
|
* 表名称
|
||||||
*/
|
*/
|
||||||
private String tableName;
|
protected String tableName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 业务注释
|
* 业务注释
|
||||||
*/
|
*/
|
||||||
private String comment;
|
protected String comment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 业务实体包名
|
* 业务实体包名
|
||||||
* <p>
|
* <p>
|
||||||
* request dto 包
|
* request dto 包
|
||||||
*/
|
*/
|
||||||
private String bizPackage;
|
protected String bizPackage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否生成对外 api
|
* 是否生成对外 api
|
||||||
*/
|
*/
|
||||||
private boolean genProviderApi;
|
protected boolean enableProviderApi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否生成单元测试
|
* 是否生成单元测试
|
||||||
*/
|
*/
|
||||||
private boolean genUnitTest;
|
protected boolean enableUnitTest;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否可缓存
|
||||||
|
*/
|
||||||
|
protected boolean enableCache;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 缓存的 key
|
||||||
|
*/
|
||||||
|
protected String cacheKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 缓存是否会过期
|
||||||
|
*/
|
||||||
|
protected boolean cacheExpired;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 缓存过期时间
|
||||||
|
*/
|
||||||
|
protected Integer cacheExpireTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 缓存过期时间单位
|
||||||
|
*/
|
||||||
|
protected TimeUnit cacheExpireUnit;
|
||||||
|
|
||||||
// -------------------- 前端 --------------------
|
// -------------------- 前端 --------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否生成 vue 代码
|
* 是否生成 vue 代码
|
||||||
*/
|
*/
|
||||||
private boolean genVue;
|
protected boolean enableVue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 模块 用于文件名称生成
|
* 模块 用于文件名称生成
|
||||||
*/
|
*/
|
||||||
private String module;
|
protected String module;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 功能 用于文件名称生成
|
* 功能 用于文件名称生成
|
||||||
*/
|
*/
|
||||||
private String feature;
|
protected String feature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 使用抽屉表单
|
* 使用抽屉表单
|
||||||
*/
|
*/
|
||||||
private boolean drawerForm;
|
protected boolean enableDrawerForm;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表可多选
|
||||||
|
*/
|
||||||
|
protected boolean enableRowSelection;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成的枚举文件
|
* 生成的枚举文件
|
||||||
|
* field name [k,v,k,v,k,v] label value color other
|
||||||
*/
|
*/
|
||||||
private List<Class<? extends Enum<?>>> enums;
|
protected List<Class<? extends Enum<?>>> enums;
|
||||||
|
|
||||||
public GenTable(String tableName, String comment, String bizPackage) {
|
public Table() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Table(String tableName, String comment, String bizPackage) {
|
||||||
this.tableName = tableName;
|
this.tableName = tableName;
|
||||||
this.comment = comment;
|
this.comment = comment;
|
||||||
this.bizPackage = bizPackage;
|
this.bizPackage = bizPackage;
|
||||||
this.genProviderApi = true;
|
this.enableProviderApi = true;
|
||||||
this.genUnitTest = true;
|
this.enableUnitTest = true;
|
||||||
this.enums = new ArrayList<>();
|
this.enums = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,8 +121,8 @@ public class GenTable {
|
|||||||
*
|
*
|
||||||
* @return this
|
* @return this
|
||||||
*/
|
*/
|
||||||
public GenTable ignoreApi() {
|
public Table ignoreApi() {
|
||||||
this.genProviderApi = false;
|
this.enableProviderApi = false;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,8 +131,8 @@ public class GenTable {
|
|||||||
*
|
*
|
||||||
* @return this
|
* @return this
|
||||||
*/
|
*/
|
||||||
public GenTable ignoreTest() {
|
public Table ignoreTest() {
|
||||||
this.genUnitTest = false;
|
this.enableUnitTest = false;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,8 +143,8 @@ public class GenTable {
|
|||||||
* @param feature feature
|
* @param feature feature
|
||||||
* @return this
|
* @return this
|
||||||
*/
|
*/
|
||||||
public GenTable vue(String module, String feature) {
|
public Table vue(String module, String feature) {
|
||||||
this.genVue = true;
|
this.enableVue = true;
|
||||||
this.module = module;
|
this.module = module;
|
||||||
this.feature = feature;
|
this.feature = feature;
|
||||||
return this;
|
return this;
|
||||||
@@ -118,8 +155,7 @@ public class GenTable {
|
|||||||
*
|
*
|
||||||
* @return this
|
* @return this
|
||||||
*/
|
*/
|
||||||
public GenTable useDrawerForm() {
|
public Table useDrawerForm() {
|
||||||
this.drawerForm = true;
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -130,7 +166,7 @@ public class GenTable {
|
|||||||
* @return enums
|
* @return enums
|
||||||
*/
|
*/
|
||||||
@SafeVarargs
|
@SafeVarargs
|
||||||
public final GenTable enums(Class<? extends Enum<?>>... enums) {
|
public final Table enums(Class<? extends Enum<?>>... enums) {
|
||||||
this.enums.addAll(Lists.of(enums));
|
this.enums.addAll(Lists.of(enums));
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
package com.orion.ops.launch.generator.template;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代码生成模板
|
||||||
|
*
|
||||||
|
* @author Jiahang Li
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 2023/9/26 0:51
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class Template {
|
||||||
|
|
||||||
|
protected final Table table;
|
||||||
|
|
||||||
|
protected Template(Table table) {
|
||||||
|
this.table = table;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建模板
|
||||||
|
*
|
||||||
|
* @param tableName 表名称
|
||||||
|
* @return Template
|
||||||
|
*/
|
||||||
|
public static ServerTemplate create(String tableName) {
|
||||||
|
return new ServerTemplate(new Table(), tableName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建模板
|
||||||
|
*
|
||||||
|
* @param tableName 表名称
|
||||||
|
* @param comment 业务注释
|
||||||
|
* @param bizPackage 业务包名
|
||||||
|
* @return Template
|
||||||
|
*/
|
||||||
|
public static ServerTemplate create(String tableName, String comment, String bizPackage) {
|
||||||
|
return new ServerTemplate(new Table(), tableName, comment, bizPackage);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置 server
|
||||||
|
*
|
||||||
|
* @return ServerTemplate
|
||||||
|
*/
|
||||||
|
public ServerTemplate server() {
|
||||||
|
return new ServerTemplate(table);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置 vue
|
||||||
|
*
|
||||||
|
* @return vue
|
||||||
|
*/
|
||||||
|
public VueTemplate vue() {
|
||||||
|
return new VueTemplate(table);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置 vue
|
||||||
|
*
|
||||||
|
* @param module 模块
|
||||||
|
* @param feature 功能
|
||||||
|
* @return vue
|
||||||
|
*/
|
||||||
|
public VueTemplate vue(String module, String feature) {
|
||||||
|
return new VueTemplate(table, module, feature);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建
|
||||||
|
*
|
||||||
|
* @return table
|
||||||
|
*/
|
||||||
|
public Table build() {
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
package com.orion.ops.launch.generator.template;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 前端代码模板
|
||||||
|
*
|
||||||
|
* @author Jiahang Li
|
||||||
|
* @version 1.0.0
|
||||||
|
* @since 2023/9/26 1:17
|
||||||
|
*/
|
||||||
|
public class VueTemplate extends Template {
|
||||||
|
|
||||||
|
public VueTemplate(Table table) {
|
||||||
|
super(table);
|
||||||
|
table.enableVue = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public VueTemplate(Table table, String module, String feature) {
|
||||||
|
super(table);
|
||||||
|
table.enableVue = true;
|
||||||
|
table.module = module;
|
||||||
|
table.feature = feature;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置模块 用于文件名称生成
|
||||||
|
*
|
||||||
|
* @param module module
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public VueTemplate module(String module) {
|
||||||
|
table.module = module;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置功能 用于文件名称生成
|
||||||
|
*
|
||||||
|
* @param feature feature
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public VueTemplate feature(String feature) {
|
||||||
|
table.feature = feature;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 使用抽屉表单
|
||||||
|
*
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public VueTemplate enableDrawerForm() {
|
||||||
|
table.enableDrawerForm = true;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表可多选
|
||||||
|
*
|
||||||
|
* @return this
|
||||||
|
*/
|
||||||
|
public VueTemplate enableRowSelection() {
|
||||||
|
table.enableRowSelection = true;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user