diff --git a/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs b/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs index 49eecc9..17a3441 100644 --- a/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs +++ b/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs @@ -1,6 +1,7 @@ using Infrastructure; using Infrastructure.Attribute; using Infrastructure.Enums; +using Infrastructure.Extensions; using Mapster; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; @@ -105,11 +106,13 @@ namespace ZR.Admin.WebApi.Controllers [ActionPermissionFilter(Permission = "tool:gen:query")] public IActionResult GetColumnList(long tableId) { - var tableColumns = GenTableColumnService.GenTableColumns(tableId); var tableInfo = GenTableService.GetGenTableInfo(tableId); var tables = GenTableService.GetGenTableAll(); - - return SUCCESS(new { columns = tableColumns, info = tableInfo, tables }); + if (tableInfo != null) + { + tableInfo.Columns = GenTableColumnService.GenTableColumns(tableId); + } + return SUCCESS(new { info = tableInfo, tables }); } /// @@ -202,6 +205,7 @@ namespace ZR.Admin.WebApi.Controllers } var genTable = genTableDto.Adapt().ToUpdate(HttpContext); + //将前端额外参数转成字符串存入Options中 genTable.Options = JsonConvert.SerializeObject(genTableDto.Params); DbResult result = GenTableService.UseTran(() => { @@ -211,19 +215,21 @@ namespace ZR.Admin.WebApi.Controllers GenTableColumnService.UpdateGenTableColumn(genTable.Columns); } }); - + return SUCCESS(result.IsSuccess); } /// /// 预览代码 /// - /// + /// /// [HttpPost("preview/{tableId}")] [ActionPermissionFilter(Permission = "tool:gen:preview")] - public IActionResult Preview([FromBody] GenerateDto dto) + public IActionResult Preview(long tableId = 0) { + GenerateDto dto = new(); + dto.TableId = tableId; if (dto == null || dto.TableId <= 0) { throw new CustomException(ResultCode.CUSTOM_ERROR, "请求参数为空"); @@ -231,10 +237,9 @@ namespace ZR.Admin.WebApi.Controllers var genTableInfo = GenTableService.GetGenTableInfo(dto.TableId); genTableInfo.Columns = GenTableColumnService.GenTableColumns(dto.TableId); + dto.DbType = ConfigUtils.Instance.GetAppConfig(OptionsSetting.ConnBusDbType, 0); dto.GenTable = genTableInfo; - dto.ZipPath = Path.Combine(WebHostEnvironment.WebRootPath, "Generatecode"); - dto.GenCodePath = Path.Combine(dto.ZipPath, DateTime.Now.ToString("yyyyMMdd")); - dto.IsPreview = 1; + dto.IsPreview = true; //生成代码 CodeGeneratorTool.Generate(dto); @@ -251,23 +256,37 @@ namespace ZR.Admin.WebApi.Controllers [ActionPermissionFilter(Permission = "tool:gen:code")] public IActionResult CodeGenerate([FromBody] GenerateDto dto) { - if (dto.TableId <= 0) + if (dto?.TableId <= 0) { throw new CustomException(ResultCode.CUSTOM_ERROR, "请求参数为空"); } - dto.ZipPath = Path.Combine(WebHostEnvironment.WebRootPath, "Generatecode"); - dto.GenCodePath = Path.Combine(dto.ZipPath, DateTime.Now.ToString("yyyyMMdd")); - var genTableInfo = GenTableService.GetGenTableInfo(dto.TableId); genTableInfo.Columns = GenTableColumnService.GenTableColumns(dto.TableId); + dto.DbType = ConfigUtils.Instance.GetAppConfig(OptionsSetting.ConnBusDbType, 0); dto.GenTable = genTableInfo; - //生成代码 + //自定义路径 + if (genTableInfo.GenType == "1") + { + string tempPath = WebHostEnvironment.ContentRootPath; + + //代码生成文件夹路径 + dto.GenCodePath = genTableInfo.GenPath.IsEmpty() ? Directory.GetParent(tempPath).FullName : genTableInfo.GenPath; + } + else + { + dto.ZipPath = Path.Combine(WebHostEnvironment.WebRootPath, "Generatecode"); + dto.GenCodePath = Path.Combine(dto.ZipPath, DateTime.Now.ToString("yyyyMMdd")); + } + //生成压缩包 + string zipReturnFileName = $"ZrAdmin.NET-{genTableInfo.TableComment}-{DateTime.Now:MMddHHmmss}.zip"; + + //生成代码到指定文件夹 CodeGeneratorTool.Generate(dto); //下载文件 - FileHelper.ZipGenCode(dto); + FileHelper.ZipGenCode(dto.ZipPath, dto.GenCodePath, zipReturnFileName); - return SUCCESS(new { path = "/Generatecode/" + dto.ZipFileName, fileName = dto.ZipFileName }); + return SUCCESS(new { path = "/Generatecode/" + zipReturnFileName, fileName = dto.ZipFileName }); } /// diff --git a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj index fcd1415..48acd22 100644 --- a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj +++ b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj @@ -66,10 +66,8 @@ - - diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt index 1251cef..c33b222 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) -VALUES ('${genTable.functionName}', ${parentId}, 999, '${genTable.BusinessName}', '${genTable.ModuleName}/${genTable.BusinessName}', 0, 0, 'C', '0', '0', '${replaceDto.PermissionPrefix}:list', '', 'system', sysdate()); +VALUES ('${genTable.functionName}', ${parentId}, 999, '${genTable.BusinessName}', '${tool.FirstLowerCase(genTable.ModuleName)}/${genTable.BusinessName}', 0, 0, 'C', '0', '0', '${replaceDto.PermissionPrefix}:list', '', 'system', sysdate()); -- 按钮父菜单id SELECT @menuId := LAST_INSERT_ID(); diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt index 1599694..1c9eeab 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt @@ -1,6 +1,6 @@ -- ${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}', '${genTable.ModuleName}/${genTable.BusinessName}', 0, 0, 'C', '0', '0', '${replaceDto.PermissionPrefix}:list', '', 'system', GETDATE()); +VALUES ('${genTable.functionName}', ${parentId}, 999, '${genTable.BusinessName}', '${tool.FirstLowerCase(genTable.ModuleName)}/${genTable.BusinessName}', 0, 0, 'C', '0', '0', '${replaceDto.PermissionPrefix}:list', '', 'system', GETDATE()); -- 按钮父菜单id declare @menuId int = @@identity diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt index 0a5a915..2d0dab2 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt @@ -80,6 +80,7 @@ $end return SUCCESS(response); } +$if(replaceDto.ShowBtnAdd) /// /// 添加${genTable.FunctionName} /// @@ -106,7 +107,9 @@ ${end} }); return ToResponse(response); } +$end +$if(replaceDto.ShowBtnEdit) /// /// 更新${genTable.FunctionName} /// @@ -135,7 +138,9 @@ ${end} return ToResponse(response); } +$end +$if(replaceDto.ShowBtnDelete) /// /// 删除${genTable.FunctionName} /// @@ -152,6 +157,7 @@ ${end} return ToResponse(response); } +$end $if(replaceDto.ShowBtnExport) /// diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplTreeVue.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplTreeVue.txt index f38883a..a1f0bf8 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplTreeVue.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplTreeVue.txt @@ -72,7 +72,7 @@ $end $if(showCustomInput) changeSort $end -} from '@/api/${genTable.ModuleName}/${lowerBusinessName}.js'; +} from '@/api/${tool.FirstLowerCase(genTable.ModuleName)}/${lowerBusinessName}.js'; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplVue.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplVue.txt index 3c2739c..a9d5b49 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplVue.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplVue.txt @@ -34,7 +34,7 @@ ${VueViewListContent} @@ -70,7 +70,7 @@ $end $if(showCustomInput) changeSort $end -} from '@/api/${genTable.ModuleName}/${lowerBusinessName}.js'; +} from '@/api/${tool.FirstLowerCase(genTable.ModuleName)}/${lowerBusinessName}.js'; export default { name: "${lowerBusinessName}", diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs index 3b3e315..3f8e1b5 100644 --- a/ZR.CodeGenerator/CodeGeneratorTool.cs +++ b/ZR.CodeGenerator/CodeGeneratorTool.cs @@ -44,12 +44,12 @@ namespace ZR.CodeGenerator string PKType = "int"; ReplaceDto replaceDto = new(); replaceDto.ModelTypeName = dto.GenTable.ClassName;//表名对应C# 实体类名 - replaceDto.PermissionPrefix = $"{dto.GenTable.ModuleName}:{dto.GenTable.ClassName.ToLower()}";//权限 + replaceDto.PermissionPrefix = $"{dto.GenTable.ModuleName.ToLower()}:{dto.GenTable.ClassName.ToLower()}";//权限 replaceDto.Author = dto.GenTable.FunctionAuthor; - replaceDto.ShowBtnAdd = dto.CheckedBtn.Any(f => f == 1); - replaceDto.ShowBtnEdit = dto.CheckedBtn.Any(f => f == 2); - replaceDto.ShowBtnDelete = dto.CheckedBtn.Any(f => f == 3); - replaceDto.ShowBtnExport = dto.CheckedBtn.Any(f => f == 4); + replaceDto.ShowBtnAdd = dto.GenTable.CheckedBtn.Any(f => f == 1); + replaceDto.ShowBtnEdit = dto.GenTable.CheckedBtn.Any(f => f == 2); + replaceDto.ShowBtnDelete = dto.GenTable.CheckedBtn.Any(f => f == 3); + replaceDto.ShowBtnExport = dto.GenTable.CheckedBtn.Any(f => f == 4); //循环表字段信息 foreach (GenTableColumn dbFieldInfo in dto.GenTable.Columns.OrderBy(x => x.Sort)) @@ -85,7 +85,7 @@ namespace ZR.CodeGenerator GenerateVueJs(replaceDto, dto); GenerateSql(replaceDto, dto); - if (dto.IsPreview == 1) return; + if (dto.IsPreview) return; foreach (var item in dto.GenCodes) { @@ -102,11 +102,10 @@ namespace ZR.CodeGenerator /// 替换实体 private static void GenerateModels(ReplaceDto replaceDto, GenerateDto generateDto) { - var fullPath = Path.Combine(generateDto.GenCodePath, _option.ModelsNamespace, "Models", _option.SubNamespace, replaceDto.ModelTypeName + ".cs"); - var tpl = FileHelper.ReadJtTemplate("TplModel.txt"); var result = tpl.Render(); + string fullPath = generateDto.IsPreview ? string.Empty : Path.Combine(generateDto.GenCodePath, _option.ModelsNamespace, "Models", _option.SubNamespace, replaceDto.ModelTypeName + ".cs"); generateDto.GenCodes.Add(new GenCode(1, "Model.cs", fullPath, result)); } @@ -117,10 +116,11 @@ namespace ZR.CodeGenerator /// 替换实体 private static void GenerateInputDto(ReplaceDto replaceDto, GenerateDto generateDto) { - var fullPath = Path.Combine(generateDto.GenCodePath, _option.ModelsNamespace, "Dto", _option.SubNamespace, $"{replaceDto.ModelTypeName}Dto.cs"); var tpl = FileHelper.ReadJtTemplate("TplDto.txt"); var result = tpl.Render(); + var fullPath = generateDto.IsPreview ? string.Empty : Path.Combine(generateDto.GenCodePath, _option.ModelsNamespace, "Dto", _option.SubNamespace, $"{replaceDto.ModelTypeName}Dto.cs"); + generateDto.GenCodes.Add(new GenCode(2, "Dto.cs", fullPath, result)); } @@ -131,10 +131,10 @@ namespace ZR.CodeGenerator /// 替换实体 private static void GenerateRepository(ReplaceDto replaceDto, GenerateDto generateDto) { - var fullPath = Path.Combine(generateDto.GenCodePath, _option.RepositoriesNamespace, _option.SubNamespace, $"{replaceDto.ModelTypeName}Repository.cs"); var tpl = FileHelper.ReadJtTemplate("TplRepository.txt"); - var result = tpl.Render(); + var fullPath = generateDto.IsPreview ? string.Empty : Path.Combine(generateDto.GenCodePath, _option.RepositoriesNamespace, _option.SubNamespace, $"{replaceDto.ModelTypeName}Repository.cs"); + generateDto.GenCodes.Add(new GenCode(3, "Repository.cs", fullPath, result)); } @@ -143,14 +143,15 @@ namespace ZR.CodeGenerator /// private static void GenerateService(ReplaceDto replaceDto, GenerateDto generateDto) { - var fullPath = Path.Combine(generateDto.GenCodePath, _option.ServicesNamespace, _option.SubNamespace, $"{replaceDto.ModelTypeName}Service.cs"); var tpl = FileHelper.ReadJtTemplate("TplService.txt"); - var result = tpl.Render(); - generateDto.GenCodes.Add(new GenCode(4, "Service.cs", fullPath, result)); - - var fullPath2 = Path.Combine(generateDto.GenCodePath, _option.IServicsNamespace, _option.SubNamespace, $"I{_option.SubNamespace}Service", $"I{replaceDto.ModelTypeName}Service.cs"); var tpl2 = FileHelper.ReadJtTemplate("TplIService.txt"); + var result = tpl.Render(); var result2 = tpl2.Render(); + + var fullPath = generateDto.IsPreview ? string.Empty : Path.Combine(generateDto.GenCodePath, _option.ServicesNamespace, _option.SubNamespace, $"{replaceDto.ModelTypeName}Service.cs"); + var fullPath2 = generateDto.IsPreview ? string.Empty : Path.Combine(generateDto.GenCodePath, _option.IServicsNamespace, _option.SubNamespace, $"I{_option.SubNamespace}Service", $"I{replaceDto.ModelTypeName}Service.cs"); + + generateDto.GenCodes.Add(new GenCode(4, "Service.cs", fullPath, result)); generateDto.GenCodes.Add(new GenCode(4, "IService.cs", fullPath2, result2)); } @@ -159,11 +160,11 @@ namespace ZR.CodeGenerator /// private static void GenerateControllers(ReplaceDto replaceDto, GenerateDto generateDto) { - var fullPath = Path.Combine(generateDto.GenCodePath, _option.ApiControllerNamespace, "Controllers", _option.SubNamespace, $"{replaceDto.ModelTypeName}Controller.cs"); var tpl = FileHelper.ReadJtTemplate("TplControllers.txt"); - tpl.Set("QueryCondition", replaceDto.QueryCondition); var result = tpl.Render(); + + var fullPath = generateDto.IsPreview ? string.Empty : Path.Combine(generateDto.GenCodePath, _option.ApiControllerNamespace, "Controllers", _option.SubNamespace, $"{replaceDto.ModelTypeName}Controller.cs"); generateDto.GenCodes.Add(new GenCode(5, "Controller.cs", fullPath, result)); } @@ -171,7 +172,6 @@ namespace ZR.CodeGenerator /// 生成Vue页面 private static void GenerateVueViews(ReplaceDto replaceDto, GenerateDto generateDto) { - var fullPath = Path.Combine(generateDto.GenCodePath, "ZR.Vue", "src", "views", generateDto.GenTable.ModuleName, $"{generateDto.GenTable.BusinessName}.vue"); string fileName = string.Empty; switch (generateDto.GenTable.TplCategory) { @@ -192,6 +192,8 @@ namespace ZR.CodeGenerator tpl.Set("lowerBusinessName", FirstLowerCase(generateDto.GenTable.BusinessName)); var result = tpl.Render(); + var fullPath = generateDto.IsPreview ? string.Empty : Path.Combine(generateDto.GenCodePath, "ZR.Vue", "src", "views", FirstLowerCase(generateDto.GenTable.ModuleName), $"{generateDto.GenTable.BusinessName}.vue"); + generateDto.GenCodes.Add(new GenCode(6, "index.vue", fullPath, result)); } @@ -203,10 +205,10 @@ namespace ZR.CodeGenerator /// public static void GenerateVueJs(ReplaceDto replaceDto, GenerateDto generateDto) { - string fullPath = Path.Combine(generateDto.GenCodePath, "ZR.Vue", "src", "api", generateDto.GenTable.ModuleName, FirstLowerCase(generateDto.GenTable.BusinessName) + ".js"); var tpl = FileHelper.ReadJtTemplate("TplVueApi.txt"); - var result = tpl.Render(); + + string fullPath = generateDto.IsPreview ? string.Empty : Path.Combine(generateDto.GenCodePath, "ZR.Vue", "src", "api", FirstLowerCase(generateDto.GenTable.ModuleName), FirstLowerCase(generateDto.GenTable.BusinessName) + ".js"); generateDto.GenCodes.Add(new GenCode(7, "api.js", fullPath, result)); } @@ -217,8 +219,6 @@ namespace ZR.CodeGenerator /// public static void GenerateSql(ReplaceDto replaceDto, GenerateDto generateDto) { - string fullPath = Path.Combine(generateDto.GenCodePath, generateDto.GenTable.BusinessName + ".sql"); - var tempName = ""; switch (generateDto.DbType) { @@ -234,6 +234,8 @@ namespace ZR.CodeGenerator var tpl = FileHelper.ReadJtTemplate($"{tempName}.txt"); tpl.Set("parentId", generateDto.GenTable.ParentMenuId ?? 0); var result = tpl.Render(); + string fullPath = generateDto.IsPreview ? string.Empty : Path.Combine(generateDto.GenCodePath, generateDto.GenTable.BusinessName + ".sql"); + generateDto.GenCodes.Add(new GenCode(8, "sql", fullPath, result)); } diff --git a/ZR.CodeGenerator/FileHelper.cs b/ZR.CodeGenerator/FileHelper.cs index 549c45f..fd675d0 100644 --- a/ZR.CodeGenerator/FileHelper.cs +++ b/ZR.CodeGenerator/FileHelper.cs @@ -1,13 +1,8 @@ using JinianNet.JNTemplate; using System; -using System.Collections.Generic; using System.IO; using System.IO.Compression; -using System.Linq; using System.Runtime.InteropServices; -using System.Text; -using System.Threading.Tasks; -using ZR.CodeGenerator.Model; namespace ZR.CodeGenerator { @@ -123,31 +118,31 @@ namespace ZR.CodeGenerator /// /// 压缩代码 /// - /// + /// + /// + /// 压缩后的文件名 /// - public static string ZipGenCode(GenerateDto dto) + public static bool ZipGenCode(string zipPath, string genCodePath,string zipFileName) { + if (string.IsNullOrEmpty(zipPath)) return false; try { - //生成压缩包 - string zipReturnFileName = "ZrAdmin.NET" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".zip"; - - CreateDirectory(dto.GenCodePath); - string zipFileName = Path.Combine(dto.ZipPath, zipReturnFileName); - if (File.Exists(zipFileName)) + CreateDirectory(genCodePath); + string zipFileFullName = Path.Combine(zipPath, zipFileName); + if (File.Exists(zipFileFullName)) { - File.Delete(zipFileName); + File.Delete(zipFileFullName); } - ZipFile.CreateFromDirectory(dto.GenCodePath, zipFileName); - DeleteDirectory(dto.GenCodePath); - dto.ZipFileName = zipReturnFileName; - return zipReturnFileName; + ZipFile.CreateFromDirectory(genCodePath, zipFileFullName); + DeleteDirectory(genCodePath); + + return true; } catch (Exception ex) { Console.WriteLine("压缩文件出错。" + ex.Message); - return ""; + return false; } } diff --git a/ZR.CodeGenerator/Model/GenerateDto.cs b/ZR.CodeGenerator/Model/GenerateDto.cs index bdb2c22..91e99a8 100644 --- a/ZR.CodeGenerator/Model/GenerateDto.cs +++ b/ZR.CodeGenerator/Model/GenerateDto.cs @@ -9,7 +9,7 @@ namespace ZR.CodeGenerator.Model /// /// 是否预览代码 /// - public int IsPreview { get; set; } + public bool IsPreview { get; set; } /// /// 生成代码的数据库类型 0、mysql 1、sqlserver /// @@ -17,7 +17,7 @@ namespace ZR.CodeGenerator.Model /// /// 生成的按钮功能 /// - public int[] CheckedBtn { get; set; } + public int[] CheckedBtn { get; set; } = System.Array.Empty(); public GenTable GenTable { get; set; } public CodeGenerateOption GenOptions { get; set; } #region 存储路径 @@ -37,6 +37,11 @@ namespace ZR.CodeGenerator.Model /// 代码生成压缩包名称 /// public string ZipFileName { get; set; } + /// + /// 生成代码方式(0zip压缩包 1自定义路径) + /// + public string GenType { get; set; } + public string GenPath { get; set; } = ""; #endregion } diff --git a/ZR.Model/System/Dto/GenTableDto.cs b/ZR.Model/System/Dto/GenTableDto.cs index cf5f022..a0fc883 100644 --- a/ZR.Model/System/Dto/GenTableDto.cs +++ b/ZR.Model/System/Dto/GenTableDto.cs @@ -20,13 +20,7 @@ namespace ZR.Model.System.Dto public string FunctionName { get; set; } public string FunctionAuthor { get; set; } public string GenType { get; set; } - public string Options { get; set; } - /// - /// 上级菜单id - /// - //public int? ParentMenuId { get; set; } - //public string SortField { get; set; } - //public string SortType { get; set; } + public string GenPath { get; set; } /// /// 额外参数 /// @@ -36,6 +30,7 @@ namespace ZR.Model.System.Dto /// /// 额外参数 + /// ****注意里面参数统一首字母小写***** /// public class Options { @@ -45,6 +40,10 @@ namespace ZR.Model.System.Dto public int? parentMenuId { get; set; } public string sortField { get; set; } public string sortType { get; set; } + /// + /// 额外参数字符串 + /// + public string checkedBtn { get; set; } } public class GenTableColumnDto { diff --git a/ZR.Model/System/Generate/GenTable.cs b/ZR.Model/System/Generate/GenTable.cs index de0f198..1dfea22 100644 --- a/ZR.Model/System/Generate/GenTable.cs +++ b/ZR.Model/System/Generate/GenTable.cs @@ -68,6 +68,7 @@ namespace ZR.Model.System.Generate /// 生成代码方式(0zip压缩包 1自定义路径) /// public string GenType { get; set; } + public string GenPath { get; set; } /// /// 其他生成选项 /// @@ -86,7 +87,7 @@ namespace ZR.Model.System.Generate [SqlSugar.SugarColumn(IsIgnore = true)] public object SortField { get; set; } = string.Empty; - + [SqlSugar.SugarColumn(IsIgnore = true)] public object TreeCode { get; set; } = string.Empty; @@ -95,6 +96,11 @@ namespace ZR.Model.System.Generate [SqlSugar.SugarColumn(IsIgnore = true)] public object TreeParentCode { get; set; } + /// + /// 生成的按钮功能 + /// + [SqlSugar.SugarColumn(IsIgnore = true)] + public int[] CheckedBtn { get; set; } = new int[] { 1, 2, 3 }; #endregion } } diff --git a/ZR.Repository/BaseRepository.cs b/ZR.Repository/BaseRepository.cs index f19a0b0..484b060 100644 --- a/ZR.Repository/BaseRepository.cs +++ b/ZR.Repository/BaseRepository.cs @@ -349,6 +349,12 @@ namespace ZR.Repository return source.ToPage(parm); } + + public PagedInfo GetPages(Expression> where, PagerInfo parm, Expression> order, string orderByType) + { + return GetPages(where, parm, order, orderByType == "desc" ? OrderByType.Desc : OrderByType.Asc); + } + /// /// 查询所有数据(无分页,请慎用) /// diff --git a/ZR.Repository/IBaseRepository.cs b/ZR.Repository/IBaseRepository.cs index 0dedf0f..1a51f70 100644 --- a/ZR.Repository/IBaseRepository.cs +++ b/ZR.Repository/IBaseRepository.cs @@ -87,6 +87,7 @@ namespace ZR.Repository PagedInfo GetPages(Expression> where, PagerInfo parm); PagedInfo GetPages(Expression> where, PagerInfo parm, Expression> order, OrderByType orderEnum = OrderByType.Asc); + PagedInfo GetPages(Expression> where, PagerInfo parm, Expression> order, string orderByType); bool Any(Expression> expression); diff --git a/ZR.Repository/ZR.Repository.csproj b/ZR.Repository/ZR.Repository.csproj index 144f850..8814759 100644 --- a/ZR.Repository/ZR.Repository.csproj +++ b/ZR.Repository/ZR.Repository.csproj @@ -16,8 +16,4 @@ - - - - diff --git a/ZR.Service/System/GenTableService.cs b/ZR.Service/System/GenTableService.cs index 286932c..880ef4a 100644 --- a/ZR.Service/System/GenTableService.cs +++ b/ZR.Service/System/GenTableService.cs @@ -5,6 +5,7 @@ using SqlSugar; using System; using System.Collections.Generic; using System.Linq; +using ZR.Common; using ZR.Model; using ZR.Model.System.Generate; using ZR.Repository.System; @@ -89,6 +90,9 @@ namespace ZR.Service.System genTable.TreeParentCode = options.GetValueOrDefault("treeParentCode") ?? ""; genTable.TreeName = options.GetValueOrDefault("treeName") ?? ""; genTable.TreeCode = options.GetValueOrDefault("treeCode") ?? ""; + + var checkdBtn = options.GetValueOrDefault("checkedBtn"); + genTable.CheckedBtn = Tools.SpitIntArrary(checkdBtn.ToString()); } } diff --git a/ZR.Vue/src/api/tool/gen.js b/ZR.Vue/src/api/tool/gen.js index 59317ef..b28fe8e 100644 --- a/ZR.Vue/src/api/tool/gen.js +++ b/ZR.Vue/src/api/tool/gen.js @@ -1,23 +1,5 @@ -import request from '@/utils/request' +import request from '@/utils/request'; -// 预览生成代码 -// export function previewTable(tableId) { -// return request({ -// url: '/tool/gen/preview/' + tableId, -// method: 'get' -// }) -// } - -/** - * 创建数据库连接 - */ -// export function createGetDBConn(data) { -// return request({ -// url: 'tool/gen/CreateDBConn', -// method: 'post', -// data: data, -// }) -// } /** * 获取数据库 */ @@ -43,7 +25,7 @@ export function listDbTable(data) { export async function codeGenerator(data) { return await request({ url: 'tool/gen/genCode', - method: 'post', + method: 'POST', data: data, }) } @@ -103,11 +85,11 @@ export function updateGenTable(data) { } // 预览生成代码 -export function previewTable(tableId, data) { +export function previewTable(tableId) { return request({ url: '/tool/gen/preview/' + tableId, method: 'post', - data: data + // data: data }) } diff --git a/ZR.Vue/src/views/tool/file/index.vue b/ZR.Vue/src/views/tool/file/index.vue index bc21521..8e88bf3 100644 --- a/ZR.Vue/src/views/tool/file/index.vue +++ b/ZR.Vue/src/views/tool/file/index.vue @@ -35,7 +35,7 @@