From b16b8c85687ea224a23ab643812cf7090675a6c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com>
Date: Fri, 14 Apr 2023 20:28:38 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E6=96=B0?=
=?UTF-8?q?=E5=A2=9EPgSql=E8=8F=9C=E5=8D=95=E5=AF=BC=E5=85=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../{ => sql}/MySqlTemplate.txt | 0
.../wwwroot/CodeGenTemplate/sql/PgSql.txt | 33 +++++++++++++++++++
.../CodeGenTemplate/{ => sql}/SqlTemplate.txt | 0
ZR.CodeGenerator/CodeGeneratorTool.cs | 22 ++++++-------
4 files changed, 44 insertions(+), 11 deletions(-)
rename ZR.Admin.WebApi/wwwroot/CodeGenTemplate/{ => sql}/MySqlTemplate.txt (100%)
create mode 100644 ZR.Admin.WebApi/wwwroot/CodeGenTemplate/sql/PgSql.txt
rename ZR.Admin.WebApi/wwwroot/CodeGenTemplate/{ => sql}/SqlTemplate.txt (100%)
diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/sql/MySqlTemplate.txt
similarity index 100%
rename from ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt
rename to ZR.Admin.WebApi/wwwroot/CodeGenTemplate/sql/MySqlTemplate.txt
diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/sql/PgSql.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/sql/PgSql.txt
new file mode 100644
index 0000000..696d2f9
--- /dev/null
+++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/sql/PgSql.txt
@@ -0,0 +1,33 @@
+use ZrAdmin;
+
+-- ${genTable.functionName}菜单
+INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by, create_time)
+VALUES ('${genTable.functionName}', ${parentId}, 999, '${genTable.BusinessName}', '${tool.FirstLowerCase(genTable.ModuleName)}/${genTable.BusinessName}', 0, 0, 'C', '0', '0', '${replaceDto.PermissionPrefix}:list', 'icon1', 'system', null);
+
+-- 按钮父菜单id
+DO $$
+ DECLARE @menuId integer;
+ DECLARE @nowTime datetime;
+BEGIN
+ SELECT @@identity INTO @menuId;
+ SELECT now()::timestamp(0)without time zone INTO @nowTime
+
+ INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time)
+ VALUES ('查询', @menuId, 1, '#', NULL, 0, 0, 'F', '0', '0', '${replaceDto.PermissionPrefix}:query', '', 'system', @nowTime);
+
+ INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time)
+ VALUES ('新增', @menuId, 2, '#', NULL, 0, 0, 'F', '0', '0', '${replaceDto.PermissionPrefix}:add', '', 'system', @nowTime);
+
+ INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time)
+ VALUES ('删除', @menuId, 3, '#', NULL, 0, 0, 'F', '0', '0', '${replaceDto.PermissionPrefix}:delete', '', 'system', @nowTime);
+
+ INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time)
+ VALUES ('修改', @menuId, 4, '#', NULL, 0, 0, 'F', '0', '0', '${replaceDto.PermissionPrefix}:edit', '', 'system', @nowTime);
+
+ INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time)
+ VALUES ('导出', @menuId, 5, '#', NULL, 0, 0, 'F', '0', '0', '${replaceDto.PermissionPrefix}:export', '', 'system', @nowTime);
+
+END $$;
+
+SELECT * FROM sys_menu WHERE parentId = @menuId;
+SELECT * FROM sys_menu WHERE menuId = @menuId;
diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/sql/SqlTemplate.txt
similarity index 100%
rename from ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt
rename to ZR.Admin.WebApi/wwwroot/CodeGenTemplate/sql/SqlTemplate.txt
diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs
index 20d3abe..3b2e07c 100644
--- a/ZR.CodeGenerator/CodeGeneratorTool.cs
+++ b/ZR.CodeGenerator/CodeGeneratorTool.cs
@@ -52,7 +52,7 @@ namespace ZR.CodeGenerator
};
var columns = dto.GenTable.Columns;
- replaceDto.PKName = columns.Find(f => f.IsPk || f.IsIncrement)?.CsharpField ?? "Id";
+ replaceDto.PKName = columns.Find(f => f.IsPk || f.IsIncrement)?.CsharpField ?? "Id";
replaceDto.PKType = columns.Find(f => f.IsPk || f.IsIncrement)?.CsharpType ?? "int";
replaceDto.UploadFile = columns.Any(f => f.HtmlType.Equals(GenConstants.HTML_IMAGE_UPLOAD) || f.HtmlType.Equals(GenConstants.HTML_FILE_UPLOAD)) ? 1 : 0;
@@ -66,7 +66,7 @@ namespace ZR.CodeGenerator
GenerateControllers(replaceDto, dto);
if (dto.VueVersion == 3)
{
- GenerateVue3Views(replaceDto, dto);
+ GenerateVue3Views(dto);
}
else
{
@@ -76,8 +76,8 @@ namespace ZR.CodeGenerator
{
GenerateRepository(replaceDto, dto);
}
- GenerateVueJs(replaceDto, dto);
- GenerateSql(replaceDto, dto);
+ GenerateVueJs(dto);
+ GenerateSql(dto);
if (dto.IsPreview) return;
@@ -189,9 +189,8 @@ namespace ZR.CodeGenerator
///
/// vue3
///
- ///
///
- private static void GenerateVue3Views(ReplaceDto replaceDto, GenerateDto generateDto)
+ private static void GenerateVue3Views(GenerateDto generateDto)
{
string fileName = generateDto.GenTable.TplCategory switch
{
@@ -213,10 +212,9 @@ namespace ZR.CodeGenerator
///
/// 生成vue页面api
///
- ///
///
///
- public static void GenerateVueJs(ReplaceDto replaceDto, GenerateDto generateDto)
+ public static void GenerateVueJs(GenerateDto generateDto)
{
var tpl = JnHelper.ReadTemplate(CodeTemplateDir, "TplVueApi.txt");
var result = tpl.Render();
@@ -238,9 +236,8 @@ namespace ZR.CodeGenerator
///
/// 生成SQL
///
- ///
///
- public static void GenerateSql(ReplaceDto replaceDto, GenerateDto generateDto)
+ public static void GenerateSql(GenerateDto generateDto)
{
var tempName = "";
switch (generateDto.DbType)
@@ -251,10 +248,13 @@ namespace ZR.CodeGenerator
case 1:
tempName = "SqlTemplate";
break;
+ case 4:
+ tempName = "PgSql";
+ break;
default:
break;
}
- var tpl = JnHelper.ReadTemplate(CodeTemplateDir, $"{tempName}.txt");
+ var tpl = JnHelper.ReadTemplate(CodeTemplateDir, Path.Combine("sql", $"{tempName}.txt"));
tpl.Set("parentId", generateDto.GenTable?.Options?.ParentMenuId ?? 0);
var result = tpl.Render();
string fullPath = Path.Combine(generateDto.GenCodePath, "sql", generateDto.GenTable.BusinessName + ".sql");