mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-09-09 20:57:21 +08:00
refactor(generator): 生成菜单脚本添加ID (#109)
This commit is contained in:
@@ -25,8 +25,13 @@ import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.ZipUtil;
|
||||
import cn.hutool.db.meta.Column;
|
||||
import cn.hutool.db.meta.Table;
|
||||
import cn.hutool.extra.template.TemplateConfig;
|
||||
import cn.hutool.extra.template.TemplateEngine;
|
||||
import cn.hutool.extra.template.TemplateUtil;
|
||||
import cn.hutool.extra.template.engine.freemarker.FreemarkerEngine;
|
||||
import cn.hutool.system.SystemUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import freemarker.ext.beans.BeansWrapper;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -47,7 +52,6 @@ import top.continew.admin.generator.service.GeneratorService;
|
||||
import top.continew.starter.core.autoconfigure.project.ProjectProperties;
|
||||
import top.continew.starter.core.constant.StringConstants;
|
||||
import top.continew.starter.core.exception.BusinessException;
|
||||
import top.continew.starter.core.util.TemplateUtils;
|
||||
import top.continew.starter.core.validation.CheckUtils;
|
||||
import top.continew.starter.data.core.enums.DatabaseType;
|
||||
import top.continew.starter.data.core.util.MetaUtils;
|
||||
@@ -224,6 +228,12 @@ public class GeneratorServiceImpl implements GeneratorService {
|
||||
// 渲染代码
|
||||
String classNamePrefix = innerGenConfig.getClassNamePrefix();
|
||||
Map<String, GeneratorProperties.TemplateConfig> templateConfigMap = generatorProperties.getTemplateConfigs();
|
||||
|
||||
TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("templates", TemplateConfig.ResourceMode.CLASSPATH));
|
||||
if (engine instanceof FreemarkerEngine) {
|
||||
((FreemarkerEngine) engine).getConfiguration().setSharedVariable("statics", BeansWrapper.getDefaultInstance().getStaticModels());
|
||||
}
|
||||
|
||||
for (Map.Entry<String, GeneratorProperties.TemplateConfig> templateConfigEntry : templateConfigMap.entrySet()) {
|
||||
GeneratorProperties.TemplateConfig templateConfig = templateConfigEntry.getValue();
|
||||
// 移除需要忽略的字段
|
||||
@@ -250,8 +260,8 @@ public class GeneratorServiceImpl implements GeneratorService {
|
||||
: this.getFrontendFileName(classNamePrefix, className, extension);
|
||||
}
|
||||
generatePreview.setFileName(fileName);
|
||||
generatePreview.setContent(TemplateUtils.render(templateConfig.getTemplatePath(), BeanUtil
|
||||
.beanToMap(innerGenConfig)));
|
||||
generatePreview.setContent(engine.getTemplate(templateConfig.getTemplatePath())
|
||||
.render(BeanUtil.beanToMap(innerGenConfig)));
|
||||
this.setPreviewPath(generatePreview, innerGenConfig, templateConfig);
|
||||
}
|
||||
return generatePreviewList;
|
||||
|
@@ -1,45 +1,41 @@
|
||||
SET @parentId = ${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c};
|
||||
-- ${businessName}管理菜单
|
||||
INSERT INTO `sys_menu`
|
||||
(`title`, `parent_id`, `type`, `path`, `name`, `component`, `redirect`, `icon`, `is_external`, `is_cache`, `is_hidden`, `permission`, `sort`, `status`, `create_user`, `create_time`)
|
||||
(`id`, `title`, `parent_id`, `type`, `path`, `name`, `component`, `redirect`, `icon`, `is_external`, `is_cache`, `is_hidden`, `permission`, `sort`, `status`, `create_user`, `create_time`)
|
||||
VALUES
|
||||
('${businessName}管理', 1000, 2, '/${apiModuleName}/${apiName}', '${classNamePrefix}', '${apiModuleName}/${apiName}/index', NULL, NULL, b'0', b'0', b'0', NULL, 1, 1, 1, NOW());
|
||||
|
||||
SET @parentId = LAST_INSERT_ID();
|
||||
(@parentId, '${businessName}管理', 1000, 2, '/${apiModuleName}/${apiName}', '${classNamePrefix}', '${apiModuleName}/${apiName}/index', NULL, NULL, b'0', b'0', b'0', NULL, 1, 1, 1, NOW());
|
||||
|
||||
-- ${businessName}管理按钮
|
||||
INSERT INTO `sys_menu`
|
||||
(`title`, `parent_id`, `type`, `permission`, `sort`, `status`, `create_user`, `create_time`)
|
||||
(`id`, `title`, `parent_id`, `type`, `permission`, `sort`, `status`, `create_user`, `create_time`)
|
||||
VALUES
|
||||
('列表', @parentId, 3, '${apiModuleName}:${apiName}:list', 1, 1, 1, NOW()),
|
||||
('详情', @parentId, 3, '${apiModuleName}:${apiName}:detail', 2, 1, 1, NOW()),
|
||||
('新增', @parentId, 3, '${apiModuleName}:${apiName}:add', 3, 1, 1, NOW()),
|
||||
('修改', @parentId, 3, '${apiModuleName}:${apiName}:update', 4, 1, 1, NOW()),
|
||||
('删除', @parentId, 3, '${apiModuleName}:${apiName}:delete', 5, 1, 1, NOW()),
|
||||
('导出', @parentId, 3, '${apiModuleName}:${apiName}:export', 6, 1, 1, NOW());
|
||||
|
||||
(${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c}, '列表', @parentId, 3, '${apiModuleName}:${apiName}:list', 1, 1, 1, NOW()),
|
||||
(${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c}, '详情', @parentId, 3, '${apiModuleName}:${apiName}:detail', 2, 1, 1, NOW()),
|
||||
(${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c}, '新增', @parentId, 3, '${apiModuleName}:${apiName}:add', 3, 1, 1, NOW()),
|
||||
(${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c}, '修改', @parentId, 3, '${apiModuleName}:${apiName}:update', 4, 1, 1, NOW()),
|
||||
(${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c}, '删除', @parentId, 3, '${apiModuleName}:${apiName}:delete', 5, 1, 1, NOW()),
|
||||
(${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c}, '导出', @parentId, 3, '${apiModuleName}:${apiName}:export', 6, 1, 1, NOW());
|
||||
|
||||
<#---- PostgreSQL(切换 PostgreSQL 数据库时请注释掉其他数据库脚本,并解开此段注释)-->
|
||||
<#---- 创建序列(如果还不存在的话)-->
|
||||
<#--CREATE SEQUENCE IF NOT EXISTS sys_menu_id_seq;-->
|
||||
<#--DO $$-->
|
||||
<#-- DECLARE sys_menu_id_seq INT8 := ${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c};-->
|
||||
<#--BEGIN-->
|
||||
|
||||
<#---- ${businessName}管理菜单-->
|
||||
<#--WITH inserted_menu AS (-->
|
||||
<#--INSERT INTO "sys_menu"-->
|
||||
<#--("id", "title", "parent_id", "type", "path", "name", "component", "redirect", "icon", "is_external", "is_cache", "is_hidden", "permission", "sort", "status", "create_user", "create_time")-->
|
||||
<#--VALUES-->
|
||||
<#--(nextval('sys_menu_id_seq'), '${businessName}管理', 1000, 2, '/${apiModuleName}/${apiName}', '${classNamePrefix}', '${apiModuleName}/${apiName}/index', NULL, NULL, false, false, false, NULL, 1, 1, 1, NOW()) RETURNING id-->
|
||||
<#--)-->
|
||||
<#-- -- ${businessName}管理菜单-->
|
||||
<#-- INSERT INTO "sys_menu"-->
|
||||
<#-- ("id", "title", "parent_id", "type", "path", "name", "component", "redirect", "icon", "is_external", "is_cache", "is_hidden", "permission", "sort", "status", "create_user", "create_time")-->
|
||||
<#-- VALUES-->
|
||||
<#-- (sys_menu_id_seq, '${businessName}管理', 1000, 2, '/${apiModuleName}/${apiName}', '${classNamePrefix}', '${apiModuleName}/${apiName}/index', NULL, NULL, false, false, false, NULL, 1, 1, 1, NOW());-->
|
||||
|
||||
<#---- ${businessName}管理按钮-->
|
||||
<#--INSERT INTO "sys_menu"-->
|
||||
<#--("id", "title", "parent_id", "type", "permission", "sort", "status", "create_user", "create_time")-->
|
||||
<#--SELECT nextval('sys_menu_id_seq'), title, (SELECT id FROM inserted_menu), type, permission, sort, status, create_user, create_time-->
|
||||
<#--FROM (VALUES-->
|
||||
<#--('列表', 3, '${apiModuleName}:${apiName}:list', 1, 1, 1, NOW()),-->
|
||||
<#--('详情', 3, '${apiModuleName}:${apiName}:detail', 2, 1, 1, NOW()),-->
|
||||
<#--('新增', 3, '${apiModuleName}:${apiName}:add', 3, 1, 1, NOW()),-->
|
||||
<#--('修改', 3, '${apiModuleName}:${apiName}:update', 4, 1, 1, NOW()),-->
|
||||
<#--('删除', 3, '${apiModuleName}:${apiName}:delete', 5, 1, 1, NOW()),-->
|
||||
<#--('导出', 3, '${apiModuleName}:${apiName}:export', 6, 1, 1, NOW())-->
|
||||
<#--) AS t(title, type, permission, sort, status, create_user, create_time);-->
|
||||
<#-- -- ${businessName}管理按钮-->
|
||||
<#-- INSERT INTO "sys_menu"-->
|
||||
<#-- ("id", "title", "parent_id", "type", "permission", "sort", "status", "create_user", "create_time")-->
|
||||
<#-- VALUES-->
|
||||
<#-- (${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c}, '列表', sys_menu_id_seq, 3, 'club:activityCharge:list', 1, 1, 1, NOW()),-->
|
||||
<#-- (${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c}, '详情', sys_menu_id_seq, 3, 'club:activityCharge:detail', 2, 1, 1, NOW()),-->
|
||||
<#-- (${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c}, '新增', sys_menu_id_seq, 3, 'club:activityCharge:add', 3, 1, 1, NOW()),-->
|
||||
<#-- (${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c}, '修改', sys_menu_id_seq, 3, 'club:activityCharge:update', 4, 1, 1, NOW()),-->
|
||||
<#-- (${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c}, '删除', sys_menu_id_seq, 3, 'club:activityCharge:delete', 5, 1, 1, NOW()),-->
|
||||
<#-- (${statics["cn.hutool.core.util.IdUtil"].getSnowflakeNextId()?c}, '导出', sys_menu_id_seq, 3, 'club:activityCharge:export', 6, 1, 1, NOW());-->
|
||||
|
||||
<#--END $$;-->
|
Reference in New Issue
Block a user