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");