From ced13d7b10bc892498da46580def48f29e418ecc Mon Sep 17 00:00:00 2001 From: izory <791736813@qq.com> Date: Thu, 16 Sep 2021 17:52:31 +0800 Subject: [PATCH 01/31] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Template/ControllersTemplate.txt | 62 +++-- ZR.Admin.WebApi/Template/VueJsTemplate.txt | 4 +- ZR.CodeGenerator/CodeGenerateTemplate.cs | 8 + ZR.CodeGenerator/CodeGeneratorTool.cs | 220 ++++++++---------- ZR.CodeGenerator/Model/GenerateDto.cs | 3 + ZR.CodeGenerator/Model/ReplaceDto.cs | 61 +++++ ZR.Vue/src/router/index.js | 2 +- ZRAdmin.xml | 41 ++++ document/admin-sqlserver.sql | Bin 97282 -> 104850 bytes 9 files changed, 247 insertions(+), 154 deletions(-) create mode 100644 ZR.CodeGenerator/Model/ReplaceDto.cs diff --git a/ZR.Admin.WebApi/Template/ControllersTemplate.txt b/ZR.Admin.WebApi/Template/ControllersTemplate.txt index 6d8d8b2..fb276b9 100644 --- a/ZR.Admin.WebApi/Template/ControllersTemplate.txt +++ b/ZR.Admin.WebApi/Template/ControllersTemplate.txt @@ -2,41 +2,40 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; -using ZR.Admin.WebApi.Filters; -using ZR.Admin.WebApi.Controllers; -using ZR.Service.Business; using SqlSugar; using Infrastructure; using Infrastructure.Attribute; using Infrastructure.Enums; using Infrastructure.Model; using Mapster; -using ZR.Admin.WebApi.Extensions; using {ModelsNamespace}.Dto; using {ModelsNamespace}.Models; +using {ServicesNamespace}.Business; +using {ApiControllerNamespace}.Extensions; +using {ApiControllerNamespace}.Filters; +using {ApiControllerNamespace}.Controllers; -namespace ZRAdmin.Controllers +namespace {ApiControllerNamespace}.Controllers { /// /// 代码自动生成 /// - [Verify] [Route("bus/{ModelName}")] - public class {ControllerName}Controller: BaseController + public class {ModelName}Controller: BaseController { /// - /// {FileName}接口 + /// {TableDesc}接口 /// - private readonly I{ServiceName} _{ServiceName}; + private readonly I{ModelName}Service _{ModelName}Service; - public {ControllerName}Controller(I{ServiceName} {ServiceName}) + public {ModelName}Controller(I{ModelName}Service {ModelName}Service) { - _{ServiceName} = {ServiceName}; + _{ModelName}Service = {ModelName}Service; } /// - /// 查询{FileName}列表 + /// 查询{TableDesc}列表 /// /// [HttpGet("list")] @@ -49,32 +48,32 @@ namespace ZRAdmin.Controllers //TODO 搜索条件 //predicate = predicate.And(m => m.Name.Contains(parm.Name)); - var response = _{ServiceName}.GetPages(predicate.ToExpression(), parm); + var response = _{ModelName}Service.GetPages(predicate.ToExpression(), parm); return SUCCESS(response); } /// - /// 查询{FileName}详情 + /// 查询{TableDesc}详情 /// - /// + /// /// - [HttpGet("{{primaryKey}}")] + [HttpGet("{{PrimaryKey}}")] [ActionPermissionFilter(Permission = "{Permission}:query")] - public IActionResult Get({KeyTypeName} {primaryKey}) + public IActionResult Get({KeyTypeName} {PrimaryKey}) { - var response = _{ServiceName}.GetId({primaryKey}); + var response = _{ModelName}Service.GetId({PrimaryKey}); return SUCCESS(response); } /// - /// 添加{FileName} + /// 添加{TableDesc} /// /// [HttpPost] [ActionPermissionFilter(Permission = "{Permission}:add")] - [Log(Title = "{FileName}添加", BusinessType = BusinessType.INSERT)] + [Log(Title = "{TableDesc}添加", BusinessType = BusinessType.INSERT)] public IActionResult Create([FromBody] {ModelName}Dto parm) { if (parm == null) @@ -85,16 +84,16 @@ namespace ZRAdmin.Controllers var addModel = parm.Adapt<{ModelName}>().ToCreate(); //addModel.CreateID = User.Identity.Name; - return SUCCESS(_{ServiceName}.Add(addModel)); + return SUCCESS(_{ModelName}Service.Add(addModel)); } /// - /// 更新{FileName} + /// 更新{TableDesc} /// /// [HttpPut] [ActionPermissionFilter(Permission = "{Permission}:update")] - [Log(Title = "{FileName}修改", BusinessType = BusinessType.UPDATE)] + [Log(Title = "{TableDesc}修改", BusinessType = BusinessType.UPDATE)] public IActionResult Update([FromBody] {ModelName}Dto parm) { if (parm == null) @@ -105,28 +104,27 @@ namespace ZRAdmin.Controllers var updateModel = parm.Adapt<{ModelName}>().ToCreate(); //updateModel.CreateID = User.Identity.Name; - var response = _{ServiceName}.Update(w => w.{primaryKey} == updateModel.{primaryKey}, it => new {ModelName}() + var response = _{ModelName}Service.Update(w => w.{PrimaryKey} == updateModel.{PrimaryKey}, it => new {ModelName}() { //TODO 字段映射 - {updateColumn} + {UpdateColumn} }); return SUCCESS(response); } /// - /// 删除{FileName} + /// 删除{TableDesc} /// /// - [HttpDelete("{{primaryKey}}")] + [HttpDelete("{{PrimaryKey}}")] [ActionPermissionFilter(Permission = "{Permission}:delete")] - [Log(Title = "{FileName}删除", BusinessType = BusinessType.DELETE)] - public IActionResult Delete({KeyTypeName} {primaryKey} = 0) + [Log(Title = "{TableDesc}删除", BusinessType = BusinessType.DELETE)] + public IActionResult Delete({KeyTypeName} {PrimaryKey} = 0) { - if ({primaryKey} <= 0) { return OutputJson(ApiResult.Error($"删除失败Id 不能为空")); } + if ({PrimaryKey} <= 0) { return OutputJson(ApiResult.Error($"删除失败Id 不能为空")); } - // 删除{FileName} - var response = _{ServiceName}.Delete({primaryKey}); + var response = _{ModelName}Service.Delete({PrimaryKey}); return SUCCESS(response); } diff --git a/ZR.Admin.WebApi/Template/VueJsTemplate.txt b/ZR.Admin.WebApi/Template/VueJsTemplate.txt index 719dfc7..36d1a40 100644 --- a/ZR.Admin.WebApi/Template/VueJsTemplate.txt +++ b/ZR.Admin.WebApi/Template/VueJsTemplate.txt @@ -4,11 +4,11 @@ * {ModelTypeDesc}分页查询 * @param {查询条件} data */ -export function list{ModelTypeName}(data) { +export function list{ModelTypeName}(query) { return request({ url: 'bus/{ModelTypeName}/list', method: 'get', - params: data, + params: query, }) } diff --git a/ZR.CodeGenerator/CodeGenerateTemplate.cs b/ZR.CodeGenerator/CodeGenerateTemplate.cs index e8c1796..fff483e 100644 --- a/ZR.CodeGenerator/CodeGenerateTemplate.cs +++ b/ZR.CodeGenerator/CodeGenerateTemplate.cs @@ -8,10 +8,18 @@ using ZR.CodeGenerator.CodeGenerator; namespace ZR.CodeGenerator { + /// + /// 代码生成模板 + /// public class CodeGenerateTemplate { #region Template + /// + /// 生成vuejs模板,目前只有上传文件方法 + /// + /// + /// public static string GetVueJsMethod(DbColumnInfo dbColumnInfo) { string columnName = CodeGeneratorTool.FirstLowerCase(dbColumnInfo.DbColumnName); diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs index 8667eab..6538bcd 100644 --- a/ZR.CodeGenerator/CodeGeneratorTool.cs +++ b/ZR.CodeGenerator/CodeGeneratorTool.cs @@ -35,19 +35,18 @@ namespace ZR.CodeGenerator /// public static void Generate(DbTableInfo dbTableInfo, GenerateDto dto) { - //_option.BaseNamespace = baseNamespace; + _option.BaseNamespace = "ZR."; //_option.TableList = listTable; _option.ReplaceTableNameStr = dto.replaceTableNameStr; - _option.DtosNamespace = "ZR.Model"; - _option.ModelsNamespace = "ZR.Model"; - _option.RepositoriesNamespace = "ZR.Repository"; - _option.IRepositoriesNamespace = "ZR.Repository"; - _option.IServicsNamespace = "ZR.Service"; - _option.ServicesNamespace = "ZR.Service"; - _option.ApiControllerNamespace = "ZR.Admin.WebApi"; - - CodeGeneraterService codeGeneraterService = new CodeGeneraterService(); + _option.DtosNamespace = _option.BaseNamespace + "Model"; + _option.ModelsNamespace = _option.BaseNamespace + "Model"; + _option.RepositoriesNamespace = _option.BaseNamespace + "Repository"; + _option.IRepositoriesNamespace = _option.BaseNamespace + "Repository"; + _option.IServicsNamespace = _option.BaseNamespace + "Service"; + _option.ServicesNamespace = _option.BaseNamespace + "Service"; + _option.ApiControllerNamespace = _option.BaseNamespace + "Admin.WebApi"; + CodeGeneraterService codeGeneraterService = new(); List listField = codeGeneraterService.GetColumnInfo(dto.dbName, dbTableInfo.Name); GenerateSingle(listField, dbTableInfo, dto); @@ -59,12 +58,10 @@ namespace ZR.CodeGenerator /// /// 表字段集合 /// 表信息 - /// 如果目标文件存在,是否覆盖。默认为false + /// public static void GenerateSingle(List listField, DbTableInfo tableInfo, GenerateDto dto) { - bool ifExsitedCovered = dto.coverd; var modelTypeName = GetModelClassName(tableInfo.Name);//表名对应C# 实体类名 - var modelTypeDesc = tableInfo.Description;//表描述 var primaryKey = "id";//主键 string keyTypeName = "int";//主键数据类型 @@ -115,30 +112,45 @@ namespace ZR.CodeGenerator vueViewEditFromRuleContent += CodeGenerateTemplate.GetFormRules(dbFieldInfo); InputDtoContent += CodeGenerateTemplate.GetDtoContent(dbFieldInfo); } + ReplaceDto replaceDto = new(); + replaceDto.KeyTypeName = keyTypeName; + replaceDto.PrimaryKey = primaryKey; + replaceDto.ModelTypeName = modelTypeName; + replaceDto.ModelProperty = modelContent; + replaceDto.TableName = tableInfo.Name; + replaceDto.TableDesc = tableInfo.Description; + replaceDto.InputDtoProperty = InputDtoContent; + replaceDto.updateColumn = updateColumn; + replaceDto.VueJsMethod = vueJsMethod; + replaceDto.VueViewEditFormContent = vueViewEditFromContent; + replaceDto.VueViewFormContent = vueViewFormContent; + replaceDto.VueViewEditFormRuleContent = vueViewEditFromRuleContent; + replaceDto.VueViewListContent = vueViewListContent; + if (dto.genFiles.Contains(1)) { - GenerateModels(_option.ModelsNamespace, modelTypeName, tableInfo.Name, modelContent, modelTypeDesc, keyTypeName, ifExsitedCovered); + GenerateModels(replaceDto, dto); } if (dto.genFiles.Contains(2)) { - GenerateInputDto(_option.ModelsNamespace, modelTypeName, modelTypeDesc, InputDtoContent, keyTypeName, ifExsitedCovered); + GenerateInputDto(replaceDto, dto); } if (dto.genFiles.Contains(3)) { - GenerateRepository(modelTypeName, modelTypeDesc, tableInfo.Name, keyTypeName, ifExsitedCovered); + GenerateRepository(replaceDto, dto); } if (dto.genFiles.Contains(4)) { - GenerateIService(_option.ModelsNamespace, modelTypeName, modelTypeDesc, keyTypeName, ifExsitedCovered); - GenerateService(_option.ModelsNamespace, modelTypeName, modelTypeDesc, keyTypeName, ifExsitedCovered); + GenerateIService(replaceDto, dto); + GenerateService(replaceDto, dto); } if (dto.genFiles.Contains(5)) { - GenerateControllers(modelTypeName, primaryKey, modelTypeDesc, keyTypeName, updateColumn, ifExsitedCovered); + GenerateControllers(replaceDto, dto); } if (dto.genFiles.Contains(6)) { - GenerateVueViews(modelTypeName, primaryKey, modelTypeDesc, vueViewListContent, vueViewFormContent, vueViewEditFromContent, vueViewEditFromBindContent, vueViewSaveBindContent, vueViewEditFromRuleContent, vueJsMethod, ifExsitedCovered); + GenerateVueViews(replaceDto, dto); } //GenerateIRepository(modelTypeName, modelTypeDesc, keyTypeName, ifExsitedCovered); //GenerateOutputDto(modelTypeName, modelTypeDesc, outputDtocontent, ifExsitedCovered); @@ -157,28 +169,28 @@ namespace ZR.CodeGenerator /// 数据库表实体内容 /// 主键数据类型 /// 如果目标文件存在,是否覆盖。默认为false - private static Tuple GenerateModels(string modelsNamespace, string modelTypeName, string tableName, string modelContent, string modelTypeDesc, string keyTypeName, bool ifExsitedCovered = false) + private static Tuple GenerateModels(ReplaceDto replaceDto, GenerateDto generateDto) { var parentPath = ".."; //../ZR.Model - var servicesPath = parentPath + "\\" + modelsNamespace + "\\Models\\"; + var servicesPath = parentPath + "\\" + _option.ModelsNamespace + "\\Models\\"; if (!Directory.Exists(servicesPath)) { Directory.CreateDirectory(servicesPath); } // ../ZR.Model/Models/User.cs - var fullPath = servicesPath + modelTypeName + ".cs"; + var fullPath = servicesPath + replaceDto.ModelTypeName + ".cs"; Console.WriteLine(fullPath); - if (File.Exists(fullPath) && !ifExsitedCovered) + if (File.Exists(fullPath) && !generateDto.coverd) return Tuple.Create(fullPath, ""); var content = ReadTemplate("ModelTemplate.txt"); content = content - .Replace("{ModelsNamespace}", modelsNamespace) - .Replace("{ModelTypeName}", modelTypeName) - .Replace("{TableNameDesc}", modelTypeDesc) - .Replace("{KeyTypeName}", keyTypeName) - .Replace("{PropertyName}", modelContent) - .Replace("{TableName}", tableName); + .Replace("{ModelsNamespace}", _option.ModelsNamespace) + .Replace("{ModelTypeName}", replaceDto.ModelTypeName) + .Replace("{TableNameDesc}", replaceDto.TableDesc) + .Replace("{KeyTypeName}", replaceDto.KeyTypeName) + .Replace("{PropertyName}", replaceDto.ModelProperty) + .Replace("{TableName}", replaceDto.TableName); WriteAndSave(fullPath, content); return Tuple.Create(fullPath, content); } @@ -187,33 +199,29 @@ namespace ZR.CodeGenerator /// /// 生成InputDto文件 /// - /// - /// - /// - /// - /// - /// 如果目标文件存在,是否覆盖。默认为false - private static Tuple GenerateInputDto(string modelsNamespace, string modelTypeName, string modelTypeDesc, string modelContent, string keyTypeName, bool ifExsitedCovered = false) + /// + /// + private static Tuple GenerateInputDto(ReplaceDto replaceDto, GenerateDto generateDto) { var parentPath = ".."; - var servicesPath = parentPath + "\\" + modelsNamespace + "\\Dto\\"; + var servicesPath = parentPath + "\\" + _option.ModelsNamespace + "\\Dto\\"; if (!Directory.Exists(servicesPath)) { Directory.CreateDirectory(servicesPath); } // ../ZR.Model/Dto/User.cs - var fullPath = servicesPath + modelTypeName + "Dto.cs"; + var fullPath = servicesPath + replaceDto.ModelTypeName + "Dto.cs"; Console.WriteLine(fullPath); - if (File.Exists(fullPath) && !ifExsitedCovered) + if (File.Exists(fullPath) && !generateDto.coverd) return Tuple.Create(fullPath, ""); ; var content = ReadTemplate("InputDtoTemplate.txt"); content = content .Replace("{DtosNamespace}", _option.DtosNamespace) - .Replace("{ModelsNamespace}", modelsNamespace) - .Replace("{TableNameDesc}", modelTypeDesc) - .Replace("{KeyTypeName}", keyTypeName) - .Replace("{PropertyName}", modelContent) - .Replace("{ModelTypeName}", modelTypeName); + .Replace("{ModelsNamespace}", _option.ModelsNamespace) + .Replace("{TableNameDesc}", replaceDto.TableDesc) + .Replace("{KeyTypeName}", replaceDto.KeyTypeName) + .Replace("{PropertyName}", replaceDto.InputDtoProperty) + .Replace("{ModelTypeName}", replaceDto.ModelTypeName); WriteAndSave(fullPath, content); return Tuple.Create(fullPath, content); } @@ -229,7 +237,7 @@ namespace ZR.CodeGenerator /// 表名 /// /// 如果目标文件存在,是否覆盖。默认为false - private static Tuple GenerateRepository(string modelTypeName, string modelTypeDesc, string tableName, string keyTypeName, bool ifExsitedCovered = false) + private static Tuple GenerateRepository(ReplaceDto replaceDto, GenerateDto generateDto) { var parentPath = ".."; var repositoryPath = parentPath + "\\" + _option.RepositoriesNamespace + "\\Repositories\\"; @@ -237,18 +245,18 @@ namespace ZR.CodeGenerator { Directory.CreateDirectory(repositoryPath); } - var fullPath = repositoryPath + "\\" + modelTypeName + "Repository.cs"; + var fullPath = repositoryPath + "\\" + replaceDto.ModelTypeName + "Repository.cs"; Console.WriteLine(fullPath); - if (File.Exists(fullPath) && !ifExsitedCovered) + if (File.Exists(fullPath) && !generateDto.coverd) return Tuple.Create(fullPath, ""); var content = ReadTemplate("RepositoryTemplate.txt"); content = content.Replace("{ModelsNamespace}", _option.ModelsNamespace) //.Replace("{IRepositoriesNamespace}", _option.IRepositoriesNamespace) .Replace("{RepositoriesNamespace}", _option.RepositoriesNamespace) - .Replace("{ModelTypeName}", modelTypeName) - .Replace("{TableNameDesc}", modelTypeDesc) - .Replace("{TableName}", tableName) - .Replace("{KeyTypeName}", keyTypeName); + .Replace("{ModelTypeName}", replaceDto.ModelTypeName) + .Replace("{TableNameDesc}", replaceDto.TableDesc) + .Replace("{TableName}", replaceDto.TableName) + .Replace("{KeyTypeName}", replaceDto.KeyTypeName); WriteAndSave(fullPath, content); return Tuple.Create(fullPath, content); } @@ -259,12 +267,7 @@ namespace ZR.CodeGenerator /// /// 生成IService文件 /// - /// - /// - /// - /// - /// 如果目标文件存在,是否覆盖。默认为false - private static Tuple GenerateIService(string modelsNamespace, string modelTypeName, string modelTypeDesc, string keyTypeName, bool ifExsitedCovered = false) + private static Tuple GenerateIService(ReplaceDto replaceDto, GenerateDto generateDto) { var parentPath = ".."; var iServicesPath = parentPath + "\\" + _option.IServicsNamespace + "\\Business\\IBusService\\"; @@ -272,18 +275,18 @@ namespace ZR.CodeGenerator { Directory.CreateDirectory(iServicesPath); } - var fullPath = $"{iServicesPath}\\I{modelTypeName}Service.cs"; + var fullPath = $"{iServicesPath}\\I{replaceDto.ModelTypeName}Service.cs"; Console.WriteLine(fullPath); - if (File.Exists(fullPath) && !ifExsitedCovered) + if (File.Exists(fullPath) && !generateDto.coverd) return Tuple.Create(fullPath, ""); var content = ReadTemplate("IServiceTemplate.txt"); - content = content.Replace("{ModelsNamespace}", modelsNamespace) - .Replace("{TableNameDesc}", modelTypeDesc) + content = content.Replace("{ModelsNamespace}", _option.ModelsNamespace) + .Replace("{TableNameDesc}", replaceDto.TableDesc) .Replace("{DtosNamespace}", _option.DtosNamespace) .Replace("{IServicsNamespace}", _option.IServicsNamespace) .Replace("{RepositoriesNamespace}", _option.RepositoriesNamespace) - .Replace("{ModelTypeName}", modelTypeName) - .Replace("{KeyTypeName}", keyTypeName); + .Replace("{ModelTypeName}", replaceDto.ModelTypeName) + .Replace("{KeyTypeName}", replaceDto.KeyTypeName); WriteAndSave(fullPath, content); return Tuple.Create(fullPath, content); } @@ -291,12 +294,7 @@ namespace ZR.CodeGenerator /// /// 生成Service文件 /// - /// - /// - /// - /// - /// 如果目标文件存在,是否覆盖。默认为false - private static Tuple GenerateService(string modelsNamespace, string modelTypeName, string modelTypeDesc, string keyTypeName, bool ifExsitedCovered = false) + private static Tuple GenerateService(ReplaceDto replaceDto, GenerateDto generateDto) { var parentPath = ".."; var servicesPath = parentPath + "\\" + _option.ServicesNamespace + "\\Business\\"; @@ -304,20 +302,20 @@ namespace ZR.CodeGenerator { Directory.CreateDirectory(servicesPath); } - var fullPath = servicesPath + modelTypeName + "Service.cs"; + var fullPath = servicesPath + replaceDto.ModelTypeName + "Service.cs"; Console.WriteLine(fullPath); - if (File.Exists(fullPath) && !ifExsitedCovered) + if (File.Exists(fullPath) && !generateDto.coverd) return Tuple.Create(fullPath, ""); var content = ReadTemplate("ServiceTemplate.txt"); content = content .Replace("{IRepositoriesNamespace}", _option.IRepositoriesNamespace) .Replace("{DtosNamespace}", _option.DtosNamespace) .Replace("{IServicsNamespace}", _option.IServicsNamespace) - .Replace("{TableNameDesc}", modelTypeDesc) - .Replace("{ModelsNamespace}", modelsNamespace) + .Replace("{TableNameDesc}", replaceDto.TableDesc) + .Replace("{ModelsNamespace}", _option.ModelsNamespace) .Replace("{ServicesNamespace}", _option.ServicesNamespace) - .Replace("{ModelTypeName}", modelTypeName) - .Replace("{KeyTypeName}", keyTypeName); + .Replace("{ModelTypeName}", replaceDto.ModelTypeName) + .Replace("{KeyTypeName}", replaceDto.KeyTypeName); WriteAndSave(fullPath, content); return Tuple.Create(fullPath, content); } @@ -328,12 +326,7 @@ namespace ZR.CodeGenerator /// /// 生成控制器ApiControllers文件 /// - /// 实体类型名称 - /// 主键 - /// 实体描述 - /// - /// 如果目标文件存在,是否覆盖。默认为false - private static Tuple GenerateControllers(string modelTypeName, string primaryKey, string modelTypeDesc, string keyTypeName, string updateColumn, bool ifExsitedCovered = false) + private static Tuple GenerateControllers(ReplaceDto replaceDto, GenerateDto generateDto) { var parentPath = ".."; var servicesPath = parentPath + "\\" + _option.ApiControllerNamespace + "\\Controllers\\business\\"; @@ -341,22 +334,21 @@ namespace ZR.CodeGenerator { Directory.CreateDirectory(servicesPath); } - var fullPath = servicesPath + modelTypeName + "Controller.cs"; + var fullPath = servicesPath + replaceDto.ModelTypeName + "Controller.cs"; Console.WriteLine(fullPath); - if (File.Exists(fullPath) && !ifExsitedCovered) + if (File.Exists(fullPath) && !generateDto.coverd) return Tuple.Create(fullPath, ""); var content = ReadTemplate("ControllersTemplate.txt"); content = content - //.Replace("{DtosNamespace}", _option.DtosNamespace) - .Replace("{ControllerName}", modelTypeName) + .Replace("{ApiControllerNamespace}", _option.ApiControllerNamespace) + .Replace("{ServicesNamespace}", _option.ServicesNamespace) .Replace("{ModelsNamespace}", _option.ModelsNamespace) - .Replace("{FileName}", modelTypeDesc) - .Replace("{ServiceName}", modelTypeName + "Service") - .Replace("{ModelName}", modelTypeName) - .Replace("{Permission}", modelTypeName.ToLower()) - .Replace("{primaryKey}", primaryKey) - .Replace("{updateColumn}", updateColumn) - .Replace("{KeyTypeName}", keyTypeName); + .Replace("{TableDesc}", replaceDto.TableDesc) + .Replace("{ModelName}", replaceDto.ModelTypeName) + .Replace("{Permission}", replaceDto.ModelTypeName.ToLower()) + .Replace("{PrimaryKey}", replaceDto.PrimaryKey) + .Replace("{UpdateColumn}", replaceDto.updateColumn) + .Replace("{KeyTypeName}", replaceDto.KeyTypeName); WriteAndSave(fullPath, content); return Tuple.Create(fullPath, content); } @@ -365,55 +357,45 @@ namespace ZR.CodeGenerator #region 生成Vue页面 /// /// 生成Vue页面 - /// - /// 类名 - /// 表/类描述 - /// - /// - /// - /// - /// - /// - /// 如果目标文件存在,是否覆盖。默认为false - private static Tuple GenerateVueViews(string modelTypeName, string primaryKey, string modelTypeDesc, string vueViewListContent, string vueViewFromContent, string vueViewEditFromContent, string vueViewEditFromBindContent, string vueViewSaveBindContent, string vueViewEditFromRuleContent, string vueJsMethod, bool ifExsitedCovered = false) + private static Tuple GenerateVueViews(ReplaceDto replaceDto, GenerateDto generateDto) { //var parentPath = "..\\CodeGenerate";//若要生成到项目中将路径改成 “..\\ZR.Vue\\src” var parentPath = "..\\ZR.Vue\\src"; - var servicesPath = parentPath + "\\views\\" + FirstLowerCase(modelTypeName); + var servicesPath = parentPath + "\\views\\" + FirstLowerCase(replaceDto.ModelTypeName); if (!Directory.Exists(servicesPath)) { Directory.CreateDirectory(servicesPath); } var fullPath = servicesPath + "\\" + "index.vue"; Console.WriteLine(fullPath); - if (File.Exists(fullPath) && !ifExsitedCovered) + if (File.Exists(fullPath) && !generateDto.coverd) return Tuple.Create(fullPath, ""); ; var content = ReadTemplate("VueTemplate.txt"); content = content - .Replace("{fileClassName}", FirstLowerCase(modelTypeName)) - .Replace("{VueViewListContent}", vueViewListContent)//查询 table列 - .Replace("{VueViewFormContent}", vueViewFromContent)//添加、修改表单 - .Replace("{ModelTypeName}", modelTypeName) - .Replace("{Permission}", modelTypeName.ToLower()) - .Replace("{VueViewEditFormContent}", vueViewEditFromContent) - .Replace("{vueJsMethod}", vueJsMethod) + .Replace("{fileClassName}", FirstLowerCase(replaceDto.ModelTypeName)) + .Replace("{VueViewListContent}", replaceDto.VueViewListContent)//查询 table列 + .Replace("{VueViewFormContent}", replaceDto.VueViewFormContent)//添加、修改表单 + .Replace("{ModelTypeName}", replaceDto.ModelTypeName) + .Replace("{Permission}", replaceDto.ModelTypeName.ToLower()) + .Replace("{VueViewEditFormContent}", replaceDto.VueViewEditFormContent) + .Replace("{vueJsMethod}", replaceDto.VueJsMethod) //.Replace("{VueViewEditFromBindContent}", vueViewEditFromBindContent) //.Replace("{VueViewSaveBindContent}", vueViewSaveBindContent) - .Replace("{primaryKey}", FirstLowerCase(primaryKey)) - .Replace("{VueViewEditFormRuleContent}", vueViewEditFromRuleContent);//添加、修改表单验证规则 + .Replace("{primaryKey}", FirstLowerCase(replaceDto.PrimaryKey)) + .Replace("{VueViewEditFormRuleContent}", replaceDto.VueViewEditFormRuleContent);//添加、修改表单验证规则 WriteAndSave(fullPath, content); //api js servicesPath = parentPath + "\\api\\"; Directory.CreateDirectory(servicesPath); - fullPath = servicesPath + "\\" + FirstLowerCase(modelTypeName) + ".js"; + fullPath = servicesPath + "\\" + FirstLowerCase(replaceDto.ModelTypeName) + ".js"; Console.WriteLine(fullPath); - if (File.Exists(fullPath) && !ifExsitedCovered) + if (File.Exists(fullPath) && !generateDto.coverd) return Tuple.Create(fullPath, ""); content = ReadTemplate("VueJsTemplate.txt"); content = content - .Replace("{ModelTypeName}", modelTypeName) - .Replace("{ModelTypeDesc}", modelTypeDesc); + .Replace("{ModelTypeName}", replaceDto.ModelTypeName) + .Replace("{ModelTypeDesc}", replaceDto.TableDesc); //.Replace("{fileClassName}", fileClassName) WriteAndSave(fullPath, content); return Tuple.Create(fullPath, content); diff --git a/ZR.CodeGenerator/Model/GenerateDto.cs b/ZR.CodeGenerator/Model/GenerateDto.cs index 60399fc..161db2a 100644 --- a/ZR.CodeGenerator/Model/GenerateDto.cs +++ b/ZR.CodeGenerator/Model/GenerateDto.cs @@ -29,6 +29,9 @@ namespace ZR.CodeGenerator.Model /// 要生成的文件 /// public int[] genFiles { get; set; } + /// + /// 如果目标文件存在,是否覆盖。默认为false + /// public bool coverd { get; set; } = true; } } diff --git a/ZR.CodeGenerator/Model/ReplaceDto.cs b/ZR.CodeGenerator/Model/ReplaceDto.cs new file mode 100644 index 0000000..07f0c91 --- /dev/null +++ b/ZR.CodeGenerator/Model/ReplaceDto.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +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; } + + /// + /// 主键字段 + /// + public string PrimaryKey { get; set; } + /// + /// 主键类型 + /// + public string KeyTypeName { get; set; } + /// + /// 控制器权限 + /// + public string Permission { get; set; } + /// + /// C#类名 + /// + public string ModelTypeName { get; set; } + /// + /// 数据库表名 + /// + public string TableName { get; set; } + /// + /// 表描述、说明 + /// + public string TableDesc { get; set; } + public string updateColumn { get; set; } + + + /// + /// 实体属性模板 + /// + public string ModelProperty { get; set; } + /// + /// 输入Dto模板 + /// + public string InputDtoProperty { get; set; } + + //vue、api + public string VueViewEditFormContent { get; set; } + public string VueViewListContent { get; set; } + public string VueViewFormContent { get; set; } + public string VueJsMethod { get; set; } + public string VueViewEditFormRuleContent { get; set; } + } +} diff --git a/ZR.Vue/src/router/index.js b/ZR.Vue/src/router/index.js index d0fd641..17b3536 100644 --- a/ZR.Vue/src/router/index.js +++ b/ZR.Vue/src/router/index.js @@ -44,7 +44,7 @@ export const constantRoutes = [ }, { path: '/demo', - component: (resolve) => require(['@/views/demo'], resolve), + component: (resolve) => require(['@/views/gift/index'], resolve), hidden: true }, { diff --git a/ZRAdmin.xml b/ZRAdmin.xml index fe02fe5..1e06da6 100644 --- a/ZRAdmin.xml +++ b/ZRAdmin.xml @@ -920,5 +920,46 @@ + + + 代码自动生成 + + + + + 接口 + + + + + 查询列表 + + + + + + 查询详情 + + + + + + + 添加 + + + + + + 更新 + + + + + + 删除 + + + diff --git a/document/admin-sqlserver.sql b/document/admin-sqlserver.sql index fbd395b11ef8a54ede89c3aa1292b14c78b43504..f7f556fb62b03d4c513a3d8805fd48ee153e8444 100644 GIT binary patch delta 6011 zcmds*T})e59Kioa$JzoN5CqgQR>TcR_-N;56q7lE&Jkl7l))He1xh~{tS~+r3nZ60 z5=n?|?1tRM7}P}Lqb6#M4<`EHgAYdIlkvr<*~=c>9tiqk>i>UkZ|`SYTDli=lb+jq z&pqe&|2+S5-uS2J_GbrIKWD$j#Y+{Xl52pSd&~pR0dxQ9Wv?GyEFXW;`$1o1T^fCw zot0LmSzSdKf)E8iEWj9y!!!gpH(wM?55Wn=@Cx+sHUM+@(HMRb1ef|D-kZO3K@W z@*TEfy{%GwFkLFpvk80~!d{CgI!)M!m!@x;dv*56y0ia5Jl*^On8EppKqn5waK<^Y z*;Xc%zsBqZ0{JoU;HDO29)%j$S{Cn(3Q<5x#BxtD=P;`z%9S&nMiq*(RF%y4_OG5F zj;yc6NIBVvLNKLpi61>uRX`46AeOaQ^-$ZEo+N`YS@%o>0EL z;ESyPFfr0YkxX$Ngo=p##F5Y#?CAL0xa+=$^D187}UU-?YmqR()sA`tChO5NU(f(yxMLetW_VOK5^w*zh$AMLrjJ z;NJCjhP%Dwwub0YP$`N?O)5rzXm+cQX;&=XvnXu4U zvnel{mzfUf(Ky!VnS%rS4JQ>Y)_Y@^^ys)1zat&$U@oUl8GJ@uj*@G=*;biyoib8# zHmS3Twb~rANaD2vRj(=?_R}hZCuUiL^ivbF8wBvM%93Z{q>_K6dKWv~m~F!3pkk+| z)sgC3Xk_v0u49#{(N#;M&TDur(n&9kD$l6`kbZAwN2K?s*!jmj@Vu$?931{)N-aN+ zDq)c-Klyq%g9&~SlYP{>7^NjM)g|xJR6mNgP}Pp^KaCM?Rjcw!)mW&a@}h`Fm1I(B zlIJ)(m1EgzIiV631xl%X{>vkgbz||YlN?2`DxVu{6{&*6!j)8~N_(fKf*M@e^yRaj zfc}{aXr*e^l+XJIF_zDIkOi#E%qxrnQX(pq;{G|7S2hN?~~2DKNma{KtWTq z5#hb-+ZXkOT0koGuVIp%woGR*a}jUPmbV3`M!QwJPN4 zP)D5B3wz?tU`zOHgt@8xZIHQ3yx))0f9H_n7PS|Aa(g#;H2iU3*Xt?bpn^ zpMiX|Zu~}d*qzX)!QJ4_mgs(|TB=)OZC{oyv0Wy;yTshtHY3vgCDvSR-m%cx_ Date: Thu, 16 Sep 2021 19:07:49 +0800 Subject: [PATCH 02/31] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E7=A9=BA=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/System/ArticleController.cs | 2 +- .../Controllers/System/SysLoginController.cs | 2 +- .../Controllers/System/SysMenuController.cs | 2 +- .../System/SysProfileController.cs | 2 +- .../System/SysUserRoleController.cs | 2 +- .../Controllers/System/TasksController.cs | 2 +- .../Controllers/System/TasksLogController.cs | 2 +- .../System/monitor/SysOperlogController.cs | 2 +- ZR.Admin.WebApi/Template/Controller.cs | 2 +- .../Template/ControllersTemplate.txt | 11 ++-- .../{Dto/System => System/Dto}/ArticleDto.cs | 2 +- .../System => System/Dto}/LoginBodyDto.cs | 2 +- .../{Dto/System => System/Dto}/MenuDto.cs | 2 +- .../Dto}/RoleUsersCreateDto.cs | 2 +- .../System => System/Dto}/SysFileQueryDto.cs | 2 +- .../System => System/Dto}/SysLogininfoDto.cs | 2 +- .../System => System/Dto}/SysOperLogDto.cs | 2 +- .../{Dto/System => System/Dto}/SysRoleDto.cs | 2 +- .../{Dto/System => System/Dto}/SysUserDto.cs | 2 +- .../{Dto/System => System/Dto}/TasksDto.cs | 2 +- .../{Dto/System => System/Dto}/TasksLogDto.cs | 2 +- ZR.Model/{Vo/System => System/Vo}/RouterVo.cs | 0 .../{Vo/System => System/Vo}/TreeSelectVo.cs | 0 ZR.Repository/System/ArticleRepository.cs | 2 +- .../System/SysLogininfoRepository.cs | 2 +- ZR.Repository/System/SysMenuRepository.cs | 2 +- ZR.Repository/System/SysOperLogRepository.cs | 2 +- ZR.Service/IService/IArticleService.cs | 2 +- ZR.Service/IService/ISysLoginService.cs | 2 +- ZR.Service/IService/ISysMenuService.cs | 2 +- ZR.Service/IService/ISysOperLogService.cs | 2 +- ZR.Service/IService/ISysUserRoleService.cs | 2 +- ZR.Service/System/SysLoginService.cs | 2 +- ZR.Service/System/SysMenuService.cs | 2 +- ZR.Service/System/SysOperLogService.cs | 2 +- ZR.Service/System/SysUserRoleService.cs | 2 +- ZRAdmin.xml | 65 ++++--------------- 37 files changed, 50 insertions(+), 92 deletions(-) rename ZR.Model/{Dto/System => System/Dto}/ArticleDto.cs (91%) rename ZR.Model/{Dto/System => System/Dto}/LoginBodyDto.cs (95%) rename ZR.Model/{Dto/System => System/Dto}/MenuDto.cs (96%) rename ZR.Model/{Dto/System => System/Dto}/RoleUsersCreateDto.cs (95%) rename ZR.Model/{Dto/System => System/Dto}/SysFileQueryDto.cs (81%) rename ZR.Model/{Dto/System => System/Dto}/SysLogininfoDto.cs (94%) rename ZR.Model/{Dto/System => System/Dto}/SysOperLogDto.cs (96%) rename ZR.Model/{Dto/System => System/Dto}/SysRoleDto.cs (94%) rename ZR.Model/{Dto/System => System/Dto}/SysUserDto.cs (94%) rename ZR.Model/{Dto/System => System/Dto}/TasksDto.cs (99%) rename ZR.Model/{Dto/System => System/Dto}/TasksLogDto.cs (95%) rename ZR.Model/{Vo/System => System/Vo}/RouterVo.cs (100%) rename ZR.Model/{Vo/System => System/Vo}/TreeSelectVo.cs (100%) diff --git a/ZR.Admin.WebApi/Controllers/System/ArticleController.cs b/ZR.Admin.WebApi/Controllers/System/ArticleController.cs index 6f73f98..6b82736 100644 --- a/ZR.Admin.WebApi/Controllers/System/ArticleController.cs +++ b/ZR.Admin.WebApi/Controllers/System/ArticleController.cs @@ -16,7 +16,7 @@ using ZR.Service.IService; using Infrastructure.Model; using SqlSugar; using Mapster; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using Infrastructure.Enums; using Infrastructure; using ZR.Admin.WebApi.Extensions; diff --git a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs index b363ab8..29be694 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs @@ -11,7 +11,7 @@ using Infrastructure.Model; using Infrastructure; using Infrastructure.Attribute; using ZR.Model.System; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Service.IService; using Hei.Captcha; using ZR.Common; diff --git a/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs b/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs index 27dd846..f5ab9f6 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs @@ -5,7 +5,7 @@ using Infrastructure.Model; using Microsoft.AspNetCore.Mvc; using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Service; using ZR.Service.IService; diff --git a/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs index d1e2172..ce015f9 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs @@ -12,7 +12,7 @@ using System.IO; using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; using ZR.Common; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Service.IService; diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs index a801832..fe24e0f 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs @@ -5,7 +5,7 @@ using System; using System.Linq; using ZR.Admin.WebApi.Filters; using ZR.Model; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Service.IService; diff --git a/ZR.Admin.WebApi/Controllers/System/TasksController.cs b/ZR.Admin.WebApi/Controllers/System/TasksController.cs index ad60385..8135252 100644 --- a/ZR.Admin.WebApi/Controllers/System/TasksController.cs +++ b/ZR.Admin.WebApi/Controllers/System/TasksController.cs @@ -10,7 +10,7 @@ using System.Threading.Tasks; using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; using ZR.Model; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Service.IService; using ZR.Tasks; diff --git a/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs b/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs index ca842ca..52bd37b 100644 --- a/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs +++ b/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Mvc; using SqlSugar; using ZR.Model; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; using Infrastructure.Extensions; using Infrastructure.Attribute; diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs index fd76f8f..9e70b7c 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs @@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Mvc; using ZR.Admin.WebApi.Filters; using ZR.Common; using ZR.Model; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Model.Vo; using ZR.Service.IService; diff --git a/ZR.Admin.WebApi/Template/Controller.cs b/ZR.Admin.WebApi/Template/Controller.cs index 6b343ed..e1edef3 100644 --- a/ZR.Admin.WebApi/Template/Controller.cs +++ b/ZR.Admin.WebApi/Template/Controller.cs @@ -15,7 +15,7 @@ using ZR.Service.IService; using Infrastructure.Model; using SqlSugar; using Mapster; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using Infrastructure.Enums; using Infrastructure; using ZR.Admin.WebApi.Extensions; diff --git a/ZR.Admin.WebApi/Template/ControllersTemplate.txt b/ZR.Admin.WebApi/Template/ControllersTemplate.txt index fb276b9..02131cb 100644 --- a/ZR.Admin.WebApi/Template/ControllersTemplate.txt +++ b/ZR.Admin.WebApi/Template/ControllersTemplate.txt @@ -13,7 +13,6 @@ using {ModelsNamespace}.Models; using {ServicesNamespace}.Business; using {ApiControllerNamespace}.Extensions; using {ApiControllerNamespace}.Filters; -using {ApiControllerNamespace}.Controllers; namespace {ApiControllerNamespace}.Controllers { @@ -40,7 +39,7 @@ namespace {ApiControllerNamespace}.Controllers /// [HttpGet("list")] [ActionPermissionFilter(Permission = "{Permission}:list")] - public IActionResult Query([FromQuery] {ModelName}QueryDto parm) + public IActionResult Query{ModelName}([FromQuery] {ModelName}QueryDto parm) { //开始拼装查询条件 var predicate = Expressionable.Create<{ModelName}>(); @@ -60,7 +59,7 @@ namespace {ApiControllerNamespace}.Controllers /// [HttpGet("{{PrimaryKey}}")] [ActionPermissionFilter(Permission = "{Permission}:query")] - public IActionResult Get({KeyTypeName} {PrimaryKey}) + public IActionResult Get{ModelName}({KeyTypeName} {PrimaryKey}) { var response = _{ModelName}Service.GetId({PrimaryKey}); @@ -74,7 +73,7 @@ namespace {ApiControllerNamespace}.Controllers [HttpPost] [ActionPermissionFilter(Permission = "{Permission}:add")] [Log(Title = "{TableDesc}添加", BusinessType = BusinessType.INSERT)] - public IActionResult Create([FromBody] {ModelName}Dto parm) + public IActionResult Add{ModelName}([FromBody] {ModelName}Dto parm) { if (parm == null) { @@ -94,7 +93,7 @@ namespace {ApiControllerNamespace}.Controllers [HttpPut] [ActionPermissionFilter(Permission = "{Permission}:update")] [Log(Title = "{TableDesc}修改", BusinessType = BusinessType.UPDATE)] - public IActionResult Update([FromBody] {ModelName}Dto parm) + public IActionResult Update{ModelName}([FromBody] {ModelName}Dto parm) { if (parm == null) { @@ -120,7 +119,7 @@ namespace {ApiControllerNamespace}.Controllers [HttpDelete("{{PrimaryKey}}")] [ActionPermissionFilter(Permission = "{Permission}:delete")] [Log(Title = "{TableDesc}删除", BusinessType = BusinessType.DELETE)] - public IActionResult Delete({KeyTypeName} {PrimaryKey} = 0) + public IActionResult Delete{ModelName}({KeyTypeName} {PrimaryKey} = 0) { if ({PrimaryKey} <= 0) { return OutputJson(ApiResult.Error($"删除失败Id 不能为空")); } diff --git a/ZR.Model/Dto/System/ArticleDto.cs b/ZR.Model/System/Dto/ArticleDto.cs similarity index 91% rename from ZR.Model/Dto/System/ArticleDto.cs rename to ZR.Model/System/Dto/ArticleDto.cs index ff5a3c0..368b1ea 100644 --- a/ZR.Model/Dto/System/ArticleDto.cs +++ b/ZR.Model/System/Dto/ArticleDto.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; -namespace ZR.Model.Dto.System +namespace ZR.Model.System.Dto { public class ArticleQueryDto: PagerInfo { diff --git a/ZR.Model/Dto/System/LoginBodyDto.cs b/ZR.Model/System/Dto/LoginBodyDto.cs similarity index 95% rename from ZR.Model/Dto/System/LoginBodyDto.cs rename to ZR.Model/System/Dto/LoginBodyDto.cs index cf0fa0b..6bb2246 100644 --- a/ZR.Model/Dto/System/LoginBodyDto.cs +++ b/ZR.Model/System/Dto/LoginBodyDto.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; -namespace ZR.Model.Dto.System +namespace ZR.Model.System.Dto { public class LoginBodyDto { diff --git a/ZR.Model/Dto/System/MenuDto.cs b/ZR.Model/System/Dto/MenuDto.cs similarity index 96% rename from ZR.Model/Dto/System/MenuDto.cs rename to ZR.Model/System/Dto/MenuDto.cs index ac241f7..0fa5671 100644 --- a/ZR.Model/Dto/System/MenuDto.cs +++ b/ZR.Model/System/Dto/MenuDto.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; -namespace ZR.Model.Dto.System +namespace ZR.Model.System.Dto { public class MenuDto { diff --git a/ZR.Model/Dto/System/RoleUsersCreateDto.cs b/ZR.Model/System/Dto/RoleUsersCreateDto.cs similarity index 95% rename from ZR.Model/Dto/System/RoleUsersCreateDto.cs rename to ZR.Model/System/Dto/RoleUsersCreateDto.cs index 2ba0cfb..456621a 100644 --- a/ZR.Model/Dto/System/RoleUsersCreateDto.cs +++ b/ZR.Model/System/Dto/RoleUsersCreateDto.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Text; -namespace ZR.Model.Dto.System +namespace ZR.Model.System.Dto { public class RoleUsersCreateDto { diff --git a/ZR.Model/Dto/System/SysFileQueryDto.cs b/ZR.Model/System/Dto/SysFileQueryDto.cs similarity index 81% rename from ZR.Model/Dto/System/SysFileQueryDto.cs rename to ZR.Model/System/Dto/SysFileQueryDto.cs index 5c3d018..868534d 100644 --- a/ZR.Model/Dto/System/SysFileQueryDto.cs +++ b/ZR.Model/System/Dto/SysFileQueryDto.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; -namespace ZR.Model.Dto.System +namespace ZR.Model.System.Dto { public class SysFileQueryDto : PagerInfo { diff --git a/ZR.Model/Dto/System/SysLogininfoDto.cs b/ZR.Model/System/Dto/SysLogininfoDto.cs similarity index 94% rename from ZR.Model/Dto/System/SysLogininfoDto.cs rename to ZR.Model/System/Dto/SysLogininfoDto.cs index 7d5bc43..a125b9a 100644 --- a/ZR.Model/Dto/System/SysLogininfoDto.cs +++ b/ZR.Model/System/Dto/SysLogininfoDto.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Text; using ZR.Model.System; -namespace ZR.Model.Dto.System +namespace ZR.Model.System.Dto { public class SysLogininfoDto : SysBase { diff --git a/ZR.Model/Dto/System/SysOperLogDto.cs b/ZR.Model/System/Dto/SysOperLogDto.cs similarity index 96% rename from ZR.Model/Dto/System/SysOperLogDto.cs rename to ZR.Model/System/Dto/SysOperLogDto.cs index e686da1..23bd3cb 100644 --- a/ZR.Model/Dto/System/SysOperLogDto.cs +++ b/ZR.Model/System/Dto/SysOperLogDto.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Text; using ZR.Model.System; -namespace ZR.Model.Dto.System +namespace ZR.Model.System.Dto { public class SysOperLogDto : SysBase { diff --git a/ZR.Model/Dto/System/SysRoleDto.cs b/ZR.Model/System/Dto/SysRoleDto.cs similarity index 94% rename from ZR.Model/Dto/System/SysRoleDto.cs rename to ZR.Model/System/Dto/SysRoleDto.cs index 7ba3d47..5a29195 100644 --- a/ZR.Model/Dto/System/SysRoleDto.cs +++ b/ZR.Model/System/Dto/SysRoleDto.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Text; using ZR.Model.System; -namespace ZR.Model.Dto.System +namespace ZR.Model.System.Dto { public class SysRoleDto: SysBase { diff --git a/ZR.Model/Dto/System/SysUserDto.cs b/ZR.Model/System/Dto/SysUserDto.cs similarity index 94% rename from ZR.Model/Dto/System/SysUserDto.cs rename to ZR.Model/System/Dto/SysUserDto.cs index ef7df57..6841ef6 100644 --- a/ZR.Model/Dto/System/SysUserDto.cs +++ b/ZR.Model/System/Dto/SysUserDto.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Text; using ZR.Model.System; -namespace ZR.Model.Dto.System +namespace ZR.Model.System.Dto { public class SysUserDto { diff --git a/ZR.Model/Dto/System/TasksDto.cs b/ZR.Model/System/Dto/TasksDto.cs similarity index 99% rename from ZR.Model/Dto/System/TasksDto.cs rename to ZR.Model/System/Dto/TasksDto.cs index bc190bc..f41827f 100644 --- a/ZR.Model/Dto/System/TasksDto.cs +++ b/ZR.Model/System/Dto/TasksDto.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Text; -namespace ZR.Model.Dto.System +namespace ZR.Model.System.Dto { public class TasksQueryDto { diff --git a/ZR.Model/Dto/System/TasksLogDto.cs b/ZR.Model/System/Dto/TasksLogDto.cs similarity index 95% rename from ZR.Model/Dto/System/TasksLogDto.cs rename to ZR.Model/System/Dto/TasksLogDto.cs index 7c573e4..0284234 100644 --- a/ZR.Model/Dto/System/TasksLogDto.cs +++ b/ZR.Model/System/Dto/TasksLogDto.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; -namespace ZR.Model.Dto.System +namespace ZR.Model.System.Dto { public class TasksLogQueryDto { diff --git a/ZR.Model/Vo/System/RouterVo.cs b/ZR.Model/System/Vo/RouterVo.cs similarity index 100% rename from ZR.Model/Vo/System/RouterVo.cs rename to ZR.Model/System/Vo/RouterVo.cs diff --git a/ZR.Model/Vo/System/TreeSelectVo.cs b/ZR.Model/System/Vo/TreeSelectVo.cs similarity index 100% rename from ZR.Model/Vo/System/TreeSelectVo.cs rename to ZR.Model/System/Vo/TreeSelectVo.cs diff --git a/ZR.Repository/System/ArticleRepository.cs b/ZR.Repository/System/ArticleRepository.cs index 5b0cd75..57001a7 100644 --- a/ZR.Repository/System/ArticleRepository.cs +++ b/ZR.Repository/System/ArticleRepository.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; namespace ZR.Repository.System diff --git a/ZR.Repository/System/SysLogininfoRepository.cs b/ZR.Repository/System/SysLogininfoRepository.cs index 1bdb962..f91a88d 100644 --- a/ZR.Repository/System/SysLogininfoRepository.cs +++ b/ZR.Repository/System/SysLogininfoRepository.cs @@ -2,7 +2,7 @@ using Infrastructure.Extensions; using System.Collections.Generic; using ZR.Model; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; namespace ZR.Repository.System diff --git a/ZR.Repository/System/SysMenuRepository.cs b/ZR.Repository/System/SysMenuRepository.cs index 0332b87..3fafa0b 100644 --- a/ZR.Repository/System/SysMenuRepository.cs +++ b/ZR.Repository/System/SysMenuRepository.cs @@ -3,7 +3,7 @@ using SqlSugar; using System; using System.Collections.Generic; using System.Linq; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; namespace ZR.Repository.System diff --git a/ZR.Repository/System/SysOperLogRepository.cs b/ZR.Repository/System/SysOperLogRepository.cs index 840de43..9c47b11 100644 --- a/ZR.Repository/System/SysOperLogRepository.cs +++ b/ZR.Repository/System/SysOperLogRepository.cs @@ -2,7 +2,7 @@ using Infrastructure.Extensions; using System.Collections.Generic; using ZR.Model; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; namespace ZR.Repository.System diff --git a/ZR.Service/IService/IArticleService.cs b/ZR.Service/IService/IArticleService.cs index 9e9dcd7..deadeba 100644 --- a/ZR.Service/IService/IArticleService.cs +++ b/ZR.Service/IService/IArticleService.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; namespace ZR.Service.IService diff --git a/ZR.Service/IService/ISysLoginService.cs b/ZR.Service/IService/ISysLoginService.cs index 22272e2..41a88ba 100644 --- a/ZR.Service/IService/ISysLoginService.cs +++ b/ZR.Service/IService/ISysLoginService.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; using ZR.Model; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; namespace ZR.Service.IService diff --git a/ZR.Service/IService/ISysMenuService.cs b/ZR.Service/IService/ISysMenuService.cs index 04c90c4..a7360e3 100644 --- a/ZR.Service/IService/ISysMenuService.cs +++ b/ZR.Service/IService/ISysMenuService.cs @@ -1,5 +1,5 @@ using System.Collections.Generic; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Model.System.Vo; using ZR.Model.Vo.System; diff --git a/ZR.Service/IService/ISysOperLogService.cs b/ZR.Service/IService/ISysOperLogService.cs index eef404e..ed0640d 100644 --- a/ZR.Service/IService/ISysOperLogService.cs +++ b/ZR.Service/IService/ISysOperLogService.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; using ZR.Model; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Service.System; diff --git a/ZR.Service/IService/ISysUserRoleService.cs b/ZR.Service/IService/ISysUserRoleService.cs index 55d4b01..f701711 100644 --- a/ZR.Service/IService/ISysUserRoleService.cs +++ b/ZR.Service/IService/ISysUserRoleService.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; namespace ZR.Service.IService diff --git a/ZR.Service/System/SysLoginService.cs b/ZR.Service/System/SysLoginService.cs index 8758e1b..3cf3f9f 100644 --- a/ZR.Service/System/SysLoginService.cs +++ b/ZR.Service/System/SysLoginService.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; using ZR.Common; using ZR.Model; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Repository.System; using ZR.Service.IService; diff --git a/ZR.Service/System/SysMenuService.cs b/ZR.Service/System/SysMenuService.cs index c4d702e..98b4001 100644 --- a/ZR.Service/System/SysMenuService.cs +++ b/ZR.Service/System/SysMenuService.cs @@ -1,7 +1,7 @@ using Infrastructure.Attribute; using System.Collections.Generic; using System.Linq; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Model.System.Vo; using ZR.Model.Vo; diff --git a/ZR.Service/System/SysOperLogService.cs b/ZR.Service/System/SysOperLogService.cs index 668accd..cb174f8 100644 --- a/ZR.Service/System/SysOperLogService.cs +++ b/ZR.Service/System/SysOperLogService.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using ZR.Common; using ZR.Model; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Repository.System; using ZR.Service.IService; diff --git a/ZR.Service/System/SysUserRoleService.cs b/ZR.Service/System/SysUserRoleService.cs index a42cbf4..c3fe77f 100644 --- a/ZR.Service/System/SysUserRoleService.cs +++ b/ZR.Service/System/SysUserRoleService.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic; using System.Text; -using ZR.Model.Dto.System; +using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Repository.System; using ZR.Service.IService; diff --git a/ZRAdmin.xml b/ZRAdmin.xml index 1e06da6..8133d63 100644 --- a/ZRAdmin.xml +++ b/ZRAdmin.xml @@ -92,7 +92,7 @@ 文章接口 - + 查询文章列表 @@ -175,7 +175,7 @@ - + 查询操作日志 @@ -345,7 +345,7 @@ 登录 - + 登录 @@ -424,7 +424,7 @@ - + 保存排序 @@ -481,7 +481,7 @@ - + 修改用户 @@ -620,13 +620,13 @@ - + 添加角色用户 - + 删除角色用户 @@ -640,7 +640,7 @@ - + 查询日志 @@ -666,7 +666,7 @@ 计划任务 - + 查询计划任务列表 @@ -679,13 +679,13 @@ 编码 - + 添加任务 - + 更新任务 @@ -733,7 +733,7 @@ 文件管理接口 - + 查询文件管理列表 @@ -920,46 +920,5 @@ - - - 代码自动生成 - - - - - 接口 - - - - - 查询列表 - - - - - - 查询详情 - - - - - - - 添加 - - - - - - 更新 - - - - - - 删除 - - - From 48acf4b9f7b81f0fa7920a0360982676396add92 Mon Sep 17 00:00:00 2001 From: izory <791736813@qq.com> Date: Thu, 16 Sep 2021 19:35:17 +0800 Subject: [PATCH 03/31] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E7=A9=BA=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/System/ArticleController.cs | 14 ++------------ .../Controllers/System/SysDeptController.cs | 2 +- .../Controllers/System/SysDictDataController.cs | 2 +- .../Controllers/System/SysDictTypeController.cs | 2 +- .../Controllers/System/SysLoginController.cs | 2 +- .../Controllers/System/SysMenuController.cs | 2 +- .../Controllers/System/SysPostController.cs | 2 +- .../Controllers/System/SysProfileController.cs | 2 +- .../Controllers/System/SysRoleController.cs | 2 +- .../Controllers/System/SysUserController.cs | 2 +- .../Controllers/System/SysUserRoleController.cs | 2 +- .../Controllers/System/TasksController.cs | 2 +- .../Controllers/System/TasksLogController.cs | 2 +- .../System/monitor/SysLogininforController.cs | 2 +- .../System/monitor/SysOperlogController.cs | 2 +- ZR.Admin.WebApi/Extensions/TasksExtension.cs | 2 +- ZR.Admin.WebApi/Filters/LogActionFilter.cs | 2 +- .../Middleware/GlobalExceptionMiddleware.cs | 2 +- ZR.Admin.WebApi/Template/Controller.cs | 2 +- ZR.Model/ZR.Model.csproj | 1 + ZR.Service/System/ArticleCategoryService.cs | 2 +- ZR.Service/System/ArticleService.cs | 2 +- .../IService/IArticleCategoryService.cs | 2 +- .../{ => System}/IService/IArticleService.cs | 2 +- .../{ => System}/IService/ISysDeptService.cs | 2 +- .../{ => System}/IService/ISysDictDataService.cs | 2 +- .../{ => System}/IService/ISysDictService.cs | 2 +- .../{ => System}/IService/ISysFileService.cs | 2 +- .../{ => System}/IService/ISysLoginService.cs | 2 +- .../{ => System}/IService/ISysMenuService.cs | 2 +- .../{ => System}/IService/ISysOperLogService.cs | 2 +- .../{ => System}/IService/ISysPermissionService.cs | 2 +- .../{ => System}/IService/ISysPostService.cs | 2 +- .../{ => System}/IService/ISysRoleService.cs | 2 +- .../{ => System}/IService/ISysTasksLogService.cs | 2 +- .../{ => System}/IService/ISysTasksQzService.cs | 2 +- .../{ => System}/IService/ISysUserPostService.cs | 2 +- .../{ => System}/IService/ISysUserRoleService.cs | 2 +- .../{ => System}/IService/ISysUserService.cs | 2 +- ZR.Service/System/SysDeptService.cs | 2 +- ZR.Service/System/SysDictDataService.cs | 2 +- ZR.Service/System/SysDictService.cs | 2 +- ZR.Service/System/SysFileService.cs | 2 +- ZR.Service/System/SysLoginService.cs | 2 +- ZR.Service/System/SysMenuService.cs | 2 +- ZR.Service/System/SysOperLogService.cs | 2 +- ZR.Service/System/SysPermissionService.cs | 2 +- ZR.Service/System/SysPostService.cs | 2 +- ZR.Service/System/SysRoleService.cs | 3 +-- ZR.Service/System/SysTasksLogService.cs | 2 +- ZR.Service/System/SysTasksQzService.cs | 2 +- ZR.Service/System/SysUserPostService.cs | 2 +- ZR.Service/System/SysUserRoleService.cs | 2 +- ZR.Service/System/SysUserService.cs | 2 +- ZR.Tasks/TaskScheduler/JobBase.cs | 2 +- 55 files changed, 56 insertions(+), 66 deletions(-) rename ZR.Service/{ => System}/IService/IArticleCategoryService.cs (89%) rename ZR.Service/{ => System}/IService/IArticleService.cs (87%) rename ZR.Service/{ => System}/IService/ISysDeptService.cs (95%) rename ZR.Service/{ => System}/IService/ISysDictDataService.cs (93%) rename ZR.Service/{ => System}/IService/ISysDictService.cs (97%) rename ZR.Service/{ => System}/IService/ISysFileService.cs (78%) rename ZR.Service/{ => System}/IService/ISysLoginService.cs (96%) rename ZR.Service/{ => System}/IService/ISysMenuService.cs (96%) rename ZR.Service/{ => System}/IService/ISysOperLogService.cs (97%) rename ZR.Service/{ => System}/IService/ISysPermissionService.cs (89%) rename ZR.Service/{ => System}/IService/ISysPostService.cs (88%) rename ZR.Service/{ => System}/IService/ISysRoleService.cs (99%) rename ZR.Service/{ => System}/IService/ISysTasksLogService.cs (90%) rename ZR.Service/{ => System}/IService/ISysTasksQzService.cs (85%) rename ZR.Service/{ => System}/IService/ISysUserPostService.cs (89%) rename ZR.Service/{ => System}/IService/ISysUserRoleService.cs (97%) rename ZR.Service/{ => System}/IService/ISysUserService.cs (98%) diff --git a/ZR.Admin.WebApi/Controllers/System/ArticleController.cs b/ZR.Admin.WebApi/Controllers/System/ArticleController.cs index 6b82736..e175c26 100644 --- a/ZR.Admin.WebApi/Controllers/System/ArticleController.cs +++ b/ZR.Admin.WebApi/Controllers/System/ArticleController.cs @@ -1,18 +1,8 @@ - -//------------------------------------------------------------------------------ -// -// 此代码已从模板生成。 -// -// 手动更改此文件可能导致应用程序出现意外的行为。 -// 如果重新生成代码,将覆盖对此文件的手动更改。 -// -//------------------------------------------------------------------------------ - -using Infrastructure.Attribute; +using Infrastructure.Attribute; using Microsoft.AspNetCore.Mvc; using ZR.Admin.WebApi.Filters; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; using Infrastructure.Model; using SqlSugar; using Mapster; diff --git a/ZR.Admin.WebApi/Controllers/System/SysDeptController.cs b/ZR.Admin.WebApi/Controllers/System/SysDeptController.cs index 8dec679..dc99ec2 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysDeptController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysDeptController.cs @@ -7,7 +7,7 @@ using ZR.Admin.WebApi.Filters; using ZR.Common; using ZR.Model.System; using ZR.Service; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers.System { diff --git a/ZR.Admin.WebApi/Controllers/System/SysDictDataController.cs b/ZR.Admin.WebApi/Controllers/System/SysDictDataController.cs index d0968af..c5fe262 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysDictDataController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysDictDataController.cs @@ -7,7 +7,7 @@ using ZR.Admin.WebApi.Filters; using ZR.Model; using ZR.Model.System; using ZR.Model.Vo; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers.System { diff --git a/ZR.Admin.WebApi/Controllers/System/SysDictTypeController.cs b/ZR.Admin.WebApi/Controllers/System/SysDictTypeController.cs index 177430a..d61222c 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysDictTypeController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysDictTypeController.cs @@ -8,7 +8,7 @@ using ZR.Common; using ZR.Model; using ZR.Model.System; using ZR.Model.Vo; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers.System { diff --git a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs index 29be694..08afac8 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysLoginController.cs @@ -12,7 +12,7 @@ using Infrastructure; using Infrastructure.Attribute; using ZR.Model.System; using ZR.Model.System.Dto; -using ZR.Service.IService; +using ZR.Service.System.IService; using Hei.Captcha; using ZR.Common; diff --git a/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs b/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs index f5ab9f6..aa05eaf 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysMenuController.cs @@ -8,7 +8,7 @@ using ZR.Admin.WebApi.Filters; using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Service; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers.System { diff --git a/ZR.Admin.WebApi/Controllers/System/SysPostController.cs b/ZR.Admin.WebApi/Controllers/System/SysPostController.cs index 477ee60..ef3da92 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysPostController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysPostController.cs @@ -8,7 +8,7 @@ using Infrastructure.Extensions; using Infrastructure.Attribute; using Infrastructure.Enums; using Infrastructure; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers.System { diff --git a/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs index ce015f9..29890f1 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysProfileController.cs @@ -14,7 +14,7 @@ using ZR.Admin.WebApi.Filters; using ZR.Common; using ZR.Model.System.Dto; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers.System { diff --git a/ZR.Admin.WebApi/Controllers/System/SysRoleController.cs b/ZR.Admin.WebApi/Controllers/System/SysRoleController.cs index 1b92d24..7fa72fc 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysRoleController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysRoleController.cs @@ -8,7 +8,7 @@ using ZR.Admin.WebApi.Filters; using ZR.Model; using ZR.Model.System; using ZR.Model.Vo; -using ZR.Service.IService; +using ZR.Service.System.IService; using ZR.Admin.WebApi.Extensions; namespace ZR.Admin.WebApi.Controllers.System diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs index 649738f..e309a41 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs @@ -10,7 +10,7 @@ using ZR.Admin.WebApi.Filters; using ZR.Model; using ZR.Model.System; using ZR.Model.Vo; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers.System { diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs index fe24e0f..b355f44 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs @@ -7,7 +7,7 @@ using ZR.Admin.WebApi.Filters; using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers.System { diff --git a/ZR.Admin.WebApi/Controllers/System/TasksController.cs b/ZR.Admin.WebApi/Controllers/System/TasksController.cs index 8135252..541ad29 100644 --- a/ZR.Admin.WebApi/Controllers/System/TasksController.cs +++ b/ZR.Admin.WebApi/Controllers/System/TasksController.cs @@ -12,7 +12,7 @@ using ZR.Admin.WebApi.Filters; using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; using ZR.Tasks; namespace ZR.Admin.WebApi.Controllers diff --git a/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs b/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs index 52bd37b..1a045ec 100644 --- a/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs +++ b/ZR.Admin.WebApi/Controllers/System/TasksLogController.cs @@ -8,7 +8,7 @@ using Infrastructure.Attribute; using ZR.Admin.WebApi.Filters; using ZR.Common; using Infrastructure.Enums; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers.System { diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs index 74a4139..686be34 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs @@ -5,7 +5,7 @@ using ZR.Common; using ZR.Model; using ZR.Model.System; using ZR.Model.Vo; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers.monitor { diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs index 9e70b7c..e2774b2 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SysOperlogController.cs @@ -8,7 +8,7 @@ using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Model.Vo; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers.monitor { diff --git a/ZR.Admin.WebApi/Extensions/TasksExtension.cs b/ZR.Admin.WebApi/Extensions/TasksExtension.cs index dda6ba7..d125afa 100644 --- a/ZR.Admin.WebApi/Extensions/TasksExtension.cs +++ b/ZR.Admin.WebApi/Extensions/TasksExtension.cs @@ -3,7 +3,7 @@ using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Quartz.Spi; using System; -using ZR.Service.IService; +using ZR.Service.System.IService; using ZR.Tasks; namespace ZR.Admin.WebApi.Extensions diff --git a/ZR.Admin.WebApi/Filters/LogActionFilter.cs b/ZR.Admin.WebApi/Filters/LogActionFilter.cs index 0d9df95..b116d74 100644 --- a/ZR.Admin.WebApi/Filters/LogActionFilter.cs +++ b/ZR.Admin.WebApi/Filters/LogActionFilter.cs @@ -12,7 +12,7 @@ using System.Linq; using System.Text; using ZR.Admin.WebApi.Extensions; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Filters { diff --git a/ZR.Admin.WebApi/Middleware/GlobalExceptionMiddleware.cs b/ZR.Admin.WebApi/Middleware/GlobalExceptionMiddleware.cs index 4bbe298..cca6d89 100644 --- a/ZR.Admin.WebApi/Middleware/GlobalExceptionMiddleware.cs +++ b/ZR.Admin.WebApi/Middleware/GlobalExceptionMiddleware.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Middleware { diff --git a/ZR.Admin.WebApi/Template/Controller.cs b/ZR.Admin.WebApi/Template/Controller.cs index e1edef3..60fa74c 100644 --- a/ZR.Admin.WebApi/Template/Controller.cs +++ b/ZR.Admin.WebApi/Template/Controller.cs @@ -11,7 +11,7 @@ using Infrastructure.Attribute; using Microsoft.AspNetCore.Mvc; using ZR.Admin.WebApi.Filters; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; using Infrastructure.Model; using SqlSugar; using Mapster; diff --git a/ZR.Model/ZR.Model.csproj b/ZR.Model/ZR.Model.csproj index 975d730..d519378 100644 --- a/ZR.Model/ZR.Model.csproj +++ b/ZR.Model/ZR.Model.csproj @@ -17,6 +17,7 @@ + diff --git a/ZR.Service/System/ArticleCategoryService.cs b/ZR.Service/System/ArticleCategoryService.cs index 9dd5a0a..7ef4573 100644 --- a/ZR.Service/System/ArticleCategoryService.cs +++ b/ZR.Service/System/ArticleCategoryService.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Linq; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/ArticleService.cs b/ZR.Service/System/ArticleService.cs index fd7c06d..863efa9 100644 --- a/ZR.Service/System/ArticleService.cs +++ b/ZR.Service/System/ArticleService.cs @@ -1,6 +1,6 @@ using Infrastructure.Attribute; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/IService/IArticleCategoryService.cs b/ZR.Service/System/IService/IArticleCategoryService.cs similarity index 89% rename from ZR.Service/IService/IArticleCategoryService.cs rename to ZR.Service/System/IService/IArticleCategoryService.cs index 2db0a40..602b228 100644 --- a/ZR.Service/IService/IArticleCategoryService.cs +++ b/ZR.Service/System/IService/IArticleCategoryService.cs @@ -5,7 +5,7 @@ using System.Text; using System.Threading.Tasks; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface IArticleCategoryService : IBaseService { diff --git a/ZR.Service/IService/IArticleService.cs b/ZR.Service/System/IService/IArticleService.cs similarity index 87% rename from ZR.Service/IService/IArticleService.cs rename to ZR.Service/System/IService/IArticleService.cs index deadeba..0f4e7de 100644 --- a/ZR.Service/IService/IArticleService.cs +++ b/ZR.Service/System/IService/IArticleService.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; using ZR.Model.System.Dto; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface IArticleService : IBaseService
{ diff --git a/ZR.Service/IService/ISysDeptService.cs b/ZR.Service/System/IService/ISysDeptService.cs similarity index 95% rename from ZR.Service/IService/ISysDeptService.cs rename to ZR.Service/System/IService/ISysDeptService.cs index 78bc4a0..4e90491 100644 --- a/ZR.Service/IService/ISysDeptService.cs +++ b/ZR.Service/System/IService/ISysDeptService.cs @@ -4,7 +4,7 @@ using System.Text; using ZR.Model.System; using ZR.Model.Vo.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysDeptService : IBaseService { diff --git a/ZR.Service/IService/ISysDictDataService.cs b/ZR.Service/System/IService/ISysDictDataService.cs similarity index 93% rename from ZR.Service/IService/ISysDictDataService.cs rename to ZR.Service/System/IService/ISysDictDataService.cs index 63b7d29..d048b1a 100644 --- a/ZR.Service/IService/ISysDictDataService.cs +++ b/ZR.Service/System/IService/ISysDictDataService.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Text; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysDictDataService : IBaseService { diff --git a/ZR.Service/IService/ISysDictService.cs b/ZR.Service/System/IService/ISysDictService.cs similarity index 97% rename from ZR.Service/IService/ISysDictService.cs rename to ZR.Service/System/IService/ISysDictService.cs index 0bdb274..6d99e7a 100644 --- a/ZR.Service/IService/ISysDictService.cs +++ b/ZR.Service/System/IService/ISysDictService.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Text; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { /// /// diff --git a/ZR.Service/IService/ISysFileService.cs b/ZR.Service/System/IService/ISysFileService.cs similarity index 78% rename from ZR.Service/IService/ISysFileService.cs rename to ZR.Service/System/IService/ISysFileService.cs index d1deeb4..f223bff 100644 --- a/ZR.Service/IService/ISysFileService.cs +++ b/ZR.Service/System/IService/ISysFileService.cs @@ -1,7 +1,7 @@ using Infrastructure.Attribute; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysFileService : IBaseService { diff --git a/ZR.Service/IService/ISysLoginService.cs b/ZR.Service/System/IService/ISysLoginService.cs similarity index 96% rename from ZR.Service/IService/ISysLoginService.cs rename to ZR.Service/System/IService/ISysLoginService.cs index 41a88ba..d80d99c 100644 --- a/ZR.Service/IService/ISysLoginService.cs +++ b/ZR.Service/System/IService/ISysLoginService.cs @@ -5,7 +5,7 @@ using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysLoginService { diff --git a/ZR.Service/IService/ISysMenuService.cs b/ZR.Service/System/IService/ISysMenuService.cs similarity index 96% rename from ZR.Service/IService/ISysMenuService.cs rename to ZR.Service/System/IService/ISysMenuService.cs index a7360e3..8928c4e 100644 --- a/ZR.Service/IService/ISysMenuService.cs +++ b/ZR.Service/System/IService/ISysMenuService.cs @@ -4,7 +4,7 @@ using ZR.Model.System; using ZR.Model.System.Vo; using ZR.Model.Vo.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysMenuService: IBaseService { diff --git a/ZR.Service/IService/ISysOperLogService.cs b/ZR.Service/System/IService/ISysOperLogService.cs similarity index 97% rename from ZR.Service/IService/ISysOperLogService.cs rename to ZR.Service/System/IService/ISysOperLogService.cs index ed0640d..0029904 100644 --- a/ZR.Service/IService/ISysOperLogService.cs +++ b/ZR.Service/System/IService/ISysOperLogService.cs @@ -4,7 +4,7 @@ using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Service.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysOperLogService : IBaseService { diff --git a/ZR.Service/IService/ISysPermissionService.cs b/ZR.Service/System/IService/ISysPermissionService.cs similarity index 89% rename from ZR.Service/IService/ISysPermissionService.cs rename to ZR.Service/System/IService/ISysPermissionService.cs index 6897396..f0ea833 100644 --- a/ZR.Service/IService/ISysPermissionService.cs +++ b/ZR.Service/System/IService/ISysPermissionService.cs @@ -5,7 +5,7 @@ using System.Text; using System.Threading.Tasks; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysPermissionService { diff --git a/ZR.Service/IService/ISysPostService.cs b/ZR.Service/System/IService/ISysPostService.cs similarity index 88% rename from ZR.Service/IService/ISysPostService.cs rename to ZR.Service/System/IService/ISysPostService.cs index 1df4365..9cd098b 100644 --- a/ZR.Service/IService/ISysPostService.cs +++ b/ZR.Service/System/IService/ISysPostService.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Text; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysPostService: IBaseService { diff --git a/ZR.Service/IService/ISysRoleService.cs b/ZR.Service/System/IService/ISysRoleService.cs similarity index 99% rename from ZR.Service/IService/ISysRoleService.cs rename to ZR.Service/System/IService/ISysRoleService.cs index 3a34389..6f039fd 100644 --- a/ZR.Service/IService/ISysRoleService.cs +++ b/ZR.Service/System/IService/ISysRoleService.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysRoleService: IBaseService { diff --git a/ZR.Service/IService/ISysTasksLogService.cs b/ZR.Service/System/IService/ISysTasksLogService.cs similarity index 90% rename from ZR.Service/IService/ISysTasksLogService.cs rename to ZR.Service/System/IService/ISysTasksLogService.cs index ef0bb09..48dbff4 100644 --- a/ZR.Service/IService/ISysTasksLogService.cs +++ b/ZR.Service/System/IService/ISysTasksLogService.cs @@ -1,6 +1,6 @@ using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysTasksLogService : IBaseService { diff --git a/ZR.Service/IService/ISysTasksQzService.cs b/ZR.Service/System/IService/ISysTasksQzService.cs similarity index 85% rename from ZR.Service/IService/ISysTasksQzService.cs rename to ZR.Service/System/IService/ISysTasksQzService.cs index a7c60c7..69931d0 100644 --- a/ZR.Service/IService/ISysTasksQzService.cs +++ b/ZR.Service/System/IService/ISysTasksQzService.cs @@ -5,7 +5,7 @@ using System.Text; using System.Threading.Tasks; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysTasksQzService: IBaseService { diff --git a/ZR.Service/IService/ISysUserPostService.cs b/ZR.Service/System/IService/ISysUserPostService.cs similarity index 89% rename from ZR.Service/IService/ISysUserPostService.cs rename to ZR.Service/System/IService/ISysUserPostService.cs index 2335b17..0514047 100644 --- a/ZR.Service/IService/ISysUserPostService.cs +++ b/ZR.Service/System/IService/ISysUserPostService.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysUserPostService: IBaseService { diff --git a/ZR.Service/IService/ISysUserRoleService.cs b/ZR.Service/System/IService/ISysUserRoleService.cs similarity index 97% rename from ZR.Service/IService/ISysUserRoleService.cs rename to ZR.Service/System/IService/ISysUserRoleService.cs index f701711..6dc8125 100644 --- a/ZR.Service/IService/ISysUserRoleService.cs +++ b/ZR.Service/System/IService/ISysUserRoleService.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; using ZR.Model.System.Dto; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysUserRoleService { diff --git a/ZR.Service/IService/ISysUserService.cs b/ZR.Service/System/IService/ISysUserService.cs similarity index 98% rename from ZR.Service/IService/ISysUserService.cs rename to ZR.Service/System/IService/ISysUserService.cs index ad65cb1..f49e926 100644 --- a/ZR.Service/IService/ISysUserService.cs +++ b/ZR.Service/System/IService/ISysUserService.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; using ZR.Model; using ZR.Model.System; -namespace ZR.Service.IService +namespace ZR.Service.System.IService { public interface ISysUserService : IBaseService { diff --git a/ZR.Service/System/SysDeptService.cs b/ZR.Service/System/SysDeptService.cs index 1f325ec..a99c541 100644 --- a/ZR.Service/System/SysDeptService.cs +++ b/ZR.Service/System/SysDeptService.cs @@ -10,7 +10,7 @@ using ZR.Common; using ZR.Model.System; using ZR.Model.Vo.System; using ZR.Repository.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/SysDictDataService.cs b/ZR.Service/System/SysDictDataService.cs index 4911ecc..92c7a01 100644 --- a/ZR.Service/System/SysDictDataService.cs +++ b/ZR.Service/System/SysDictDataService.cs @@ -5,7 +5,7 @@ using System.Text; using ZR.Common; using ZR.Model.System; using ZR.Repository.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/SysDictService.cs b/ZR.Service/System/SysDictService.cs index 84afc67..cf8c849 100644 --- a/ZR.Service/System/SysDictService.cs +++ b/ZR.Service/System/SysDictService.cs @@ -5,7 +5,7 @@ using System.Collections.Generic; using System.Text; using ZR.Model.System; using ZR.Repository.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/SysFileService.cs b/ZR.Service/System/SysFileService.cs index df1182d..5098a88 100644 --- a/ZR.Service/System/SysFileService.cs +++ b/ZR.Service/System/SysFileService.cs @@ -1,6 +1,6 @@ using Infrastructure.Attribute; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/SysLoginService.cs b/ZR.Service/System/SysLoginService.cs index 3cf3f9f..3a8056e 100644 --- a/ZR.Service/System/SysLoginService.cs +++ b/ZR.Service/System/SysLoginService.cs @@ -7,7 +7,7 @@ using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Repository.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/SysMenuService.cs b/ZR.Service/System/SysMenuService.cs index 98b4001..780a468 100644 --- a/ZR.Service/System/SysMenuService.cs +++ b/ZR.Service/System/SysMenuService.cs @@ -7,7 +7,7 @@ using ZR.Model.System.Vo; using ZR.Model.Vo; using ZR.Model.Vo.System; using ZR.Repository.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service { diff --git a/ZR.Service/System/SysOperLogService.cs b/ZR.Service/System/SysOperLogService.cs index cb174f8..4fa5ec3 100644 --- a/ZR.Service/System/SysOperLogService.cs +++ b/ZR.Service/System/SysOperLogService.cs @@ -5,7 +5,7 @@ using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Repository.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/SysPermissionService.cs b/ZR.Service/System/SysPermissionService.cs index e946098..607d3f9 100644 --- a/ZR.Service/System/SysPermissionService.cs +++ b/ZR.Service/System/SysPermissionService.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; using System.Text; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/SysPostService.cs b/ZR.Service/System/SysPostService.cs index 56534c0..39808a5 100644 --- a/ZR.Service/System/SysPostService.cs +++ b/ZR.Service/System/SysPostService.cs @@ -3,7 +3,7 @@ using System; using System.Collections.Generic; using System.Text; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/SysRoleService.cs b/ZR.Service/System/SysRoleService.cs index 8591f92..c42b5fd 100644 --- a/ZR.Service/System/SysRoleService.cs +++ b/ZR.Service/System/SysRoleService.cs @@ -7,8 +7,7 @@ using System.Linq; using System.Text; using ZR.Model.System; using ZR.Repository.System; -using ZR.Service.IService; -using ZR.Service.System; +using ZR.Service.System.IService; namespace ZR.Service { diff --git a/ZR.Service/System/SysTasksLogService.cs b/ZR.Service/System/SysTasksLogService.cs index 4d83262..25f56e4 100644 --- a/ZR.Service/System/SysTasksLogService.cs +++ b/ZR.Service/System/SysTasksLogService.cs @@ -1,7 +1,7 @@ using Infrastructure.Attribute; using System; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/SysTasksQzService.cs b/ZR.Service/System/SysTasksQzService.cs index 1ecbc13..1569287 100644 --- a/ZR.Service/System/SysTasksQzService.cs +++ b/ZR.Service/System/SysTasksQzService.cs @@ -1,6 +1,6 @@ using Infrastructure.Attribute; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/SysUserPostService.cs b/ZR.Service/System/SysUserPostService.cs index cf24642..c312d31 100644 --- a/ZR.Service/System/SysUserPostService.cs +++ b/ZR.Service/System/SysUserPostService.cs @@ -5,7 +5,7 @@ using System.Linq; using System.Text; using ZR.Model.System; using ZR.Repository.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/SysUserRoleService.cs b/ZR.Service/System/SysUserRoleService.cs index c3fe77f..94bdfc1 100644 --- a/ZR.Service/System/SysUserRoleService.cs +++ b/ZR.Service/System/SysUserRoleService.cs @@ -5,7 +5,7 @@ using System.Text; using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Repository.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service.System { diff --git a/ZR.Service/System/SysUserService.cs b/ZR.Service/System/SysUserService.cs index c3a0af0..23b972e 100644 --- a/ZR.Service/System/SysUserService.cs +++ b/ZR.Service/System/SysUserService.cs @@ -6,7 +6,7 @@ using System.Text; using ZR.Model; using ZR.Model.System; using ZR.Repository.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Service { diff --git a/ZR.Tasks/TaskScheduler/JobBase.cs b/ZR.Tasks/TaskScheduler/JobBase.cs index 3d5b9cd..5ed8fed 100644 --- a/ZR.Tasks/TaskScheduler/JobBase.cs +++ b/ZR.Tasks/TaskScheduler/JobBase.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.Diagnostics; using System.Threading.Tasks; using ZR.Model.System; -using ZR.Service.IService; +using ZR.Service.System.IService; namespace ZR.Tasks { From 30e1098a45de57cf591099f23d15a2c1b374c8b6 Mon Sep 17 00:00:00 2001 From: izory <791736813@qq.com> Date: Fri, 17 Sep 2021 18:19:53 +0800 Subject: [PATCH 04/31] =?UTF-8?q?=E5=BC=80=E5=8F=91=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/CodeGeneratorController.cs | 149 ++++++++- ZR.Admin.WebApi/Template/ServiceTemplate.txt | 1 - ZR.CodeGenerator/CodeGenerateTemplate.cs | 24 +- .../Service/CodeGeneraterService.cs | 17 + ZR.CodeGenerator/TableMappingHelper.cs | 7 + ZR.Model/System/Generate/GenTable.cs | 34 ++ ZR.Model/System/Generate/GenTableColumn.cs | 43 +++ ZR.Service/BaseService.cs | 2 +- ZR.Service/System/GenTableService.cs | 114 +++++++ .../System/IService/IGenTableService.cs | 30 ++ ZR.Vue/src/api/tool/gen.js | 26 +- ZR.Vue/src/views/tool/gen/editTable.vue | 225 +++++++++++++ ZR.Vue/src/views/tool/gen/genInfoForm.vue | 300 ++++++++++++++++++ ZR.Vue/src/views/tool/gen/importTable.vue | 132 ++++++++ ZR.Vue/src/views/tool/gen/index.vue | 185 ++++------- ZRAdmin.xml | 79 ++++- document/admin-sqlserver.sql | Bin 104850 -> 104950 bytes 17 files changed, 1222 insertions(+), 146 deletions(-) create mode 100644 ZR.Model/System/Generate/GenTable.cs create mode 100644 ZR.Model/System/Generate/GenTableColumn.cs create mode 100644 ZR.Service/System/GenTableService.cs create mode 100644 ZR.Service/System/IService/IGenTableService.cs create mode 100644 ZR.Vue/src/views/tool/gen/editTable.vue create mode 100644 ZR.Vue/src/views/tool/gen/genInfoForm.vue create mode 100644 ZR.Vue/src/views/tool/gen/importTable.vue diff --git a/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs b/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs index 7cffe87..c1cd221 100644 --- a/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs +++ b/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs @@ -1,15 +1,21 @@ using Infrastructure; using Infrastructure.Attribute; using Infrastructure.Enums; +using Mapster; using Microsoft.AspNetCore.Mvc; using SqlSugar; +using System; using System.Collections.Generic; using ZR.Admin.WebApi.Filters; using ZR.CodeGenerator; +using ZR.CodeGenerator.CodeGenerator; using ZR.CodeGenerator.Model; using ZR.CodeGenerator.Service; +using ZR.Common; using ZR.Model; +using ZR.Model.System.Generate; using ZR.Model.Vo; +using ZR.Service.System.IService; namespace ZR.Admin.WebApi.Controllers { @@ -20,6 +26,13 @@ namespace ZR.Admin.WebApi.Controllers public class CodeGeneratorController : BaseController { private CodeGeneraterService _CodeGeneraterService = new CodeGeneraterService(); + private IGenTableService GenTableService; + private IGenTableColumnService GenTableColumnService; + public CodeGeneratorController(IGenTableService genTableService, IGenTableColumnService genTableColumnService) + { + GenTableService = genTableService; + GenTableColumnService = genTableColumnService; + } /// /// 获取所有数据库的信息 @@ -57,15 +70,15 @@ namespace ZR.Admin.WebApi.Controllers /// /// /// - [HttpGet("getColumnInfo")] - [ActionPermissionFilter(Permission = "tool:gen:list")] - public IActionResult QueryColumnInfo(string dbName, string tableName) - { - if (string.IsNullOrEmpty(dbName) || string.IsNullOrEmpty(tableName)) - return ToRespose(ResultCode.PARAM_ERROR); + //[HttpGet("getColumnInfo")] + //[ActionPermissionFilter(Permission = "tool:gen:list")] + //public IActionResult QueryColumnInfo(string dbName, string tableName) + //{ + // if (string.IsNullOrEmpty(dbName) || string.IsNullOrEmpty(tableName)) + // return ToRespose(ResultCode.PARAM_ERROR); - return SUCCESS(_CodeGeneraterService.GetColumnInfo(dbName, tableName)); - } + // return SUCCESS(_CodeGeneraterService.GetColumnInfo(dbName, tableName)); + //} /// /// 代码生成器 @@ -86,5 +99,125 @@ namespace ZR.Admin.WebApi.Controllers return SUCCESS(dbTableInfo); } + + /// + /// 获取表详细信息 + /// + /// + /// 分页信息 + /// + [HttpGet("getGenTable")] + public IActionResult GetGenTable(string tableName, PagerInfo pagerInfo) + { + //if (string.IsNullOrEmpty(tableName)) + //{ + // throw new CustomException(ResultCode.CUSTOM_ERROR, "请求参数为空"); + //} + //查询原表数据,部分字段映射到代码生成表字段 + var rows = GenTableService.GetGenTables(new GenTable() { TableName = tableName }, pagerInfo); + + return SUCCESS(rows); + } + + /// + /// 查询表字段列表 + /// + /// + /// + [HttpGet("column/{tableId}")] + public IActionResult GetColumnList(long tableId) + { + var tableColumns = GenTableColumnService.GenTableColumns(tableId); + var tableInfo = GenTableService.GetGenTableInfo(tableId); + return SUCCESS(new { result = tableColumns, info = tableInfo }); + } + + /// + /// 代码生成删除 + /// + /// + /// + [Log(Title = "代码生成", BusinessType = BusinessType.DELETE)] + [HttpDelete("{tableIds}")] + [ActionPermissionFilter(Permission = "tool:gen:remove")] + public IActionResult Remove(string tableIds) + { + long[] tableId = Tools.SpitLongArrary(tableIds); + //TODO 带做 删除表 + return SUCCESS(""); + } + + /// + /// 导入表 + /// + /// + /// + /// + [HttpPost("importTable")] + [Log(Title = "代码生成", BusinessType = BusinessType.IMPORT)] + [ActionPermissionFilter(Permission = "tool:gen:import")] + public IActionResult ImportTableSave(string tables, string dbName) + { + if (string.IsNullOrEmpty(tables)) + { + throw new CustomException("表不能为空"); + } + string[] tableNames = tables.Split(',', StringSplitOptions.RemoveEmptyEntries); + string userName = User.Identity.Name; + + foreach (var item in tableNames) + { + var tabInfo = _CodeGeneraterService.GetTableInfo(dbName, item); + if (tabInfo != null) + { + GenTable genTable = new() + { + TableName = item, + TableComment = tabInfo.Description, + ClassName = CodeGeneratorTool.GetModelClassName(item), + CreateBy = userName, + CreateTime = DateTime.Now + }; + int rows = GenTableService.InsertGenTable(genTable); + if (rows > 0) + { + //保存列信息 + List dbColumnInfos = _CodeGeneraterService.GetColumnInfo(dbName, item); + List genTableColumns = new(); + long tableId = 0; + foreach (var column in dbColumnInfos) + { + tableId = column.TableId; + + GenTableColumn genTableColumn = new() + { + ColumnName = column.DbColumnName, + ColumnComment = column.ColumnDescription, + IsPk = column.IsPrimarykey, + ColumnType = column.DataType, + TableId = rows, + TableName = item, + CsharpType = TableMappingHelper.GetPropertyDatatype(column.DataType), + CsharpField = column.DbColumnName.Substring(0, 1).ToUpper() + column.DbColumnName[1..], + IsRequired = column.IsNullable, + IsIncrement = column.IsIdentity, + CreateBy = userName, + CreateTime = DateTime.Now, + IsInsert = true, + IsEdit = true, + IsList = true, + IsQuery = false + }; + genTableColumns.Add(genTableColumn); + } + + GenTableColumnService.DeleteGenTableColumn(tableId); + GenTableColumnService.InsertGenTableColumn(genTableColumns); + } + } + } + + return SUCCESS(1); + } } } diff --git a/ZR.Admin.WebApi/Template/ServiceTemplate.txt b/ZR.Admin.WebApi/Template/ServiceTemplate.txt index 1c88cf6..340390a 100644 --- a/ZR.Admin.WebApi/Template/ServiceTemplate.txt +++ b/ZR.Admin.WebApi/Template/ServiceTemplate.txt @@ -9,7 +9,6 @@ using System.Text; using ZR.Common; using {ModelsNamespace}.Models; using {IRepositoriesNamespace}; -using {ServicesNamespace}.IService; namespace {ServicesNamespace}.Business { diff --git a/ZR.CodeGenerator/CodeGenerateTemplate.cs b/ZR.CodeGenerator/CodeGenerateTemplate.cs index fff483e..4e9ac44 100644 --- a/ZR.CodeGenerator/CodeGenerateTemplate.cs +++ b/ZR.CodeGenerator/CodeGenerateTemplate.cs @@ -42,10 +42,16 @@ namespace ZR.CodeGenerator if (!dbFieldInfo.IsNullable && !dbFieldInfo.IsIdentity) { vueViewEditFromRuleContent += $" {dbFieldInfo.DbColumnName}: [\n"; - vueViewEditFromRuleContent += $" {{ required: true, message:\"请输入{dbFieldInfo.ColumnDescription}\", trigger: \"blur\"}},\n"; + vueViewEditFromRuleContent += $" {{ required: true, message: '请输入{dbFieldInfo.ColumnDescription}', trigger: \"blur\"}},\n"; //vueViewEditFromRuleContent += " { min: 2, max: 50, message: \"长度在 2 到 50 个字符\", trigger:\"blur\" }\n"; vueViewEditFromRuleContent += " ],\n"; } + else if (TableMappingHelper.IsNumber(dbFieldInfo.DataType)) + { + vueViewEditFromRuleContent += $" {dbFieldInfo.DbColumnName}: [\n"; + vueViewEditFromRuleContent += $" {{ type: 'number', message: '{dbFieldInfo.DbColumnName}必须为数字值', trigger: \"blur\"}},\n"; + vueViewEditFromRuleContent += " ],\n"; + } return vueViewEditFromRuleContent; } @@ -98,24 +104,26 @@ namespace ZR.CodeGenerator //图片 vueViewFromContent += $" \n"; vueViewFromContent += $" \n"; - vueViewFromContent += $" \n"; - vueViewFromContent += " \n"; - vueViewFromContent += " \n"; - vueViewFromContent += $" \n"; + vueViewFromContent += $" \n"; + vueViewFromContent += " \n"; + vueViewFromContent += " \n"; + vueViewFromContent += $" \n"; vueViewFromContent += " \n"; } else if (CodeGeneratorTool.radioFiled.Any(f => columnName.Contains(f)) && (dbFieldInfo.DataType == "bool" || dbFieldInfo.DataType == "tinyint" || dbFieldInfo.DataType == "int")) { - vueViewFromContent += $" "; + vueViewFromContent += $" \n"; vueViewFromContent += $" \n"; - vueViewFromContent += " {{dict.dictLabel}}\n"; + vueViewFromContent += " \n"; + vueViewFromContent += " \n"; vueViewFromContent += " \n"; vueViewFromContent += " \n"; } else { + string inputNumTxt = TableMappingHelper.IsNumber(dbFieldInfo.DataType) ? ".number" : ""; vueViewFromContent += $" \n"; - vueViewFromContent += $" \n"; + vueViewFromContent += $" \n"; vueViewFromContent += " \n"; } diff --git a/ZR.CodeGenerator/Service/CodeGeneraterService.cs b/ZR.CodeGenerator/Service/CodeGeneraterService.cs index f22a3bf..1e5612d 100644 --- a/ZR.CodeGenerator/Service/CodeGeneraterService.cs +++ b/ZR.CodeGenerator/Service/CodeGeneraterService.cs @@ -33,10 +33,27 @@ namespace ZR.CodeGenerator.Service { tableList = tableList.Where(f => f.Name.ToLower().Contains(tableName.ToLower())).ToList(); } + tableList = tableList.Where(f => !new string[] { "gen", "sys_" }.Contains(f.Name)).ToList(); pager.TotalNum = tableList.Count; return tableList.Skip(pager.PageSize * (pager.PageNum - 1)).Take(pager.PageSize).OrderBy(f => f.Name).ToList(); } + /// + /// 获取单表数据 + /// + /// + /// + /// + public DbTableInfo GetTableInfo(string dbName, string tableName) + { + var tableList = GetSugarDbContext(dbName).DbMaintenance.GetTableInfoList(true); + if (!string.IsNullOrEmpty(tableName)) + { + return tableList.Where(f => f.Name.ToLower() == (tableName.ToLower())).FirstOrDefault(); + } + + return null; + } /// /// 获取列信息 /// diff --git a/ZR.CodeGenerator/TableMappingHelper.cs b/ZR.CodeGenerator/TableMappingHelper.cs index 44f8e38..302b0ec 100644 --- a/ZR.CodeGenerator/TableMappingHelper.cs +++ b/ZR.CodeGenerator/TableMappingHelper.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text; using Infrastructure.Extensions; using ZR.Common.Extension; @@ -108,5 +109,11 @@ namespace ZR.CodeGenerator.CodeGenerator } return sTempDatatype; } + + public static bool IsNumber(string tableDataType) + { + string[] arr = new string[] { "int", "long" }; + return arr.Any(f => f.Replace("?", "").Contains(GetPropertyDatatype(tableDataType))); + } } } diff --git a/ZR.Model/System/Generate/GenTable.cs b/ZR.Model/System/Generate/GenTable.cs new file mode 100644 index 0000000..1d024e7 --- /dev/null +++ b/ZR.Model/System/Generate/GenTable.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ZR.Model.System.Generate +{ + /// + /// 代码生成表 + /// + [SqlSugar.SugarTable("gen_table")] + public class GenTable + { + [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; } + public string ClassName { get; set; } + public string TplCategory { get; set; } + public string PackageName { get; set; } + public string ModuleName { get; set; } + public string BusinessName { get; set; } + public string FunctionName { get; set; } + public string FunctionAuthor { get; set; } + public string GenType { get; set; } + public string Options { get; set; } + + [SqlSugar.SugarColumn(IsOnlyIgnoreUpdate = true)] + public string CreateBy { get; set; } + [SqlSugar.SugarColumn(IsOnlyIgnoreUpdate = true)] + public DateTime CreateTime { get; set; } + } +} diff --git a/ZR.Model/System/Generate/GenTableColumn.cs b/ZR.Model/System/Generate/GenTableColumn.cs new file mode 100644 index 0000000..eae7a08 --- /dev/null +++ b/ZR.Model/System/Generate/GenTableColumn.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace ZR.Model.System.Generate +{ + /// + /// 代码生成表字段 + /// + [SqlSugar.SugarTable("gen_table_column")] + public class GenTableColumn + { + [SqlSugar.SugarColumn(IsIdentity = true, IsPrimaryKey = true)] + public int ColumnId { get; set; } + public string ColumnName { get; set; } + public int TableId { get; set; } + public string TableName { get; set; } + public string ColumnComment { get; set; } + public string ColumnType { get; set; } + public string CsharpType { get; set; } + public string CsharpField { get; set; } + public bool IsPk { get; set; } + public bool IsRequired { get; set; } + public bool IsIncrement { get; set; } + /// + /// 是否插入 + /// + public bool IsInsert { get; set; } + /// + /// 是否需要编辑 + /// + public bool IsEdit { get; set; } + /// + /// isList + /// + public bool IsList { get; set; } + public bool IsQuery { get; set; } + public int Sort { get; set; } + + public string CreateBy { get; set; } + public DateTime CreateTime { get; set; } + } +} diff --git a/ZR.Service/BaseService.cs b/ZR.Service/BaseService.cs index f2d3830..23c9f61 100644 --- a/ZR.Service/BaseService.cs +++ b/ZR.Service/BaseService.cs @@ -65,7 +65,7 @@ namespace ZR.Service } /// - /// 添加或更新数据 + /// 添加或更新数据,不推荐使用了 /// /// List /// diff --git a/ZR.Service/System/GenTableService.cs b/ZR.Service/System/GenTableService.cs new file mode 100644 index 0000000..b0c3ac9 --- /dev/null +++ b/ZR.Service/System/GenTableService.cs @@ -0,0 +1,114 @@ +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using Infrastructure.Model; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZR.Model.System.Generate; +using ZR.Service.System.IService; + +namespace ZR.Service.System +{ + /// + /// 代码生成表 + /// + [AppService(ServiceType = typeof(IGenTableService), ServiceLifetime = LifeTime.Transient)] + public class GenTableService : BaseService, IGenTableService + { + /// + /// 删除表 + /// + /// + /// + public int DeleteGenTable(GenTable table) + { + return Db.Deleteable().Where(f => f.TableName == table.TableName).ExecuteCommand(); + } + + /// + /// 获取表信息 + /// + /// + /// + public GenTable GetGenTableInfo(long tableId) + { + return GetId(tableId); + } + + /// + /// 查询代码生成表信息 + /// + /// + /// + /// + public PagedInfo GetGenTables(GenTable genTable, Model.PagerInfo pagerInfo) + { + var predicate = Expressionable.Create(); + predicate = predicate.AndIF(genTable.TableName.IfNotEmpty(), it => it.TableName.Contains(genTable.TableName)); + + return GetPages(predicate.ToExpression(), pagerInfo); + } + + /// + /// 插入代码生成表 + /// + /// + /// + public int InsertGenTable(GenTable table) + { + var db = Db; + DeleteGenTable(table); + return db.Insertable(table).ExecuteReturnIdentity(); + } + + /// + /// 获取表数据 + /// + /// + /// + public List SelectDbTableListByNamess(string[] tableNames) + { + throw new NotImplementedException(); + } + } + + /// + /// 代码生成表列 + /// + [AppService(ServiceType = typeof(IGenTableColumnService), ServiceLifetime = LifeTime.Transient)] + public class GenTableColumnService : BaseService, IGenTableColumnService + { + /// + /// 删除表字段 + /// + /// + /// + public int DeleteGenTableColumn(long tableId) + { + return Db.Deleteable().Where(f => f.TableId == tableId).ExecuteCommand(); + } + + /// + /// 获取表所有字段 + /// + /// + /// + public List GenTableColumns(long tableId) + { + return GetAll().OrderBy(x => x.Sort).ToList(); + } + + /// + /// 插入表字段 + /// + /// + /// + public int InsertGenTableColumn(List tableColumn) + { + return Db.Insertable(tableColumn).ExecuteCommand(); + } + } +} diff --git a/ZR.Service/System/IService/IGenTableService.cs b/ZR.Service/System/IService/IGenTableService.cs new file mode 100644 index 0000000..91aabd2 --- /dev/null +++ b/ZR.Service/System/IService/IGenTableService.cs @@ -0,0 +1,30 @@ +using Infrastructure.Model; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZR.Model.System.Generate; + +namespace ZR.Service.System.IService +{ + public interface IGenTableService + { + List SelectDbTableListByNamess(string[] tableNames); + + int InsertGenTable(GenTable tables); + + int DeleteGenTable(GenTable table); + PagedInfo GetGenTables(GenTable genTable, Model.PagerInfo pagerInfo); + GenTable GetGenTableInfo(long tableId); + } + + public interface IGenTableColumnService + { + int InsertGenTableColumn(List tableColumn); + + int DeleteGenTableColumn(long tableId); + + List GenTableColumns(long tableId); + } +} diff --git a/ZR.Vue/src/api/tool/gen.js b/ZR.Vue/src/api/tool/gen.js index 93d7a27..747e7b8 100644 --- a/ZR.Vue/src/api/tool/gen.js +++ b/ZR.Vue/src/api/tool/gen.js @@ -30,7 +30,7 @@ export function codeGetDBList() { /** * 获取数据库表 */ -export function codeGetTableList(data) { +export function listDbTable(data) { return request({ url: 'tool/gen/getTableList', method: 'get', @@ -53,14 +53,32 @@ export async function codeGenerator(data) { * @param {*} data * @returns */ -export function queryColumnInfo(data) { +export function queryColumnInfo(tableId) { return request({ - url: 'tool/gen/getColumnInfo', + url: 'tool/gen/Column/' + tableId, method: 'GET', - params: data, }) } + +// 查询表详细信息 +export function getGenTable(params) { + return request({ + url: 'tool/gen/getGenTable', + method: 'get', + params: params + }) +} +// 导入表 +export function importTable(data) { + return request({ + url: '/tool/gen/importTable', + method: 'post', + params: data + }) +} + + // /** // * // * 数据库解密 diff --git a/ZR.Vue/src/views/tool/gen/editTable.vue b/ZR.Vue/src/views/tool/gen/editTable.vue new file mode 100644 index 0000000..80e7549 --- /dev/null +++ b/ZR.Vue/src/views/tool/gen/editTable.vue @@ -0,0 +1,225 @@ + + diff --git a/ZR.Vue/src/views/tool/gen/genInfoForm.vue b/ZR.Vue/src/views/tool/gen/genInfoForm.vue new file mode 100644 index 0000000..27d6a22 --- /dev/null +++ b/ZR.Vue/src/views/tool/gen/genInfoForm.vue @@ -0,0 +1,300 @@ + + diff --git a/ZR.Vue/src/views/tool/gen/importTable.vue b/ZR.Vue/src/views/tool/gen/importTable.vue new file mode 100644 index 0000000..93abb0d --- /dev/null +++ b/ZR.Vue/src/views/tool/gen/importTable.vue @@ -0,0 +1,132 @@ + + + diff --git a/ZR.Vue/src/views/tool/gen/index.vue b/ZR.Vue/src/views/tool/gen/index.vue index 49df8e1..7b9855c 100644 --- a/ZR.Vue/src/views/tool/gen/index.vue +++ b/ZR.Vue/src/views/tool/gen/index.vue @@ -1,23 +1,23 @@ diff --git a/ZRAdmin.xml b/ZRAdmin.xml index 8133d63..cd83250 100644 --- a/ZRAdmin.xml +++ b/ZRAdmin.xml @@ -27,6 +27,47 @@ + + + 代码自动生成 + + + + + 接口 + + + + + 查询列表 + + + + + + 查询详情 + + + + + + + 添加 + + + + + + 更新 + + + + + + 删除 + + + 代码生成 @@ -47,14 +88,6 @@ 分页信息 - - - 获取表格列 - - - - - 代码生成器 @@ -62,6 +95,36 @@ 数据传输对象 + + + 获取表详细信息 + + + 分页信息 + + + + + 查询表字段列表 + + + + + + + 代码生成删除 + + + + + + + 导入表 + + + + + 心跳 diff --git a/document/admin-sqlserver.sql b/document/admin-sqlserver.sql index f7f556fb62b03d4c513a3d8805fd48ee153e8444..49a10ca92bdb4ec1c4954a654b24cae19463597c 100644 GIT binary patch delta 839 zcmZ`%O-~b16urk12xHNPrVuTd!KjIe1=NL!AyPp~>PH1Kx-roLt!ZPe2%1P*>J&jr zr50v@YhsKG7j8*t(zp?}x-gQs#R zJv7P4;yiCI7=qTk4Ob_wf2yo`sE3b zM)lQ;qgk}^&ODUE<=d4QDyimKI4_)|PC8wEhR%>m9$Ar0gVsQbR4R?qBa!{7=o1&| zMTe6WgKGF&RxVL8$i+%ptlPBPIrs`AyVoxJSr*jCT?=p=8Knt|h~DEgCUZ~9J1ldQ z=i~#t-CJZ#6DPAf{H=*EaBts@Xh`arh5GzH|l@w{A6-0`l;Lbl#bSH=lSK`Lvok@e@LIz&Wd*^WPxzEgx<)E`1EUn?St=mqkNQ%;I~5teD5Czy)kleEUbUN&)#y37#*8@wn z__U5Jzs;k^T^I^+PaQTt_M?r%7Q$`}VGif@=rc6s*E-HPW1-dSQ+OZH_CCBvEfL{} zi_X@fLB6pOqftPJyKHoKB;=N|8&_(XCO?mKmq*&*`6`CEY2$$QN^pM_t{;A>is_xF zeF=lDrM>E&2rWoVH*{#Z84NtUtk{dNF zsz|f=z!$gKJBR1~V5PR#OSa(OiVi-wYq1dTI*2wLbb5cr5x#Y?@?U~Vc2;pwaapTt I4Xg)#1Is$god5s; From 8c8c205393b5334c3e228c260898f38fbd2acaa2 Mon Sep 17 00:00:00 2001 From: izory <791736813@qq.com> Date: Sat, 18 Sep 2021 16:10:34 +0800 Subject: [PATCH 05/31] =?UTF-8?q?=E5=BC=80=E5=8F=91=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E8=87=AA=E5=AE=9A=E4=B9=89=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Infrastructure/OptionsSetting.cs | 2 + .../Controllers/CodeGeneratorController.cs | 91 ++++++++++---- ZR.Admin.WebApi/Extensions/EntityExtension.cs | 34 ++--- ZR.CodeGenerator/CodeGenerateOption.cs | 2 +- ZR.CodeGenerator/CodeGenerateTemplate.cs | 104 ++++++++------- ZR.CodeGenerator/CodeGeneratorTool.cs | 57 +++++---- ZR.CodeGenerator/DbProvider.cs | 4 +- ZR.CodeGenerator/GenConstants.cs | 119 ++++++++++++++++++ ZR.CodeGenerator/Model/GenerateDto.cs | 1 + ZR.CodeGenerator/TableMappingHelper.cs | 20 +-- ZR.Model/System/Dto/GenTableDto.cs | 68 ++++++++++ ZR.Model/System/Generate/GenTable.cs | 12 +- ZR.Model/System/Generate/GenTableColumn.cs | 29 ++++- ZR.Model/System/SysBase.cs | 2 - ZR.Service/System/GenTableService.cs | 77 ++++++++++-- .../System/IService/IGenTableService.cs | 12 +- ZR.Vue/src/api/tool/gen.js | 16 +++ ZR.Vue/src/views/tool/gen/editTable.vue | 1 + ZR.Vue/src/views/tool/gen/genInfoForm.vue | 102 ++++++--------- ZR.Vue/src/views/tool/gen/index.vue | 38 ++++-- ZRAdmin.xml | 49 ++------ document/admin-sqlserver.sql | Bin 104950 -> 105038 bytes 22 files changed, 573 insertions(+), 267 deletions(-) create mode 100644 ZR.CodeGenerator/GenConstants.cs create mode 100644 ZR.Model/System/Dto/GenTableDto.cs diff --git a/Infrastructure/OptionsSetting.cs b/Infrastructure/OptionsSetting.cs index fb677bb..c66f988 100644 --- a/Infrastructure/OptionsSetting.cs +++ b/Infrastructure/OptionsSetting.cs @@ -11,6 +11,8 @@ namespace Infrastructure public static string DbType = "DbType"; public static string CodeGenDbType = "CodeGenDbType"; public static string DbKey = "DbKey"; + public static string Gen_conn = "gen:conn"; + public static string Gen_conn_dbType = "gen:dbType"; public string Conn_Admin { get; set; } diff --git a/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs b/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs index c1cd221..4287484 100644 --- a/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs +++ b/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs @@ -6,6 +6,8 @@ using Microsoft.AspNetCore.Mvc; using SqlSugar; using System; using System.Collections.Generic; +using System.Linq; +using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; using ZR.CodeGenerator; using ZR.CodeGenerator.CodeGenerator; @@ -13,6 +15,7 @@ using ZR.CodeGenerator.Model; using ZR.CodeGenerator.Service; using ZR.Common; using ZR.Model; +using ZR.Model.System.Dto; using ZR.Model.System.Generate; using ZR.Model.Vo; using ZR.Service.System.IService; @@ -90,12 +93,15 @@ namespace ZR.Admin.WebApi.Controllers [ActionPermissionFilter(Permission = "tool:gen:code")] public IActionResult Generate([FromBody] GenerateDto dto) { - if (string.IsNullOrEmpty(dto.tableName)) + if (string.IsNullOrEmpty(dto.tableName) || dto.TableId <= 0) { throw new CustomException(ResultCode.CUSTOM_ERROR, "请求参数为空"); } + var genTableInfo = GenTableService.GetGenTableInfo(dto.TableId); + var getTableColumn = GenTableColumnService.GenTableColumns(dto.TableId); + genTableInfo.Columns = getTableColumn; DbTableInfo dbTableInfo = new() { Name = dto.tableName }; - CodeGeneratorTool.Generate(dbTableInfo, dto); + CodeGeneratorTool.Generate(genTableInfo, dto); return SUCCESS(dbTableInfo); } @@ -133,7 +139,7 @@ namespace ZR.Admin.WebApi.Controllers } /// - /// 代码生成删除 + /// 删除代码生成 /// /// /// @@ -143,8 +149,9 @@ namespace ZR.Admin.WebApi.Controllers public IActionResult Remove(string tableIds) { long[] tableId = Tools.SpitLongArrary(tableIds); - //TODO 带做 删除表 - return SUCCESS(""); + + GenTableService.DeleteGenTableByIds(tableId); + return SUCCESS(1); } /// @@ -165,53 +172,73 @@ namespace ZR.Admin.WebApi.Controllers string[] tableNames = tables.Split(',', StringSplitOptions.RemoveEmptyEntries); string userName = User.Identity.Name; - foreach (var item in tableNames) + foreach (var tableName in tableNames) { - var tabInfo = _CodeGeneraterService.GetTableInfo(dbName, item); + var tabInfo = _CodeGeneraterService.GetTableInfo(dbName, tableName); if (tabInfo != null) { GenTable genTable = new() { - TableName = item, + BaseNameSpace = "ZR.", + ModuleName = "bus", + ClassName = CodeGeneratorTool.GetClassName(tableName), + BusinessName = CodeGeneratorTool.GetClassName(tableName), + FunctionAuthor = ConfigUtils.Instance.GetConfig("gen:author"), + FunctionName = tabInfo.Description, + TableName = tableName, TableComment = tabInfo.Description, - ClassName = CodeGeneratorTool.GetModelClassName(item), - CreateBy = userName, - CreateTime = DateTime.Now + Create_by = userName, }; - int rows = GenTableService.InsertGenTable(genTable); + int rows = GenTableService.ImportGenTable(genTable); if (rows > 0) { //保存列信息 - List dbColumnInfos = _CodeGeneraterService.GetColumnInfo(dbName, item); + List dbColumnInfos = _CodeGeneraterService.GetColumnInfo(dbName, tableName); List genTableColumns = new(); - long tableId = 0; foreach (var column in dbColumnInfos) { - tableId = column.TableId; - GenTableColumn genTableColumn = new() { - ColumnName = column.DbColumnName, + ColumnName = CodeGeneratorTool.FirstLowerCase(column.DbColumnName), ColumnComment = column.ColumnDescription, IsPk = column.IsPrimarykey, ColumnType = column.DataType, TableId = rows, - TableName = item, + TableName = tableName, CsharpType = TableMappingHelper.GetPropertyDatatype(column.DataType), CsharpField = column.DbColumnName.Substring(0, 1).ToUpper() + column.DbColumnName[1..], IsRequired = column.IsNullable, IsIncrement = column.IsIdentity, - CreateBy = userName, - CreateTime = DateTime.Now, + Create_by = userName, + Create_time = DateTime.Now, IsInsert = true, IsEdit = true, IsList = true, - IsQuery = false + IsQuery = false, + HtmlType = GenConstants.HTML_INPUT }; + + if (CodeGeneratorTool.imageFiled.Any(f => column.DbColumnName.ToLower().Contains(f.ToLower()))) + { + genTableColumn.HtmlType = GenConstants.HTML_IMAGE_UPLOAD; + } + if (genTableColumn.CsharpType.ToLower().Contains("datetime")) + { + genTableColumn.HtmlType = GenConstants.HTML_DATETIME; + } + if (CodeGeneratorTool.radioFiled.Any(f => column.DbColumnName.Contains(f))) + { + genTableColumn.HtmlType = GenConstants.HTML_RADIO; + } + if (column.Length > 200) + { + genTableColumn.HtmlType = GenConstants.HTML_TEXTAREA; + } + genTableColumns.Add(genTableColumn); } - GenTableColumnService.DeleteGenTableColumn(tableId); + GenTableColumnService.DeleteGenTableColumnByTableName(tableName); GenTableColumnService.InsertGenTableColumn(genTableColumns); } } @@ -219,5 +246,25 @@ namespace ZR.Admin.WebApi.Controllers return SUCCESS(1); } + + /// + /// 代码生成保存 + /// + /// + [HttpPut()] + //[Log(Title = "代码生成", BusinessType = BusinessType.UPDATE)] + [ActionPermissionFilter(Permission = "tool:gen:edit")] + public IActionResult EditSave([FromBody]GenTableDto genTableDto) + { + if (genTableDto == null) throw new CustomException("请求参数错误"); + var genTable = genTableDto.Adapt().ToUpdate(); + + int rows = GenTableService.UpdateGenTable(genTable); + if (rows > 0) + { + GenTableColumnService.UpdateGenTableColumn(genTable.Columns); + } + return SUCCESS(rows); + } } } diff --git a/ZR.Admin.WebApi/Extensions/EntityExtension.cs b/ZR.Admin.WebApi/Extensions/EntityExtension.cs index c472ed5..2dfb6b3 100644 --- a/ZR.Admin.WebApi/Extensions/EntityExtension.cs +++ b/ZR.Admin.WebApi/Extensions/EntityExtension.cs @@ -49,27 +49,27 @@ namespace ZR.Admin.WebApi.Extensions return source; } - //public static TSource ToUpdate(this TSource source, UserSessionVM userSession) - //{ - // var types = source.GetType(); + public static TSource ToUpdate(this TSource source, HttpContext context = null) + { + var types = source.GetType(); - // if (types.GetProperty("UpdateTime") != null) - // { - // types.GetProperty("UpdateTime").SetValue(source, DateTime.Now, null); - // } + if (types.GetProperty("UpdateTime") != null) + { + types.GetProperty("UpdateTime").SetValue(source, DateTime.Now, null); + } - // if (types.GetProperty("UpdateID") != null) - // { - // types.GetProperty("UpdateID").SetValue(source, userSession.UserID, null); - // } + //if (types.GetProperty("UpdateID") != null) + //{ + // types.GetProperty("UpdateID").SetValue(source, userSession.UserID, null); + //} - // if (types.GetProperty("UpdateName") != null) - // { - // types.GetProperty("UpdateName").SetValue(source, userSession.UserName, null); - // } + if (types.GetProperty("UpdateBy") != null) + { + types.GetProperty("UpdateBy").SetValue(source,context.GetName(), null); + } - // return source; - //} + return source; + } } } diff --git a/ZR.CodeGenerator/CodeGenerateOption.cs b/ZR.CodeGenerator/CodeGenerateOption.cs index abb237f..a3bad7f 100644 --- a/ZR.CodeGenerator/CodeGenerateOption.cs +++ b/ZR.CodeGenerator/CodeGenerateOption.cs @@ -49,6 +49,6 @@ namespace ZR.CodeGenerator /// /// 要生数据的表,用“,”分割 /// - public string TableList { get; set; } + //public string TableList { get; set; } } } diff --git a/ZR.CodeGenerator/CodeGenerateTemplate.cs b/ZR.CodeGenerator/CodeGenerateTemplate.cs index 4e9ac44..56af855 100644 --- a/ZR.CodeGenerator/CodeGenerateTemplate.cs +++ b/ZR.CodeGenerator/CodeGenerateTemplate.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using ZR.CodeGenerator.CodeGenerator; +using ZR.Model.System.Generate; namespace ZR.CodeGenerator { @@ -20,11 +21,11 @@ namespace ZR.CodeGenerator /// /// /// - public static string GetVueJsMethod(DbColumnInfo dbColumnInfo) + public static string GetVueJsMethod(GenTableColumn dbColumnInfo) { - string columnName = CodeGeneratorTool.FirstLowerCase(dbColumnInfo.DbColumnName); + string columnName = dbColumnInfo.ColumnName; string js = ""; - if (CodeGeneratorTool.imageFiled.Any(f => columnName.Contains(f))) + if (dbColumnInfo.HtmlType.Equals(GenConstants.HTML_IMAGE_UPLOAD)) { js += $"handleUpload{columnName}Success(res, file) {{\n"; js += $" this.form.{columnName} = URL.createObjectURL(file.raw);\n"; @@ -35,21 +36,20 @@ namespace ZR.CodeGenerator } //rules - public static string GetFormRules(DbColumnInfo dbFieldInfo) + public static string GetFormRules(GenTableColumn dbFieldInfo) { string vueViewEditFromRuleContent = ""; //Rule 规则验证 - if (!dbFieldInfo.IsNullable && !dbFieldInfo.IsIdentity) + if (!dbFieldInfo.IsPk && !dbFieldInfo.IsIncrement) { - vueViewEditFromRuleContent += $" {dbFieldInfo.DbColumnName}: [\n"; - vueViewEditFromRuleContent += $" {{ required: true, message: '请输入{dbFieldInfo.ColumnDescription}', trigger: \"blur\"}},\n"; - //vueViewEditFromRuleContent += " { min: 2, max: 50, message: \"长度在 2 到 50 个字符\", trigger:\"blur\" }\n"; + vueViewEditFromRuleContent += $" {dbFieldInfo.ColumnName}: [\n"; + vueViewEditFromRuleContent += $" {{ required: true, message: '请输入{dbFieldInfo.ColumnComment}', trigger: \"blur\"}},\n"; vueViewEditFromRuleContent += " ],\n"; } - else if (TableMappingHelper.IsNumber(dbFieldInfo.DataType)) + else if (TableMappingHelper.IsNumber(dbFieldInfo.ColumnType) && dbFieldInfo.IsRequired) { - vueViewEditFromRuleContent += $" {dbFieldInfo.DbColumnName}: [\n"; - vueViewEditFromRuleContent += $" {{ type: 'number', message: '{dbFieldInfo.DbColumnName}必须为数字值', trigger: \"blur\"}},\n"; + vueViewEditFromRuleContent += $" {dbFieldInfo.ColumnName}: [\n"; + vueViewEditFromRuleContent += $" {{ type: 'number', message: '{dbFieldInfo.ColumnName}必须为数字值', trigger: \"blur\"}},\n"; vueViewEditFromRuleContent += " ],\n"; } @@ -57,49 +57,49 @@ namespace ZR.CodeGenerator } //model 属性 - public static string GetModelTemplate(DbColumnInfo dbFieldInfo) + public static string GetModelTemplate(GenTableColumn dbFieldInfo) { - string columnName = dbFieldInfo.DbColumnName.Substring(0, 1).ToUpper() + dbFieldInfo.DbColumnName[1..]; var modelcontent = ""; modelcontent += " /// \n"; - modelcontent += $" /// 描述 :{dbFieldInfo.ColumnDescription}\n"; - modelcontent += $" /// 空值 :{dbFieldInfo.IsNullable}\n"; - modelcontent += $" /// 默认 :{dbFieldInfo.DefaultValue}\n"; + modelcontent += $" /// 描述 :{dbFieldInfo.ColumnComment}\n"; + modelcontent += $" /// 空值 :{dbFieldInfo.IsRequired}\n"; modelcontent += " /// \n"; - if (dbFieldInfo.IsIdentity || dbFieldInfo.IsPrimarykey) + if (dbFieldInfo.IsPk || dbFieldInfo.IsIncrement) { - modelcontent += $" [SqlSugar.SugarColumn(IsPrimaryKey = {dbFieldInfo.IsPrimarykey.ToString().ToLower()}, IsIdentity = {dbFieldInfo.IsIdentity.ToString().ToLower()})]\n"; + modelcontent += $" [SqlSugar.SugarColumn(IsPrimaryKey = {dbFieldInfo.IsPk.ToString().ToLower()}, IsIdentity = {dbFieldInfo.IsIncrement.ToString().ToLower()})]\n"; } - modelcontent += $" public {TableMappingHelper.GetPropertyDatatype(dbFieldInfo.DataType)} {columnName} {{ get; set; }}\n\r"; + modelcontent += $" public {dbFieldInfo.CsharpType} {dbFieldInfo.CsharpField} {{ get; set; }}\n\r"; return modelcontent; } //DTO model - public static string GetDtoContent(DbColumnInfo dbFieldInfo) + public static string GetDtoContent(GenTableColumn dbFieldInfo) { - string columnName = dbFieldInfo.DbColumnName.Substring(0, 1).ToUpper() + dbFieldInfo.DbColumnName[1..]; string InputDtoContent = ""; - InputDtoContent += $" public {TableMappingHelper.GetPropertyDatatype(dbFieldInfo.DataType)} {columnName} {{ get; set; }}\n\r"; + if (dbFieldInfo.IsInsert || dbFieldInfo.IsEdit) + { + InputDtoContent += $" public {dbFieldInfo.CsharpType} {dbFieldInfo.CsharpField} {{ get; set; }}\n\r"; + } return InputDtoContent; } //form-item - public static string GetVueViewFormContent(DbColumnInfo dbFieldInfo) + public static string GetVueViewFormContent(GenTableColumn dbFieldInfo) { - string columnName = CodeGeneratorTool.FirstLowerCase(dbFieldInfo.DbColumnName); - string labelName = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnDescription, columnName); + string columnName = dbFieldInfo.ColumnName; + string labelName = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, columnName); string vueViewFromContent = ""; - string labelDisabled = dbFieldInfo.IsIdentity ? ":disabled=\"true\"" : ""; - string placeHolder = dbFieldInfo.IsIdentity ? "" : $"请输入{CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnDescription, columnName)}"; + string labelDisabled = dbFieldInfo.IsPk ? ":disabled=\"true\"" : ""; + string placeHolder = dbFieldInfo.IsIncrement ? "" : $"请输入{labelName}"; - if (dbFieldInfo.DataType == "datetime") + if (dbFieldInfo.HtmlType == GenConstants.HTML_DATETIME) { //时间 vueViewFromContent += $" \n"; vueViewFromContent += $" \n"; vueViewFromContent += " \n"; } - else if (CodeGeneratorTool.imageFiled.Any(f => columnName.Contains(f))) + else if (dbFieldInfo.HtmlType == GenConstants.HTML_IMAGE_UPLOAD) { //图片 vueViewFromContent += $" \n"; @@ -110,7 +110,7 @@ namespace ZR.CodeGenerator vueViewFromContent += $" \n"; vueViewFromContent += " \n"; } - else if (CodeGeneratorTool.radioFiled.Any(f => columnName.Contains(f)) && (dbFieldInfo.DataType == "bool" || dbFieldInfo.DataType == "tinyint" || dbFieldInfo.DataType == "int")) + else if (dbFieldInfo.HtmlType == GenConstants.HTML_RADIO) { vueViewFromContent += $" \n"; vueViewFromContent += $" \n"; @@ -119,10 +119,16 @@ namespace ZR.CodeGenerator vueViewFromContent += " \n"; vueViewFromContent += " \n"; } + else if (dbFieldInfo.HtmlType == GenConstants.HTML_TEXTAREA) + { + vueViewFromContent += $" \n"; + vueViewFromContent += $" \n"; + vueViewFromContent += " \n"; + } else { - string inputNumTxt = TableMappingHelper.IsNumber(dbFieldInfo.DataType) ? ".number" : ""; - vueViewFromContent += $" \n"; + string inputNumTxt = TableMappingHelper.IsNumber(dbFieldInfo.CsharpType) ? ".number" : ""; + vueViewFromContent += $" \n"; vueViewFromContent += $" \n"; vueViewFromContent += " \n"; } @@ -131,14 +137,18 @@ namespace ZR.CodeGenerator } //table-column - public static string GetTableColumn(DbColumnInfo dbFieldInfo) + public static string GetTableColumn(GenTableColumn dbFieldInfo) { - string columnName = CodeGeneratorTool.FirstLowerCase(dbFieldInfo.DbColumnName); - string label = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnDescription, columnName); + string columnName = dbFieldInfo.ColumnName; + string label = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, columnName); string vueViewListContent = ""; - string showToolTip = dbFieldInfo.DataType.Contains("varchar") ? ":show-overflow-tooltip=\"true\"" : ""; + string showToolTip = dbFieldInfo.ColumnType.Contains("varchar") ? ":show-overflow-tooltip=\"true\"" : ""; + if (!dbFieldInfo.IsQuery) + { + return vueViewListContent; + } - if (CodeGeneratorTool.imageFiled.Any(f => columnName.ToLower().Contains(f))) + if (dbFieldInfo.HtmlType.Equals(GenConstants.HTML_IMAGE_UPLOAD)) { vueViewListContent += $" \n"; vueViewListContent += " \n"; vueViewListContent += " \n"; } - else if (dbFieldInfo.DataType == "bool" || dbFieldInfo.DataType == "tinyint") - { - vueViewListContent += $" \n"; - vueViewListContent += " \n"; - vueViewListContent += " \n"; - } + //else if (dbFieldInfo.HtmlType.Equals(GenConstants.HTML_RADIO)) + //{ + // vueViewListContent += $" \n"; + // vueViewListContent += " \n"; + // vueViewListContent += " \n"; + //} else { //table-column - vueViewListContent += $" \n"; + vueViewListContent += $" \n"; } return vueViewListContent; } diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs index 6538bcd..f25a97f 100644 --- a/ZR.CodeGenerator/CodeGeneratorTool.cs +++ b/ZR.CodeGenerator/CodeGeneratorTool.cs @@ -1,10 +1,12 @@ -using SqlSugar; +using Infrastructure; +using SqlSugar; using System; using System.Collections.Generic; using System.IO; using System.Linq; using ZR.CodeGenerator.Model; using ZR.CodeGenerator.Service; +using ZR.Model.System.Generate; namespace ZR.CodeGenerator { @@ -33,7 +35,7 @@ namespace ZR.CodeGenerator /// /// /// - public static void Generate(DbTableInfo dbTableInfo, GenerateDto dto) + public static void Generate(GenTable dbTableInfo, GenerateDto dto) { _option.BaseNamespace = "ZR."; //_option.TableList = listTable; @@ -46,9 +48,9 @@ namespace ZR.CodeGenerator _option.ServicesNamespace = _option.BaseNamespace + "Service"; _option.ApiControllerNamespace = _option.BaseNamespace + "Admin.WebApi"; - CodeGeneraterService codeGeneraterService = new(); - List listField = codeGeneraterService.GetColumnInfo(dto.dbName, dbTableInfo.Name); - GenerateSingle(listField, dbTableInfo, dto); + //CodeGeneraterService codeGeneraterService = new(); + //List listField = codeGeneraterService.GetColumnInfo(dto.dbName, dbTableInfo.TableName); + GenerateSingle(dbTableInfo?.Columns, dbTableInfo, dto); //GenerateDtoProfile(_option.ModelsNamespace, profileContent, ifExsitedCovered); } @@ -59,9 +61,9 @@ namespace ZR.CodeGenerator /// 表字段集合 /// 表信息 /// - public static void GenerateSingle(List listField, DbTableInfo tableInfo, GenerateDto dto) + public static void GenerateSingle(List listField, GenTable tableInfo, GenerateDto dto) { - var modelTypeName = GetModelClassName(tableInfo.Name);//表名对应C# 实体类名 + var modelTypeName = tableInfo.ClassName;//表名对应C# 实体类名 var primaryKey = "id";//主键 string keyTypeName = "int";//主键数据类型 @@ -77,26 +79,24 @@ namespace ZR.CodeGenerator string vueViewEditFromRuleContent = string.Empty;//Vue数据校验 string vueJsMethod = string.Empty;//Vue js自定义方法 - foreach (DbColumnInfo dbFieldInfo in listField) + foreach (GenTableColumn dbFieldInfo in listField) { - string columnName = FirstLowerCase(dbFieldInfo.DbColumnName); + string columnName = dbFieldInfo.ColumnName; - if (dbFieldInfo.DataType == "bool" || dbFieldInfo.DataType == "tinyint") + if (dbFieldInfo.ColumnType == "bool" || dbFieldInfo.ColumnType == "tinyint") { vueViewEditFromContent += $" {columnName}: 'true',\n"; - //vueViewEditFromBindContent += $" this.form.{columnName} = res.data.{0}+''\n"; } else { vueViewEditFromContent += $" {columnName}: undefined,\n"; - //vueViewEditFromBindContent += $" {columnName}: row.{columnName},\n"; } //vueViewSaveBindContent += string.Format(" '{0}':this.editFrom.{0},\n", columnName); //主键 - if (dbFieldInfo.IsIdentity || dbFieldInfo.IsPrimarykey) + if (dbFieldInfo.IsPk || dbFieldInfo.IsIncrement) { primaryKey = columnName.Substring(0, 1).ToUpper() + columnName[1..]; - keyTypeName = dbFieldInfo.DataType; + keyTypeName = dbFieldInfo.CsharpType; } else { @@ -104,7 +104,6 @@ namespace ZR.CodeGenerator updateColumn += $" {tempColumnName} = parm.{tempColumnName},\n"; } - dbFieldInfo.DbColumnName = columnName; modelContent += CodeGenerateTemplate.GetModelTemplate(dbFieldInfo); vueViewFormContent += CodeGenerateTemplate.GetVueViewFormContent(dbFieldInfo); vueJsMethod += CodeGenerateTemplate.GetVueJsMethod(dbFieldInfo); @@ -117,8 +116,8 @@ namespace ZR.CodeGenerator replaceDto.PrimaryKey = primaryKey; replaceDto.ModelTypeName = modelTypeName; replaceDto.ModelProperty = modelContent; - replaceDto.TableName = tableInfo.Name; - replaceDto.TableDesc = tableInfo.Description; + replaceDto.TableName = tableInfo.TableName; + replaceDto.TableDesc = tableInfo.TableComment; replaceDto.InputDtoProperty = InputDtoContent; replaceDto.updateColumn = updateColumn; replaceDto.VueJsMethod = vueJsMethod; @@ -407,19 +406,29 @@ namespace ZR.CodeGenerator /// /// 如果有前缀替换将前缀替换成空,替换下划线"_"为空再将首字母大写 + /// 表名转换成C#类名 /// - /// + /// /// - public static string GetModelClassName(string modelTypeName) + public static string GetClassName(string tableName) { - if (!string.IsNullOrEmpty(_option.ReplaceTableNameStr)) + bool autoRemovePre = ConfigUtils.Instance.GetAppConfig("gen:autoPre", false); + string tablePrefix = ConfigUtils.Instance.GetAppConfig("gen:tablePrefix"); + + if (!string.IsNullOrEmpty(tablePrefix) && autoRemovePre) { - modelTypeName = modelTypeName.Replace(_option.ReplaceTableNameStr.ToString(), ""); + string[] searcList = tablePrefix.Split(",",StringSplitOptions.RemoveEmptyEntries); + for (int i = 0; i < searcList.Length; i++) + { + if (!string.IsNullOrEmpty(searcList[i].ToString())) + { + tableName = tableName.Replace(searcList[i].ToString(), ""); + } + } } - modelTypeName = modelTypeName.Replace("_", ""); - modelTypeName = modelTypeName.Substring(0, 1).ToUpper() + modelTypeName[1..]; - return modelTypeName; + return tableName.Substring(0, 1).ToUpper() + tableName[1..].Replace("_", ""); } + /// /// 首字母转小写,输出前端 /// diff --git a/ZR.CodeGenerator/DbProvider.cs b/ZR.CodeGenerator/DbProvider.cs index 56525f3..3da9e12 100644 --- a/ZR.CodeGenerator/DbProvider.cs +++ b/ZR.CodeGenerator/DbProvider.cs @@ -19,8 +19,8 @@ namespace ZR.CodeGenerator /// public SqlSugarScope GetSugarDbContext(string dbName = "") { - string connStr = ConfigUtils.Instance.GetConnectionStrings(OptionsSetting.Conn).Replace("{database}", dbName); - int dbType = ConfigUtils.Instance.GetAppConfig(OptionsSetting.CodeGenDbType, 0); + string connStr = ConfigUtils.Instance.GetConfig(OptionsSetting.Gen_conn).Replace("{database}", dbName); + int dbType = ConfigUtils.Instance.GetAppConfig(OptionsSetting.Gen_conn_dbType, 0); if (string.IsNullOrEmpty(dbName)) { connStr = ConfigUtils.Instance.GetConnectionStrings(OptionsSetting.ConnAdmin); diff --git a/ZR.CodeGenerator/GenConstants.cs b/ZR.CodeGenerator/GenConstants.cs new file mode 100644 index 0000000..df1e440 --- /dev/null +++ b/ZR.CodeGenerator/GenConstants.cs @@ -0,0 +1,119 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZR.CodeGenerator +{ + /// + /// 代码生成常量 + /// + public class GenConstants + { + /** 单表(增删改查) */ + public static string TPL_CRUD = "crud"; + + /** 树表(增删改查) */ + public static string TPL_TREE = "tree"; + + /** 主子表(增删改查) */ + public static string TPL_SUB = "sub"; + + /** 树编码字段 */ + public static string TREE_CODE = "treeCode"; + + /** 树父编码字段 */ + public static string TREE_PARENT_CODE = "treeParentCode"; + + /** 树名称字段 */ + public static string TREE_NAME = "treeName"; + + /** 上级菜单ID字段 */ + public static string PARENT_MENU_ID = "parentMenuId"; + + /** 上级菜单名称字段 */ + public static string PARENT_MENU_NAME = "parentMenuName"; + + /** 数据库字符串类型 */ + public static string[] COLUMNTYPE_STR = { "char", "varchar", "nvarchar", "varchar2" }; + + /** 数据库文本类型 */ + public static string[] COLUMNTYPE_TEXT = { "tinytext", "text", "mediumtext", "longtext" }; + + /** 数据库时间类型 */ + public static string[] COLUMNTYPE_TIME = { "datetime", "time", "date", "timestamp" }; + + /** 数据库数字类型 */ + public static string[] COLUMNTYPE_NUMBER = { "tinyint", "smallint", "mediumint", "int", "number", "integer", + "bit", "bigint", "float", "double", "decimal" }; + + /** 页面不需要编辑字段 */ + public static string[] COLUMNNAME_NOT_EDIT = { "id", "create_by", "create_time", "del_flag" }; + + /** 页面不需要显示的列表字段 */ + public static string[] COLUMNNAME_NOT_LIST = { "id", "create_by", "create_time", "del_flag", "update_by", + "update_time" }; + + /** 页面不需要查询字段 */ + public static string[] COLUMNNAME_NOT_QUERY = { "id", "create_by", "create_time", "del_flag", "update_by", + "update_time", "remark" }; + + /** Entity基类字段 */ + public static string[] BASE_ENTITY = { "createBy", "createTime", "updateBy", "updateTime", "remark" }; + + /** Tree基类字段 */ + public static string[] TREE_ENTITY = { "parentName", "parentId", "orderNum", "ancestors", "children" }; + + /** 文本框 */ + public static string HTML_INPUT = "input"; + + /** 文本域 */ + public static string HTML_TEXTAREA = "textarea"; + + /** 下拉框 */ + public static string HTML_SELECT = "select"; + + /** 单选框 */ + public static string HTML_RADIO = "radio"; + + /** 复选框 */ + public static string HTML_CHECKBOX = "checkbox"; + + /** 日期控件 */ + public static string HTML_DATETIME = "datetime"; + + /** 图片上传控件 */ + public static string HTML_IMAGE_UPLOAD = "imageUpload"; + + /** 文件上传控件 */ + public static string HTML_FILE_UPLOAD = "fileUpload"; + + /** 富文本控件 */ + public static string HTML_EDITOR = "editor"; + + /** 字符串类型 */ + public static string TYPE_STRING = "string"; + + /** 整型 */ + public static string TYPE_INTEGER = "Integer"; + + /** 长整型 */ + public static string TYPE_LONG = "Long"; + + /** 浮点型 */ + public static string TYPE_DOUBLE = "Double"; + + /** 高精度计算类型 */ + public static string TYPE_BIGDECIMAL = "BigDecimal"; + + /** 时间类型 */ + public static string TYPE_DATE = "Date"; + + /** 模糊查询 */ + public static string QUERY_LIKE = "LIKE"; + + /** 需要 */ + public static string REQUIRE = "1"; + } +} \ No newline at end of file diff --git a/ZR.CodeGenerator/Model/GenerateDto.cs b/ZR.CodeGenerator/Model/GenerateDto.cs index 161db2a..15bb219 100644 --- a/ZR.CodeGenerator/Model/GenerateDto.cs +++ b/ZR.CodeGenerator/Model/GenerateDto.cs @@ -8,6 +8,7 @@ namespace ZR.CodeGenerator.Model { public class GenerateDto { + public long TableId { get; set; } public string[] queryColumn { get; set; } /// /// diff --git a/ZR.CodeGenerator/TableMappingHelper.cs b/ZR.CodeGenerator/TableMappingHelper.cs index 302b0ec..2f6c1cd 100644 --- a/ZR.CodeGenerator/TableMappingHelper.cs +++ b/ZR.CodeGenerator/TableMappingHelper.cs @@ -55,45 +55,45 @@ namespace ZR.CodeGenerator.CodeGenerator case "number": case "integer": case "smallint": - sTempDatatype = "int?"; + sTempDatatype = "int"; break; case "bigint": - sTempDatatype = "long?"; + sTempDatatype = "long"; break; case "tinyint": - sTempDatatype = "byte?"; + sTempDatatype = "byte"; break; case "numeric": case "real": - sTempDatatype = "Single?"; + sTempDatatype = "Single"; break; case "float": - sTempDatatype = "float?"; + sTempDatatype = "float"; break; case "decimal": case "numer(8,2)": - sTempDatatype = "decimal?"; + sTempDatatype = "decimal"; break; case "bit": - sTempDatatype = "bool?"; + sTempDatatype = "bool"; break; case "date": case "datetime": case "datetime2": case "smalldatetime": - sTempDatatype = "DateTime?"; + sTempDatatype = "DateTime"; break; case "money": case "smallmoney": - sTempDatatype = "double?"; + sTempDatatype = "double"; break; case "char": @@ -113,7 +113,7 @@ namespace ZR.CodeGenerator.CodeGenerator public static bool IsNumber(string tableDataType) { string[] arr = new string[] { "int", "long" }; - return arr.Any(f => f.Replace("?", "").Contains(GetPropertyDatatype(tableDataType))); + return arr.Any(f => f.Contains(GetPropertyDatatype(tableDataType))); } } } diff --git a/ZR.Model/System/Dto/GenTableDto.cs b/ZR.Model/System/Dto/GenTableDto.cs new file mode 100644 index 0000000..42367d9 --- /dev/null +++ b/ZR.Model/System/Dto/GenTableDto.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.Text; +using ZR.Model.System.Generate; + +namespace ZR.Model.System.Dto +{ + public class GenTableDto + { + 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; } + public string ClassName { get; set; } + 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; } + public string GenType { get; set; } + public string Options { get; set; } + public List Columns { get; set; } + } + + public class GenTableColumnDto + { + public int ColumnId { get; set; } + public string ColumnName { get; set; } + public int TableId { get; set; } + + public string TableName { get; set; } + public string ColumnComment { get; set; } + + public string ColumnType { get; set; } + public string CsharpType { get; set; } + public string CsharpField { get; set; } + public bool IsPk { get; set; } + ///// + ///// 是否必填(1是) + ///// + //public bool IsRequired { get; set; } + //public bool IsIncrement { get; set; } + ///// + ///// 是否插入 + ///// + public bool IsInsert { get; set; } + ///// + ///// 是否需要编辑 + ///// + public bool IsEdit { get; set; } + ///// + ///// isList + ///// + public bool IsList { get; set; } + //public bool IsQuery { get; set; } + ///// + ///// 显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件) + ///// + public string HtmlType { get; set; } + ///// + ///// 查询类型(等于、不等于、大于、小于、范围) + ///// + //public string QueryType { get; set; } = "EQ"; + //public int Sort { get; set; } + } +} diff --git a/ZR.Model/System/Generate/GenTable.cs b/ZR.Model/System/Generate/GenTable.cs index 1d024e7..0737c33 100644 --- a/ZR.Model/System/Generate/GenTable.cs +++ b/ZR.Model/System/Generate/GenTable.cs @@ -8,7 +8,7 @@ namespace ZR.Model.System.Generate /// 代码生成表 /// [SqlSugar.SugarTable("gen_table")] - public class GenTable + public class GenTable: SysBase { [SqlSugar.SugarColumn(IsPrimaryKey = true, IsIdentity = true)] public int TableId { get; set; } @@ -18,7 +18,7 @@ namespace ZR.Model.System.Generate public string SubTableFkName { get; set; } public string ClassName { get; set; } public string TplCategory { get; set; } - public string PackageName { get; set; } + public string BaseNameSpace { get; set; } public string ModuleName { get; set; } public string BusinessName { get; set; } public string FunctionName { get; set; } @@ -26,9 +26,9 @@ namespace ZR.Model.System.Generate public string GenType { get; set; } public string Options { get; set; } - [SqlSugar.SugarColumn(IsOnlyIgnoreUpdate = true)] - public string CreateBy { get; set; } - [SqlSugar.SugarColumn(IsOnlyIgnoreUpdate = true)] - public DateTime CreateTime { get; set; } + + /** 表列信息 */ + [SqlSugar.SugarColumn(IsIgnore = true)] + public List Columns { get; set; } } } diff --git a/ZR.Model/System/Generate/GenTableColumn.cs b/ZR.Model/System/Generate/GenTableColumn.cs index eae7a08..3206d37 100644 --- a/ZR.Model/System/Generate/GenTableColumn.cs +++ b/ZR.Model/System/Generate/GenTableColumn.cs @@ -1,4 +1,5 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; using System.Text; @@ -8,19 +9,32 @@ namespace ZR.Model.System.Generate /// 代码生成表字段 /// [SqlSugar.SugarTable("gen_table_column")] - public class GenTableColumn + public class GenTableColumn: SysBase { [SqlSugar.SugarColumn(IsIdentity = true, IsPrimaryKey = true)] public int ColumnId { get; set; } public string ColumnName { get; set; } + [SqlSugar.SugarColumn(IsOnlyIgnoreUpdate = true)] public int TableId { get; set; } + + [SqlSugar.SugarColumn(IsOnlyIgnoreUpdate = true)] public string TableName { get; set; } public string ColumnComment { get; set; } + + [SqlSugar.SugarColumn(IsOnlyIgnoreUpdate = true)] public string ColumnType { get; set; } public string CsharpType { get; set; } public string CsharpField { get; set; } + /// + /// 是否主键(1是) + /// + [SqlSugar.SugarColumn(IsOnlyIgnoreUpdate = true)] public bool IsPk { get; set; } + /// + /// 是否必填(1是) + /// public bool IsRequired { get; set; } + [SqlSugar.SugarColumn(IsOnlyIgnoreUpdate = true)] public bool IsIncrement { get; set; } /// /// 是否插入 @@ -35,9 +49,14 @@ namespace ZR.Model.System.Generate /// public bool IsList { get; set; } public bool IsQuery { get; set; } + /// + /// 显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件) + /// + public string HtmlType { get; set; } + /// + /// 查询类型(等于、不等于、大于、小于、范围) + /// + public string QueryType { get; set; } = "EQ"; public int Sort { get; set; } - - public string CreateBy { get; set; } - public DateTime CreateTime { get; set; } } } diff --git a/ZR.Model/System/SysBase.cs b/ZR.Model/System/SysBase.cs index 07d07f7..ced566a 100644 --- a/ZR.Model/System/SysBase.cs +++ b/ZR.Model/System/SysBase.cs @@ -39,7 +39,6 @@ namespace ZR.Model.System /// [Computed]计算属性,打上此标签,对象地insert,update等操作会忽略此列 /// [SugarColumn(IsIgnore = true)] - //[Computed] [JsonIgnore] public DateTime? BeginTime { get; set; } @@ -47,7 +46,6 @@ namespace ZR.Model.System /// 用于搜索使用 /// [SugarColumn(IsIgnore = true)] - //[Computed] [JsonIgnore] public DateTime? EndTime { get; set; } } diff --git a/ZR.Service/System/GenTableService.cs b/ZR.Service/System/GenTableService.cs index b0c3ac9..78689e1 100644 --- a/ZR.Service/System/GenTableService.cs +++ b/ZR.Service/System/GenTableService.cs @@ -5,8 +5,6 @@ using SqlSugar; using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; using ZR.Model.System.Generate; using ZR.Service.System.IService; @@ -18,14 +16,31 @@ namespace ZR.Service.System [AppService(ServiceType = typeof(IGenTableService), ServiceLifetime = LifeTime.Transient)] public class GenTableService : BaseService, IGenTableService { + public IGenTableColumnService GenTableColumnService; + public GenTableService(IGenTableColumnService genTableColumnService) + { + GenTableColumnService = genTableColumnService; + } + /// /// 删除表 /// - /// + /// 需要删除的表id /// - public int DeleteGenTable(GenTable table) + public int DeleteGenTableByIds(long[] tableIds) { - return Db.Deleteable().Where(f => f.TableName == table.TableName).ExecuteCommand(); + Db.Deleteable().Where(f => tableIds.Contains(f.TableId)).ExecuteCommand(); + return GenTableColumnService.DeleteGenTableColumn(tableIds); + } + + /// + /// 删除表根据表名 + /// + /// + /// + public int DeleteGenTableByTbName(string tableName) + { + return Db.Deleteable().Where(f => f.TableName == tableName).ExecuteCommand(); } /// @@ -57,11 +72,15 @@ namespace ZR.Service.System /// /// /// - public int InsertGenTable(GenTable table) + public int ImportGenTable(GenTable table) { var db = Db; - DeleteGenTable(table); - return db.Insertable(table).ExecuteReturnIdentity(); + table.Create_time = db.GetDate(); + //导入前删除现有表 + //DeleteGenTableByIds(new long[] { table.TableId }); + DeleteGenTableByTbName(table.TableName); + + return db.Insertable(table).IgnoreColumns(ignoreNullColumn: true).ExecuteReturnIdentity(); } /// @@ -73,6 +92,13 @@ namespace ZR.Service.System { throw new NotImplementedException(); } + + public int UpdateGenTable(GenTable genTable) + { + var db = Db; + genTable.Update_time = db.GetDate(); + return db.Updateable(genTable).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand(); + } } /// @@ -88,7 +114,26 @@ namespace ZR.Service.System /// public int DeleteGenTableColumn(long tableId) { - return Db.Deleteable().Where(f => f.TableId == tableId).ExecuteCommand(); + return DeleteGenTableColumn(new long[] { tableId }); + } + /// + /// 根据表id批量删除表字段 + /// + /// + /// + public int DeleteGenTableColumn(long[] tableId) + { + return Db.Deleteable().Where(f => tableId.Contains(f.TableId)).ExecuteCommand(); + } + + /// + /// 根据表名删除字段 + /// + /// + /// + public int DeleteGenTableColumnByTableName(string tableName) + { + return Db.Deleteable().Where(f => f.TableName == tableName).ExecuteCommand(); } /// @@ -98,7 +143,7 @@ namespace ZR.Service.System /// public List GenTableColumns(long tableId) { - return GetAll().OrderBy(x => x.Sort).ToList(); + return Db.Queryable().Where(f => f.TableId == tableId).OrderBy(x => x.Sort).ToList(); } /// @@ -108,7 +153,17 @@ namespace ZR.Service.System /// public int InsertGenTableColumn(List tableColumn) { - return Db.Insertable(tableColumn).ExecuteCommand(); + return Db.Insertable(tableColumn).IgnoreColumns(x => new { x.Remark}).ExecuteCommand(); + } + + /// + /// 批量更新表字段 + /// + /// + /// + public int UpdateGenTableColumn(List tableColumn) + { + return Db.Updateable(tableColumn).IgnoreColumns(x => new { x.Remark }).ExecuteCommand(); } } } diff --git a/ZR.Service/System/IService/IGenTableService.cs b/ZR.Service/System/IService/IGenTableService.cs index 91aabd2..7adc936 100644 --- a/ZR.Service/System/IService/IGenTableService.cs +++ b/ZR.Service/System/IService/IGenTableService.cs @@ -12,19 +12,23 @@ namespace ZR.Service.System.IService { List SelectDbTableListByNamess(string[] tableNames); - int InsertGenTable(GenTable tables); + int ImportGenTable(GenTable tables); - int DeleteGenTable(GenTable table); + int DeleteGenTableByIds(long[] tableIds); + int DeleteGenTableByTbName(string tableName); PagedInfo GetGenTables(GenTable genTable, Model.PagerInfo pagerInfo); GenTable GetGenTableInfo(long tableId); + int UpdateGenTable(GenTable genTable); } public interface IGenTableColumnService - { + { int InsertGenTableColumn(List tableColumn); int DeleteGenTableColumn(long tableId); - + int DeleteGenTableColumn(long[] tableIds); + int DeleteGenTableColumnByTableName(string tableName); List GenTableColumns(long tableId); + int UpdateGenTableColumn(List tableColumn); } } diff --git a/ZR.Vue/src/api/tool/gen.js b/ZR.Vue/src/api/tool/gen.js index 747e7b8..0033408 100644 --- a/ZR.Vue/src/api/tool/gen.js +++ b/ZR.Vue/src/api/tool/gen.js @@ -77,6 +77,22 @@ export function importTable(data) { params: data }) } +// 删除表数据 +export function delTable(tableId) { + return request({ + url: '/tool/gen/' + tableId, + method: 'delete' + }) +} + +// 修改代码生成表信息 +export function updateGenTable(data) { + return request({ + url: '/tool/gen/', + method: 'put', + data: data + }) +} // /** diff --git a/ZR.Vue/src/views/tool/gen/editTable.vue b/ZR.Vue/src/views/tool/gen/editTable.vue index 80e7549..18481f3 100644 --- a/ZR.Vue/src/views/tool/gen/editTable.vue +++ b/ZR.Vue/src/views/tool/gen/editTable.vue @@ -182,6 +182,7 @@ export default { treeParentCode: genTable.treeParentCode, parentMenuId: genTable.parentMenuId, }; + console.log(genTable) updateGenTable(genTable).then((res) => { this.msgSuccess(res.msg); if (res.code === 200) { diff --git a/ZR.Vue/src/views/tool/gen/genInfoForm.vue b/ZR.Vue/src/views/tool/gen/genInfoForm.vue index 27d6a22..0a0edb7 100644 --- a/ZR.Vue/src/views/tool/gen/genInfoForm.vue +++ b/ZR.Vue/src/views/tool/gen/genInfoForm.vue @@ -11,18 +11,18 @@ - + @@ -52,7 +52,7 @@ 生成功能名 - + @@ -60,7 +60,7 @@ - + - + @@ -126,12 +119,7 @@ - + @@ -144,12 +132,7 @@ - + @@ -162,12 +145,7 @@ - + @@ -183,12 +161,7 @@ - + @@ -201,12 +174,7 @@ - + @@ -223,15 +191,15 @@ export default { props: { info: { type: Object, - default: null + default: null, }, tables: { type: Array, - default: null + default: null, }, menus: { type: Array, - default: [] + default: [], }, }, data() { @@ -239,28 +207,28 @@ export default { subColumns: [], rules: { tplCategory: [ - { required: true, message: "请选择生成模板", trigger: "blur" } + { required: true, message: "请选择生成模板", trigger: "blur" }, ], packageName: [ - { required: true, message: "请输入生成包路径", trigger: "blur" } + { required: true, message: "请输入生成包路径", trigger: "blur" }, ], moduleName: [ - { required: true, message: "请输入生成模块名", trigger: "blur" } + { required: true, message: "请输入生成模块名", trigger: "blur" }, ], businessName: [ - { required: true, message: "请输入生成业务名", trigger: "blur" } + { required: true, message: "请输入生成业务名", trigger: "blur" }, ], functionName: [ - { required: true, message: "请输入生成功能名", trigger: "blur" } + { required: true, message: "请输入生成功能名", trigger: "blur" }, ], - } + }, }; }, created() {}, watch: { - 'info.subTableName': function(val) { + "info.subTableName": function (val) { this.setSubTableColumns(val); - } + }, }, methods: { /** 转换菜单数据结构 */ @@ -271,18 +239,18 @@ export default { return { id: node.menuId, label: node.menuName, - children: node.children + children: node.children, }; }, /** 选择子表名触发 */ subSelectChange(value) { - this.info.subTableFkName = ''; + this.info.subTableFkName = ""; }, /** 选择生成模板触发 */ tplSelectChange(value) { - if(value !== 'sub') { - this.info.subTableName = ''; - this.info.subTableFkName = ''; + if (value !== "sub") { + this.info.subTableName = ""; + this.info.subTableFkName = ""; } }, /** 设置关联外键 */ @@ -294,7 +262,7 @@ export default { break; } } - } - } + }, + }, }; diff --git a/ZR.Vue/src/views/tool/gen/index.vue b/ZR.Vue/src/views/tool/gen/index.vue index 7b9855c..4ce79bb 100644 --- a/ZR.Vue/src/views/tool/gen/index.vue +++ b/ZR.Vue/src/views/tool/gen/index.vue @@ -14,12 +14,12 @@ - --> + - + --> 查询 刷新 @@ -32,10 +32,10 @@ - 删除 + 删除 - + diff --git a/ZRAdmin.xml b/ZRAdmin.xml index cd83250..8c3e75a 100644 --- a/ZRAdmin.xml +++ b/ZRAdmin.xml @@ -27,47 +27,6 @@ - - - 代码自动生成 - - - - - 接口 - - - - - 查询列表 - - - - - - 查询详情 - - - - - - - 添加 - - - - - - 更新 - - - - - - 删除 - - - 代码生成 @@ -112,7 +71,7 @@ - 代码生成删除 + 删除代码生成 @@ -125,6 +84,12 @@ + + + 代码生成保存 + + + 心跳 diff --git a/document/admin-sqlserver.sql b/document/admin-sqlserver.sql index 49a10ca92bdb4ec1c4954a654b24cae19463597c..30a73324ce552ad1e81a9725d5fcb6afd0491fde 100644 GIT binary patch delta 233 zcmeyineE&bwuUW?^XkQu7!nzZ8B!VifOIa94rV9-vXZB7tY=J|F3`-#$5R`^8&XyE zWvXuwL;ZHG2F5Cu$p;EJrZ1VwSTOy~6h^tp^PG65i%ezgntnlpkz=|`4Wqzh6GnmQ zF10{HO@UEt`m3po9*ptR4W}`-Prl$RwEagLV;wJELx6_&O)BDtKfY5J!bj6Tyt0)f^Xo5^S}U1uhv5VJ0W?)0NG84X!@8Mqh# DUrY|I?%|r$rdhr)8|ZQ)Y)z~ozaSE px Date: Sat, 18 Sep 2021 18:13:28 +0800 Subject: [PATCH 06/31] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/CodeGeneratorController.cs | 6 +-- .../Template/ControllersTemplate.txt | 6 +-- ZR.CodeGenerator/CodeGenerateTemplate.cs | 19 +++++---- ZR.CodeGenerator/CodeGeneratorTool.cs | 8 ++-- ZR.Model/System/Dto/GenTableDto.cs | 15 ------- ZR.Vue/src/views/tool/gen/index.vue | 8 ++-- ZRAdmin.xml | 41 +++++++++++++++++++ 7 files changed, 64 insertions(+), 39 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs b/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs index 4287484..0a90337 100644 --- a/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs +++ b/ZR.Admin.WebApi/Controllers/CodeGeneratorController.cs @@ -93,17 +93,17 @@ namespace ZR.Admin.WebApi.Controllers [ActionPermissionFilter(Permission = "tool:gen:code")] public IActionResult Generate([FromBody] GenerateDto dto) { - if (string.IsNullOrEmpty(dto.tableName) || dto.TableId <= 0) + if (dto.TableId <= 0) { throw new CustomException(ResultCode.CUSTOM_ERROR, "请求参数为空"); } var genTableInfo = GenTableService.GetGenTableInfo(dto.TableId); var getTableColumn = GenTableColumnService.GenTableColumns(dto.TableId); genTableInfo.Columns = getTableColumn; - DbTableInfo dbTableInfo = new() { Name = dto.tableName }; + //DbTableInfo dbTableInfo = new() { Name = dto.tableName }; CodeGeneratorTool.Generate(genTableInfo, dto); - return SUCCESS(dbTableInfo); + return SUCCESS(genTableInfo); } /// diff --git a/ZR.Admin.WebApi/Template/ControllersTemplate.txt b/ZR.Admin.WebApi/Template/ControllersTemplate.txt index 02131cb..b79a47f 100644 --- a/ZR.Admin.WebApi/Template/ControllersTemplate.txt +++ b/ZR.Admin.WebApi/Template/ControllersTemplate.txt @@ -81,7 +81,6 @@ namespace {ApiControllerNamespace}.Controllers } //从 Dto 映射到 实体 var addModel = parm.Adapt<{ModelName}>().ToCreate(); - //addModel.CreateID = User.Identity.Name; return SUCCESS(_{ModelName}Service.Add(addModel)); } @@ -100,12 +99,11 @@ namespace {ApiControllerNamespace}.Controllers throw new CustomException("请求实体不能为空"); } //从 Dto 映射到 实体 - var updateModel = parm.Adapt<{ModelName}>().ToCreate(); - //updateModel.CreateID = User.Identity.Name; + var updateModel = parm.Adapt<{ModelName}>().ToUpdate(); var response = _{ModelName}Service.Update(w => w.{PrimaryKey} == updateModel.{PrimaryKey}, it => new {ModelName}() { - //TODO 字段映射 + //Update 字段映射 {UpdateColumn} }); diff --git a/ZR.CodeGenerator/CodeGenerateTemplate.cs b/ZR.CodeGenerator/CodeGenerateTemplate.cs index 56af855..da85852 100644 --- a/ZR.CodeGenerator/CodeGenerateTemplate.cs +++ b/ZR.CodeGenerator/CodeGenerateTemplate.cs @@ -66,9 +66,9 @@ namespace ZR.CodeGenerator modelcontent += " /// \n"; if (dbFieldInfo.IsPk || dbFieldInfo.IsIncrement) { - modelcontent += $" [SqlSugar.SugarColumn(IsPrimaryKey = {dbFieldInfo.IsPk.ToString().ToLower()}, IsIdentity = {dbFieldInfo.IsIncrement.ToString().ToLower()})]\n"; + modelcontent += $"[SqlSugar.SugarColumn(IsPrimaryKey = {dbFieldInfo.IsPk.ToString().ToLower()}, IsIdentity = {dbFieldInfo.IsIncrement.ToString().ToLower()})]\n"; } - modelcontent += $" public {dbFieldInfo.CsharpType} {dbFieldInfo.CsharpField} {{ get; set; }}\n\r"; + modelcontent += $"public {dbFieldInfo.CsharpType} {dbFieldInfo.CsharpField} {{ get; set; }}\n\r"; return modelcontent; } //DTO model @@ -91,7 +91,10 @@ namespace ZR.CodeGenerator string vueViewFromContent = ""; string labelDisabled = dbFieldInfo.IsPk ? ":disabled=\"true\"" : ""; string placeHolder = dbFieldInfo.IsIncrement ? "" : $"请输入{labelName}"; - + if (!dbFieldInfo.IsInsert || !dbFieldInfo.IsEdit) + { + return vueViewFromContent; + } if (dbFieldInfo.HtmlType == GenConstants.HTML_DATETIME) { //时间 @@ -143,12 +146,11 @@ namespace ZR.CodeGenerator string label = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, columnName); string vueViewListContent = ""; string showToolTip = dbFieldInfo.ColumnType.Contains("varchar") ? ":show-overflow-tooltip=\"true\"" : ""; - if (!dbFieldInfo.IsQuery) + if (!dbFieldInfo.IsList) { - return vueViewListContent; - } - if (dbFieldInfo.HtmlType.Equals(GenConstants.HTML_IMAGE_UPLOAD)) + } + else if (dbFieldInfo.HtmlType.Equals(GenConstants.HTML_IMAGE_UPLOAD)) { vueViewListContent += $" \n"; vueViewListContent += " - + - + - - -