From d5087a17250db86a8283b630168e4cfb6f30f078 Mon Sep 17 00:00:00 2001 From: izory <791736813@qq.com> Date: Mon, 27 Sep 2021 17:38:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=88=B0=E6=8C=87=E5=AE=9A=E8=8F=9C=E5=8D=95=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E4=B8=8B=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/CodeGeneratorController.cs | 5 ++- .../Controllers/business/GendemoController.cs | 4 +- .../wwwroot/CodeGenTemplate/MySqlTemplate.txt | 2 +- .../CodeGenTemplate/RepositoryTemplate.txt | 2 +- .../CodeGenTemplate/ServiceTemplate.txt | 4 +- .../wwwroot/CodeGenTemplate/SqlTemplate.txt | 4 +- .../wwwroot/CodeGenTemplate/VueJsTemplate.txt | 2 +- ZR.CodeGenerator/CodeGeneratorTool.cs | 3 +- ZR.CodeGenerator/Model/GenerateDto.cs | 4 ++ ZR.CodeGenerator/Model/ReplaceDto.cs | 11 ----- ZR.Model/Models/Gendemo.cs | 4 +- ZR.Model/System/Dto/GenTableDto.cs | 4 ++ ZR.Model/System/Generate/GenTable.cs | 43 ++++++++++++++++++- .../Repositories/GendemoRepository.cs | 8 +--- ZR.Service/Business/GendemoService.cs | 18 ++++---- .../Business/IBusService/IGendemoService.cs | 4 +- ZR.Service/System/GenTableService.cs | 1 + ZR.Vue/src/views/tool/gen/editTable.vue | 8 ++-- ZR.Vue/src/views/tool/gen/genInfoForm.vue | 4 +- ZRAdmin.xml | 4 +- 20 files changed, 87 insertions(+), 52 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs b/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs index df5887c..4df2f83 100644 --- a/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs +++ b/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs @@ -5,6 +5,7 @@ using Mapster; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Hosting; +using Newtonsoft.Json; using SqlSugar; using System; using System.Collections.Generic; @@ -89,7 +90,8 @@ namespace ZR.Admin.WebApi.Controllers var genTableInfo = GenTableService.GetGenTableInfo(dto.TableId); genTableInfo.Columns = GenTableColumnService.GenTableColumns(dto.TableId); - + Dictionary options = JsonConvert.DeserializeObject>(genTableInfo.Options); + dto.ParentMenuId = (long)options.GetValueOrDefault("parentMenuId", 0); dto.GenTable = genTableInfo; //生成代码 CodeGeneratorTool.Generate(genTableInfo, dto); @@ -211,6 +213,7 @@ namespace ZR.Admin.WebApi.Controllers if (genTableDto == null) throw new CustomException("请求参数错误"); var genTable = genTableDto.Adapt().ToUpdate(HttpContext); + genTable.Options = JsonConvert.SerializeObject(new { parentMenuId = genTableDto.ParentMenuId }); int rows = GenTableService.UpdateGenTable(genTable); if (rows > 0) { diff --git a/ZR.Admin.WebApi/Controllers/business/GendemoController.cs b/ZR.Admin.WebApi/Controllers/business/GendemoController.cs index a167422..61e4d8c 100644 --- a/ZR.Admin.WebApi/Controllers/business/GendemoController.cs +++ b/ZR.Admin.WebApi/Controllers/business/GendemoController.cs @@ -20,8 +20,8 @@ namespace ZR.Admin.WebApi.Controllers /// /// 代码生成演示Controller /// - /// @author zhaorui - /// @date 2021-09-24 + /// @author zr + /// @date 2021-09-27 /// [Verify] [Route("business/Gendemo")] diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt index 1c36b1e..bd6bc5d 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt @@ -1,6 +1,6 @@ -- 菜单 INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark) -VALUES ('{FunctionName}', 0, 1, '/{ModuleName}/{ModelTypeName}', '{ModuleName}/{ViewsFileName}/index', 0, 0, 'C', '0', '0', '{Permission}:list', '#', '', sysdate(), '', NULL, '{ModelTypeDesc}菜单'); +VALUES ('{FunctionName}', 0, 1, '/{ModuleName}/{ModelTypeName}', '{ModuleName}/{ViewsFileName}/index', 0, 0, 'C', '0', '0', '{Permission}:list', '#', '', sysdate(), '', NULL, '{FunctionName}菜单'); -- 按钮父菜单id SELECT @menuId := LAST_INSERT_ID(); diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/RepositoryTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/RepositoryTemplate.txt index db312b9..c2c5392 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/RepositoryTemplate.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/RepositoryTemplate.txt @@ -12,7 +12,7 @@ namespace {RepositoriesNamespace} /// @date {DateTime} /// [AppService(ServiceLifetime = LifeTime.Transient)] - public class {ModelTypeName}Repository : BaseRepository + public class {ModelTypeName}Repository : BaseRepository { #region 业务逻辑代码 #endregion diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ServiceTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ServiceTemplate.txt index c42b2eb..1892b2f 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ServiceTemplate.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/ServiceTemplate.txt @@ -21,10 +21,10 @@ namespace {ServicesNamespace}.Business [AppService(ServiceType = typeof(I{ModelTypeName}Service), ServiceLifetime = LifeTime.Transient)] public class {ModelTypeName}Service: BaseService<{ModelTypeName}>, I{ModelTypeName}Service { - private readonly {ModelTypeName}Repository _repository; + private readonly {ModelTypeName}Repository _{ModelTypeName}repository; public {ModelTypeName}Service({ModelTypeName}Repository repository) { - _repository = repository; + _{ModelTypeName}repository = repository; } #region 业务逻辑代码 diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt index 3cd128c..45ce4be 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt @@ -1,6 +1,6 @@ -- 菜单 INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark) -VALUES ('{FunctionName}', 0, 1, '/{ModuleName}/{ModelTypeName}', '{ModuleName}/{ViewsFileName}/index', 0, 0, 'C', '0', '0', '{Permission}:list', '#', '', GETDATE(), '', NULL, '{ModelTypeDesc}'); +VALUES ('{FunctionName}', {ParentId}, 1, '/{ModuleName}/{ModelTypeName}', '{ModuleName}/{ViewsFileName}/index', 0, 0, 'C', '0', '0', '{Permission}:list', '#', '', GETDATE(), '', NULL, '{FunctionName}'); -- 按钮父菜单id declare @menuId int = @@identity @@ -19,5 +19,5 @@ INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isC VALUES ('修改', @menuId, 3, '#', NULL, 0, 0, 'F', '0', '0', '{Permission}:update', '', '', GETDATE(), '', NULL, NULL); GO -SELECT * FROM sys_menu WHERE parentId = @menuId; +SELECT * FROM sys_menu WHERE parentId = {ParentId}; SELECT * FROM sys_menu WHERE menuId = @menuId; \ No newline at end of file diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/VueJsTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/VueJsTemplate.txt index 3d37ec0..29b3edd 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/VueJsTemplate.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/VueJsTemplate.txt @@ -38,7 +38,7 @@ export function update{ModelTypeName}(data) { /** * 获取{FunctionName}详情 - * @param {Id} {ModelTypeDesc}Id + * @param {Id} {FunctionName}Id */ export function get{ModelTypeName}(id) { return request({ diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs index f39c2dd..dda6f31 100644 --- a/ZR.CodeGenerator/CodeGeneratorTool.cs +++ b/ZR.CodeGenerator/CodeGeneratorTool.cs @@ -53,7 +53,6 @@ namespace ZR.CodeGenerator ReplaceDto replaceDto = new(); replaceDto.ModelTypeName = tableInfo.ClassName;//表名对应C# 实体类名 replaceDto.TableName = tableInfo.TableName;//表名 - replaceDto.TableDesc = tableInfo.TableComment;//表说明描述 replaceDto.Permission = $"{tableInfo.ModuleName}:{tableInfo.ClassName.ToLower()}";//权限 replaceDto.ViewsFileName = FirstLowerCase(replaceDto.ModelTypeName); replaceDto.Author = tableInfo.FunctionAuthor; @@ -393,9 +392,9 @@ namespace ZR.CodeGenerator var content = FileHelper.ReadTemplate($"{tempName}.txt") .Replace("{ModelTypeName}", replaceDto.ModelTypeName) .Replace("{Permission}", replaceDto.Permission) - .Replace("{ModelTypeDesc}", replaceDto.TableDesc) .Replace("{ModuleName}", generateDto.GenTable.ModuleName) .Replace("{ViewsFileName}", replaceDto.ViewsFileName) + .Replace("{ParentId}", generateDto.ParentMenuId.ToString()) .Replace("{FunctionName}", generateDto.GenTable.FunctionName); generateDto.GenCodes.Add(new GenCode(8, "sql", fullPath, content)); diff --git a/ZR.CodeGenerator/Model/GenerateDto.cs b/ZR.CodeGenerator/Model/GenerateDto.cs index 9ce7d07..e81020f 100644 --- a/ZR.CodeGenerator/Model/GenerateDto.cs +++ b/ZR.CodeGenerator/Model/GenerateDto.cs @@ -45,6 +45,10 @@ namespace ZR.CodeGenerator.Model /// 代码生成压缩包名称 /// public string ZipFileName { get; set; } + /// + /// 父级菜单id + /// + public long ParentMenuId { get; set; } #endregion } diff --git a/ZR.CodeGenerator/Model/ReplaceDto.cs b/ZR.CodeGenerator/Model/ReplaceDto.cs index 425e63a..caad242 100644 --- a/ZR.CodeGenerator/Model/ReplaceDto.cs +++ b/ZR.CodeGenerator/Model/ReplaceDto.cs @@ -8,13 +8,6 @@ namespace ZR.CodeGenerator.Model { public class ReplaceDto { - //public string ModelsNamespace { get; set; } - //public string DtosNamespace { get; set; } - //public string RepositoriesNamespace { get; set; } - //public string IRepositoriesNamespace { get; set; } - //public string IServicsNamespace { get; set; } - //public string ServicesNamespace { get; set; } - /// /// 主键字段 /// @@ -36,10 +29,6 @@ namespace ZR.CodeGenerator.Model /// public string TableName { get; set; } /// - /// 表描述、说明 - /// - public string TableDesc { get; set; } - /// /// 修改列 /// public string UpdateColumn { get; set; } diff --git a/ZR.Model/Models/Gendemo.cs b/ZR.Model/Models/Gendemo.cs index 115f745..e2e2556 100644 --- a/ZR.Model/Models/Gendemo.cs +++ b/ZR.Model/Models/Gendemo.cs @@ -6,8 +6,8 @@ namespace ZR.Model.Models /// /// 代码生成演示,数据实体对象 /// - /// @author zhaorui - /// @date 2021-09-24 + /// @author zr + /// @date 2021-09-27 /// [SqlSugar.SugarTable("gen_demo")] public class Gendemo diff --git a/ZR.Model/System/Dto/GenTableDto.cs b/ZR.Model/System/Dto/GenTableDto.cs index 7820d7b..36986c3 100644 --- a/ZR.Model/System/Dto/GenTableDto.cs +++ b/ZR.Model/System/Dto/GenTableDto.cs @@ -21,6 +21,10 @@ namespace ZR.Model.System.Dto public string FunctionAuthor { get; set; } public string GenType { get; set; } public string Options { get; set; } + /// + /// 上级菜单id + /// + public int ParentMenuId { get; set; } public List Columns { get; set; } } diff --git a/ZR.Model/System/Generate/GenTable.cs b/ZR.Model/System/Generate/GenTable.cs index 0737c33..d2cd238 100644 --- a/ZR.Model/System/Generate/GenTable.cs +++ b/ZR.Model/System/Generate/GenTable.cs @@ -10,23 +10,64 @@ namespace ZR.Model.System.Generate [SqlSugar.SugarTable("gen_table")] public class GenTable: SysBase { + /// + /// 表id + /// [SqlSugar.SugarColumn(IsPrimaryKey = true, IsIdentity = true)] public int TableId { get; set; } + /// + /// 表名 + /// public string TableName { get; set; } + /// + /// 表描述 + /// public string TableComment { get; set; } + /// + /// 关联父表的表名 + /// public string SubTableName { get; set; } + /// + /// 本表关联父表的外键名 + /// public string SubTableFkName { get; set; } + /// + /// csharp类名 + /// public string ClassName { get; set; } + /// + /// 使用的模板(crud单表操作 tree树表操作 sub主子表操作) + /// public string TplCategory { get; set; } + /// + /// 基本命名空间前缀 + /// public string BaseNameSpace { get; set; } + /// + /// 生成模块名 + /// public string ModuleName { get; set; } + /// + /// 生成业务名 + /// public string BusinessName { get; set; } + /// + /// 生成功能名 + /// public string FunctionName { get; set; } + /// + /// 生成作者名 + /// public string FunctionAuthor { get; set; } + /// + /// 生成代码方式(0zip压缩包 1自定义路径) + /// public string GenType { get; set; } + /// + /// 其他生成选项 + /// public string Options { get; set; } - /** 表列信息 */ [SqlSugar.SugarColumn(IsIgnore = true)] public List Columns { get; set; } diff --git a/ZR.Repository/Repositories/GendemoRepository.cs b/ZR.Repository/Repositories/GendemoRepository.cs index 0a967d4..1d1c8c6 100644 --- a/ZR.Repository/Repositories/GendemoRepository.cs +++ b/ZR.Repository/Repositories/GendemoRepository.cs @@ -2,22 +2,18 @@ using System; using Infrastructure.Attribute; using ZR.Repository.System; using ZR.Model.Models; -using SqlSugar; namespace ZR.Repository { /// /// 代码生成演示仓储接口的实现 /// - /// @author zhaorui - /// @date 2021-09-24 + /// @author zr + /// @date 2021-09-27 /// [AppService(ServiceLifetime = LifeTime.Transient)] public class GendemoRepository : BaseRepository { - public GendemoRepository(SqlSugarClient dbContext) : base(dbContext) - { - } #region 业务逻辑代码 #endregion } diff --git a/ZR.Service/Business/GendemoService.cs b/ZR.Service/Business/GendemoService.cs index 119fa92..e86a392 100644 --- a/ZR.Service/Business/GendemoService.cs +++ b/ZR.Service/Business/GendemoService.cs @@ -15,19 +15,17 @@ namespace ZR.Service.Business /// /// 代码生成演示Service业务层处理 /// - /// @author zhaorui - /// @date 2021-09-24 + /// @author zr + /// @date 2021-09-27 /// [AppService(ServiceType = typeof(IGendemoService), ServiceLifetime = LifeTime.Transient)] - public class GendemoService : BaseService, IGendemoService + public class GendemoService: BaseService, IGendemoService { - //private readonly SqlSugarClient _client; - - //public GendemoService(SqlSugarClient client, int db =1) : base(db) - //{ - // _client = client; - //} - + private readonly GendemoRepository _repository; + public GendemoService(GendemoRepository repository) + { + _repository = repository; + } #region 业务逻辑代码 #endregion diff --git a/ZR.Service/Business/IBusService/IGendemoService.cs b/ZR.Service/Business/IBusService/IGendemoService.cs index a99bf46..7e0454c 100644 --- a/ZR.Service/Business/IBusService/IGendemoService.cs +++ b/ZR.Service/Business/IBusService/IGendemoService.cs @@ -6,8 +6,8 @@ namespace ZR.Service.Business /// /// 代码生成演示service接口 /// - /// @author zhaorui - /// @date 2021-09-24 + /// @author zr + /// @date 2021-09-27 /// public interface IGendemoService: IBaseService { diff --git a/ZR.Service/System/GenTableService.cs b/ZR.Service/System/GenTableService.cs index 14830c9..f38f3cc 100644 --- a/ZR.Service/System/GenTableService.cs +++ b/ZR.Service/System/GenTableService.cs @@ -1,6 +1,7 @@ using Infrastructure.Attribute; using Infrastructure.Extensions; using Infrastructure.Model; +using Newtonsoft.Json; using SqlSugar; using System; using System.Collections.Generic; diff --git a/ZR.Vue/src/views/tool/gen/editTable.vue b/ZR.Vue/src/views/tool/gen/editTable.vue index cbd5dde..6f3930c 100644 --- a/ZR.Vue/src/views/tool/gen/editTable.vue +++ b/ZR.Vue/src/views/tool/gen/editTable.vue @@ -113,7 +113,7 @@