From 19eaa91b8d881873a02e44dceea234b44ae9ed5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com> Date: Tue, 28 Dec 2021 20:52:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Admin.WebApi/Extensions/EntityExtension.cs | 5 ++- .../CodeGenTemplate/TplControllers.txt | 24 +--------- .../wwwroot/CodeGenTemplate/TplIService.txt | 4 +- .../wwwroot/CodeGenTemplate/TplService.txt | 36 +++++++++++++++ ZR.CodeGenerator/CodeGenerateTemplate.cs | 44 ++++++++++++------- ZR.CodeGenerator/CodeGeneratorTool.cs | 3 +- 6 files changed, 75 insertions(+), 41 deletions(-) diff --git a/ZR.Admin.WebApi/Extensions/EntityExtension.cs b/ZR.Admin.WebApi/Extensions/EntityExtension.cs index 1ec762a1..8308ca5e 100644 --- a/ZR.Admin.WebApi/Extensions/EntityExtension.cs +++ b/ZR.Admin.WebApi/Extensions/EntityExtension.cs @@ -22,7 +22,10 @@ namespace ZR.Admin.WebApi.Extensions { types.GetProperty("CreateTime").SetValue(source, DateTime.Now, null); } - + if (types.GetProperty("AddTime") != null) + { + types.GetProperty("AddTime").SetValue(source, DateTime.Now, null); + } if (types.GetProperty("UpdateTime") != null) { types.GetProperty("UpdateTime").SetValue(source, DateTime.Now, null); diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt index 0f7fd0ab..9ba7fe91 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt @@ -2,7 +2,6 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; -using SqlSugar; using Infrastructure; using Infrastructure.Attribute; using Infrastructure.Enums; @@ -48,28 +47,7 @@ namespace ${options.ApiControllerNamespace}.Controllers [ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:list")] public IActionResult Query${replaceDto.ModelTypeName}([FromQuery] ${replaceDto.ModelTypeName}QueryDto parm) { - //开始拼装查询条件 - var predicate = Expressionable.Create<${replaceDto.ModelTypeName}>(); - - //搜索条件查询语法参考Sqlsugar -$foreach(column in genTable.Columns) -$if(column.IsQuery) -$if(column.CsharpType == "string") - predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.${column.CsharpField}), ${codeTool.QueryExp(column.CsharpField, column.QueryType)}; -$elseif(column.CsharpType == "DateTime") - predicate = predicate.AndIF(parm.Begin${column.CsharpField} == null, it => it.${column.CsharpField} >= DateTime.Now.AddDays(-1)); - predicate = predicate.AndIF(parm.Begin${column.CsharpField} != null, it => it.${column.CsharpField} >= parm.Begin${column.CsharpField}); - predicate = predicate.AndIF(parm.End${column.CsharpField} != null, it => it.${column.CsharpField} <= parm.End${column.CsharpField}); -$elseif(column.CsharpType == "int" || column.CsharpType == "long") - predicate = predicate.AndIF(parm.${column.CsharpField} != null, ${codeTool.QueryExp(column.CsharpField, column.QueryType)}; -$end -$end -$end -$if(genTable.SortField != "" && genTable.SortField != null) - var response = _${replaceDto.ModelTypeName}Service.GetPages(predicate.ToExpression(), parm, x => x.${genTable.SortField}, "${genTable.SortType}"); -$else - var response = _${replaceDto.ModelTypeName}Service.GetPages(predicate.ToExpression(), parm); -$end + var response = _${replaceDto.ModelTypeName}Service.GetList(parm); return SUCCESS(response); } diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplIService.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplIService.txt index fcdbf97a..714ee091 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplIService.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplIService.txt @@ -1,7 +1,8 @@ using System; +using ${options.ModelsNamespace}; +using ${options.ModelsNamespace}.Dto; using ${options.ModelsNamespace}.Models; - namespace ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNamespace}Service { /// @@ -12,5 +13,6 @@ namespace ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNam /// public interface I${replaceDto.ModelTypeName}Service : IBaseService<${replaceDto.ModelTypeName}> { + PagedInfo<${replaceDto.ModelTypeName}> GetList(${replaceDto.ModelTypeName}QueryDto parm); } } diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplService.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplService.txt index 2ae74209..92528e35 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplService.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplService.txt @@ -1,8 +1,12 @@ using Infrastructure; using Infrastructure.Attribute; +using ${options.ModelsNamespace}; +using ${options.ModelsNamespace}.Dto; using ${options.ModelsNamespace}.Models; using ${options.IRepositoriesNamespace}; using ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNamespace}Service; +using System; +using SqlSugar; namespace ${options.ServicesNamespace}.${options.SubNamespace} { @@ -23,6 +27,38 @@ namespace ${options.ServicesNamespace}.${options.SubNamespace} #region 业务逻辑代码 + /// + /// 查询${genTable.FunctionName}列表 + /// + /// + /// + public PagedInfo<${replaceDto.ModelTypeName}> GetList(${replaceDto.ModelTypeName}QueryDto parm) + { + //开始拼装查询条件 + var predicate = Expressionable.Create<${replaceDto.ModelTypeName}>(); + + //搜索条件查询语法参考Sqlsugar +$foreach(column in genTable.Columns) +$if(column.IsQuery) +$if(column.CsharpType == "string") + predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.${column.CsharpField}), ${codeTool.QueryExp(column.CsharpField, column.QueryType)}; +$elseif(column.CsharpType == "DateTime") + predicate = predicate.AndIF(parm.Begin${column.CsharpField} == null, it => it.${column.CsharpField} >= DateTime.Now.AddDays(-1)); + predicate = predicate.AndIF(parm.Begin${column.CsharpField} != null, it => it.${column.CsharpField} >= parm.Begin${column.CsharpField}); + predicate = predicate.AndIF(parm.End${column.CsharpField} != null, it => it.${column.CsharpField} <= parm.End${column.CsharpField}); +$elseif(column.CsharpType == "int" || column.CsharpType == "long") + predicate = predicate.AndIF(parm.${column.CsharpField} != null, ${codeTool.QueryExp(column.CsharpField, column.QueryType)}; +$end +$end +$end +$if(genTable.SortField != "" && genTable.SortField != null) + var response = Queryable().GetPages(predicate.ToExpression(), parm, x => x.${genTable.SortField}, "${genTable.SortType}"); +$else + var response = Queryable().Where(predicate.ToExpression()).ToPage(parm); +$end + return response; + } + #endregion } } \ No newline at end of file diff --git a/ZR.CodeGenerator/CodeGenerateTemplate.cs b/ZR.CodeGenerator/CodeGenerateTemplate.cs index 6e6933e2..bd4a0226 100644 --- a/ZR.CodeGenerator/CodeGenerateTemplate.cs +++ b/ZR.CodeGenerator/CodeGenerateTemplate.cs @@ -1,7 +1,6 @@ using System; using System.Linq; using System.Text; -using ZR.CodeGenerator.Model; using ZR.Model.System.Generate; namespace ZR.CodeGenerator @@ -98,10 +97,10 @@ namespace ZR.CodeGenerator sb.AppendLine(" "); sb.AppendLine($" "); sb.AppendLine($" "); - if (string.IsNullOrEmpty(dbFieldInfo.DictType)) - { - sb.AppendLine(" 请选择字典生成"); - } + //if (string.IsNullOrEmpty(dbFieldInfo.DictType)) + //{ + // sb.AppendLine(" 请选择字典生成"); + //} sb.AppendLine($" {{{{item.dictLabel}}}}"); sb.AppendLine(" "); sb.AppendLine(" "); @@ -131,10 +130,10 @@ namespace ZR.CodeGenerator sb.AppendLine(" "); sb.AppendLine($" "); sb.AppendLine($" "); - if (string.IsNullOrEmpty(dbFieldInfo.DictType)) - { - sb.AppendLine($" "); - } + //if (string.IsNullOrEmpty(dbFieldInfo.DictType)) + //{ + // sb.AppendLine($" "); + //} sb.AppendLine($" "); sb.AppendLine(" "); sb.AppendLine(" "); @@ -146,10 +145,10 @@ namespace ZR.CodeGenerator sb.AppendLine(" "); sb.AppendLine($" "); sb.AppendLine($" "); - if (string.IsNullOrEmpty(dbFieldInfo.DictType)) - { - sb.AppendLine($" 请选择字典生成"); - } + //if (string.IsNullOrEmpty(dbFieldInfo.DictType)) + //{ + // sb.AppendLine($" 请选择字典生成"); + //} sb.AppendLine($" {{{{item.dictLabel}}}}"); sb.AppendLine(" "); sb.AppendLine(" "); @@ -215,7 +214,7 @@ namespace ZR.CodeGenerator { string columnName = dbFieldInfo.CsharpFieldFl; string label = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, columnName); - string showToolTip = dbFieldInfo.CsharpType == "string" ? ":show-overflow-tooltip=\"true\"" : ""; + string showToolTip = ShowToolTip(dbFieldInfo); string formatter = GetFormatter(dbFieldInfo.HtmlType, columnName); StringBuilder sb = new StringBuilder(); //自定义排序字段 @@ -254,7 +253,7 @@ namespace ZR.CodeGenerator } else if (dbFieldInfo.IsList) { - sb.AppendLine($" "); + sb.AppendLine($" "); } return sb.ToString(); } @@ -309,5 +308,20 @@ namespace ZR.CodeGenerator } return ""; } + + /// + /// 超出隐藏 + /// + /// + /// + public static string ShowToolTip(GenTableColumn column) + { + if (column.CsharpType.Equals("string") || + column.HtmlType.Equals(GenConstants.HTML_DATETIME)) + { + return $" :show-overflow-tooltip=\"true\""; + } + return ""; + } } } diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs index f4e1ea4f..c2e4972c 100644 --- a/ZR.CodeGenerator/CodeGeneratorTool.cs +++ b/ZR.CodeGenerator/CodeGeneratorTool.cs @@ -1,4 +1,5 @@ using Infrastructure; +using Infrastructure.Extensions; using JinianNet.JNTemplate; using SqlSugar; using System; @@ -384,7 +385,7 @@ namespace ZR.CodeGenerator TableId = genTable.TableId, TableName = genTable.TableName, CsharpType = GetCSharpDatatype(column.DataType), - CsharpField = FirstUpperCase(column.DbColumnName),//TODO 优化下划线处理 + CsharpField = FirstUpperCase(column.DbColumnName.UnderScoreToCamelCase()), IsRequired = !column.IsNullable, IsIncrement = column.IsIdentity, Create_by = genTable.Create_by,