From fb947c98fdd075a19c55e1e9e5c137a8482db618 Mon Sep 17 00:00:00 2001 From: LawSiki <493906161@qq.com> Date: Wed, 13 Nov 2024 21:47:55 +0800 Subject: [PATCH] =?UTF-8?q?feat(generator):=20=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=96=B0=E5=A2=9E=E8=8F=9C=E5=8D=95SQL=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=20(#95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/entity/InnerGenConfigDO.java | 20 ++++++++ .../service/impl/GeneratorServiceImpl.java | 4 +- .../resources/templates/backend/menu.sql.ftl | 50 +++++++++++++++++++ .../config/application-generator.yml | 5 ++ 4 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 continew-plugin/continew-plugin-generator/src/main/resources/templates/backend/menu.sql.ftl diff --git a/continew-plugin/continew-plugin-generator/src/main/java/top/continew/admin/generator/model/entity/InnerGenConfigDO.java b/continew-plugin/continew-plugin-generator/src/main/java/top/continew/admin/generator/model/entity/InnerGenConfigDO.java index 746531ec..5b866cae 100644 --- a/continew-plugin/continew-plugin-generator/src/main/java/top/continew/admin/generator/model/entity/InnerGenConfigDO.java +++ b/continew-plugin/continew-plugin-generator/src/main/java/top/continew/admin/generator/model/entity/InnerGenConfigDO.java @@ -101,6 +101,26 @@ public class InnerGenConfigDO extends GenConfigDO { */ private boolean hasTimeField; + /** + * Menu icon + */ + private String icon = "list"; + + /** + * Menu sort order + */ + private Integer sort = 1; + + /** + * Parent menu ID placeholder + */ + private String parentMenuId = "#{parentMenuId}"; + + /** + * Menu type (2 for menu) + */ + private Integer menuType = 2; + public InnerGenConfigDO() { } diff --git a/continew-plugin/continew-plugin-generator/src/main/java/top/continew/admin/generator/service/impl/GeneratorServiceImpl.java b/continew-plugin/continew-plugin-generator/src/main/java/top/continew/admin/generator/service/impl/GeneratorServiceImpl.java index 0ba36fd2..8c0b8cdc 100644 --- a/continew-plugin/continew-plugin-generator/src/main/java/top/continew/admin/generator/service/impl/GeneratorServiceImpl.java +++ b/continew-plugin/continew-plugin-generator/src/main/java/top/continew/admin/generator/service/impl/GeneratorServiceImpl.java @@ -92,8 +92,8 @@ public class GeneratorServiceImpl implements GeneratorService { tableList.removeIf(table -> StrUtil.equalsAnyIgnoreCase(table.getTableName(), generatorProperties .getExcludeTables())); CollUtil.sort(tableList, Comparator.comparing(Table::getCreateTime) - .thenComparing(table -> Optional.ofNullable(table.getUpdateTime()).orElse(table.getCreateTime())) - .reversed()); + .thenComparing(table -> Optional.ofNullable(table.getUpdateTime()).orElse(table.getCreateTime())) + .reversed()); List tableRespList = BeanUtil.copyToList(tableList, TableResp.class); PageResp pageResp = PageResp.build(pageQuery.getPage(), pageQuery.getSize(), tableRespList); pageResp.getList().parallelStream().forEach(tableResp -> { diff --git a/continew-plugin/continew-plugin-generator/src/main/resources/templates/backend/menu.sql.ftl b/continew-plugin/continew-plugin-generator/src/main/resources/templates/backend/menu.sql.ftl new file mode 100644 index 00000000..7ce13dd9 --- /dev/null +++ b/continew-plugin/continew-plugin-generator/src/main/resources/templates/backend/menu.sql.ftl @@ -0,0 +1,50 @@ +-- MYSQL +-- ${businessName}管理菜单 +INSERT INTO sys_menu ( + title, parent_id, type, path, name, component, icon, + is_external, is_cache, is_hidden, permission, sort, status, create_time, update_time +) VALUES ( + '${businessName}管理', 1000, ${menuType}, '/${apiModuleName}/${apiName}', + '${classNamePrefix}', '${apiModuleName}/${apiName}/index', '${icon!"list"}', + 0, 1, 0, null, ${sort!1}, 1, now(), now() +); + +SET @parentId = LAST_INSERT_ID(); + +-- ${businessName}管理按钮 +INSERT INTO sys_menu ( + title, parent_id, type, permission, sort, status, create_time, update_time +) VALUES +('查询${businessName}', @parentId, 3, '${apiModuleName}:${apiName}:list', 1, 1, now(), now()), +('详情${businessName}', @parentId, 3, '${apiModuleName}:${apiName}:detail', 2, 1, now(), now()), +('新增${businessName}', @parentId, 3, '${apiModuleName}:${apiName}:add', 3, 1, now(), now()), +('修改${businessName}', @parentId, 3, '${apiModuleName}:${apiName}:update', 4, 1, now(), now()), +('删除${businessName}', @parentId, 3, '${apiModuleName}:${apiName}:delete', 5, 1, now(), now()), +('导出${businessName}', @parentId, 3, '${apiModuleName}:${apiName}:export', 6, 1, now(), now()), +('导入${businessName}', @parentId, 3, '${apiModuleName}:${apiName}:import', 7, 1, now(), now()); + + +<#-- +-- PG_SQL +-- ${businessName}管理菜单 +INSERT INTO sys_menu ( + title, parent_id, type, path, name, component, icon, + is_external, is_cache, is_hidden, permission, sort, status, create_time, update_time +) VALUES ( + '${businessName}管理', 1000, ${menuType}, '/${apiModuleName}/${apiName}', + '${classNamePrefix}', '${apiModuleName}/${apiName}/index', '${icon!"list"}', + 0, 1, 0, null, ${sort!1}, 1, now(), now() +) RETURNING id INTO parentId; + +-- ${businessName}管理按钮 +INSERT INTO sys_menu ( + title, parent_id, type, permission, sort, status, create_time, update_time +) VALUES +('查询${businessName}', parentId, 3, '${apiModuleName}:${apiName}:list', 1, 1, now(), now()), +('详情${businessName}', parentId, 3, '${apiModuleName}:${apiName}:detail', 2, 1, now(), now()), +('新增${businessName}', parentId, 3, '${apiModuleName}:${apiName}:add', 3, 1, now(), now()), +('修改${businessName}', parentId, 3, '${apiModuleName}:${apiName}:update', 4, 1, now(), now()), +('删除${businessName}', parentId, 3, '${apiModuleName}:${apiName}:delete', 5, 1, now(), now()), +('导出${businessName}', parentId, 3, '${apiModuleName}:${apiName}:export', 6, 1, now(), now()), +('导入${businessName}', parentId, 3, '${apiModuleName}:${apiName}:import', 7, 1, now(), now()); +--> diff --git a/continew-webapi/src/main/resources/config/application-generator.yml b/continew-webapi/src/main/resources/config/application-generator.yml index 46cc562a..6b6554e6 100644 --- a/continew-webapi/src/main/resources/config/application-generator.yml +++ b/continew-webapi/src/main/resources/config/application-generator.yml @@ -63,6 +63,11 @@ generator: - timestamp ## 模板配置 templateConfigs: + MenuSql: + template-path: backend/menu.sql.ftl + package-name: sql + extension: .sql + backend: true DO: # 模板路径 templatePath: backend/Entity.ftl