From c3ef96ad189225c1c541e95d63ab4e1d2c46978c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BE=AF=E7=82=AF?= Date: Wed, 23 Jul 2025 12:56:13 +0800 Subject: [PATCH] =?UTF-8?q?HJ:1=E5=A6=82=E6=9E=9C=E6=9C=89=E8=BD=AF?= =?UTF-8?q?=E5=88=A0=E9=99=A4,=E4=BD=BF=E7=94=A8=E8=BD=AF=E5=88=A0?= =?UTF-8?q?=E9=99=A4=20=202=E6=A0=91=E5=9E=8B=E7=BB=93=E6=9E=84=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90=E5=AD=90=E5=88=97?= =?UTF-8?q?=E8=A1=A8,=E6=97=A0=E9=9C=80=E8=87=AA=E5=B7=B1=E5=86=99?= =?UTF-8?q?=E4=BA=86=20=203=E4=BC=98=E5=8C=96=E6=A0=91=E5=9E=8B=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wwwroot/template/service_Mid.cs.vm | 9 ++- .../wwwroot/template/service_OutputDto.cs.vm | 16 +++++- .../wwwroot/template/service_Service.cs.vm | 56 +++++-------------- 3 files changed, 38 insertions(+), 43 deletions(-) diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_Mid.cs.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_Mid.cs.vm index b0ea8ee1..ce4bb11c 100644 --- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_Mid.cs.vm +++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_Mid.cs.vm @@ -71,8 +71,15 @@ public partial class @(@Model.ClassName)Mid @:.WhereIF(input.@(@column.PropertyName).HasValue, u => u.@(@column.PropertyName) @column.QueryType input.@(@column.PropertyName)) } } + if(@column.PropertyName == "IsDelete") { + @:.Where( u => u.IsDelete == false) + } } - + @if (Model.TableField.Any(c => c.PropertyName == "OrderNo")) + { + @:.OrderBy(u => u.OrderNo) + } + .Select<@(@Model.ClassName)Output>() @if(!string.IsNullOrEmpty(Model.TreeName)){ @:.Mapper(c => c.Name= c.@(@Model.TreeName).ToString()) diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_OutputDto.cs.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_OutputDto.cs.vm index 846b0515..9a01e83d 100644 --- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_OutputDto.cs.vm +++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_OutputDto.cs.vm @@ -7,11 +7,13 @@ namespace @Model.NameSpace; /// +/// HJ:这里做优化 如果是富文本不传入 /// @(@Model.BusName)输出参数 /// public partial class @(@Model.ClassName)Output { @foreach (var column in Model.TableField){ + @:/// @:/// @column.ColumnComment @:/// @@ -31,9 +33,17 @@ if(column.EffectType == "ForeignKey") @:public @column.NetType @column.PropertyName { get; set; } @: @:/// - @:/// @(column.ColumnComment) 描述 + @:/// 树型@(column.ColumnComment) 描述 @:/// @:public string? @(@column.PropertyName)@(@column.DisplayColumn) { get; set; } + @: + @:/// + @:/// 树型分类子项 + @:/// + @:public List<@(@Model.ClassName)Output> Children { get; set; } = []; + +}else if(column.EffectType == "RichTextEditor"){ + @:/// HJ:富文本不传,提高性能 }else{ @:public @column.NetType @(@column.PropertyName) { get; set; } } @@ -62,3 +72,7 @@ if (@column.EffectType == "ApiTreeSelector"){ @:*/ } } + + + + diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_Service.cs.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_Service.cs.vm index 85251b23..cd66fe60 100644 --- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_Service.cs.vm +++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_Service.cs.vm @@ -86,11 +86,8 @@ public partial class @(@Model.ClassName)Service : IDynamicApiController, ITransi [DisplayName("分页查询@(@Model.BusName)")] public async Task> Page(Page@(@Model.ClassName)Input input) { - //var query= @(@Model.ClassName)Mid.GetQuery(_@(@Model.LowerClassName)Rep, input); - //var list = await @(@Model.ClassName)Mid.GetQuery(_@(@Model.LowerClassName)Rep, input).MergeTable().ToPagedListAsync(input.Page, input.PageSize); var list = await @(@Model.ClassName)Mid.GetQuery(_@(@Model.LowerClassName)Rep, input).OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize); - return list; - + return list; } /// @@ -129,8 +126,16 @@ if (@column.ColumnKey == "True"){ @:var entity = await _@(@Model.LowerClassName)Rep.GetFirstAsync(u => u.@(@column.PropertyName) == input.@(@column.PropertyName)) ?? throw Oops.Oh(ErrorCodeEnum.D1002); } } - //await _@(@Model.LowerClassName)Rep.FakeDeleteAsync(entity); // 假删除 - await _@(@Model.LowerClassName)Rep.DeleteAsync(entity); // 真删除 + + //HJ:通过模板判断是否存在IsDelete字段,决定删除方式 + @if (Model.TableField.Any(c => c.PropertyName == "IsDelete")) + { + @:await _@(Model.LowerClassName)Rep.FakeDeleteAsync(entity); // 假删除(存在IsDelete字段) + } + else + { + @:await _@(Model.LowerClassName)Rep.DeleteAsync(entity); // 真删除(不存在IsDelete字段) + } } /// @@ -156,7 +161,7 @@ if (@column.ColumnKey == "True"){ } /// - /// 获取@(@Model.BusName) + /// 获取@(@Model.BusName)详情 /// /// /// @@ -375,43 +380,12 @@ if(@column.EffectType == "ApiTreeSelector" && !definedObjects.ContainsKey("@(@co @:if (isSearch||!string.IsNullOrEmpty(input.SearchKey?.Trim())) @:{ - - @:return await _@(@Model.LowerClassName)Rep.AsQueryable() - - @{string conditionFlag = "";} - @if (haveLikeCdt) { - @:.WhereIF(!string.IsNullOrEmpty(input.SearchKey?.Trim()), u => - @foreach (var columnTree in Model.TableField){ - if (@columnTree.QueryWhether == "Y" && columnTree.QueryType == "like"){ - @:@(conditionFlag)u.@(@columnTree.PropertyName).Contains(input.SearchKey.Trim()) - conditionFlag="|| "; - } - } - @:) - } - foreach (var columnTree in Model.TableField){ - if (@columnTree.QueryWhether == "Y"){if (@columnTree.NetType?.TrimEnd('?') == "string"){if(@columnTree.QueryType == "like"){ - @:.WhereIF(!string.IsNullOrWhiteSpace(input.@columnTree.PropertyName), u => u.@(@columnTree.PropertyName).Contains(input.@(@columnTree.PropertyName).Trim())) - }else{ - @:.WhereIF(!string.IsNullOrWhiteSpace(input.@columnTree.PropertyName), u => u.@(@columnTree.PropertyName) @columnTree.QueryType input.@(@columnTree.PropertyName)) - }}else if(@columnTree.NetType?.TrimEnd('?') == "int" || @columnTree.NetType?.TrimEnd('?') == "long"){ - @:.WhereIF(input.@columnTree.PropertyName>0, u => (int)u.@(@columnTree.PropertyName) @columnTree.QueryType input.@(@columnTree.PropertyName)) - }else if(@columnTree.NetType?.TrimEnd('?') == "DateTime" && @columnTree.QueryType == "~"){ - @:.WhereIF(input.@(@columnTree.PropertyName)Range != null && input.@(@columnTree.PropertyName)Range.Length == 2, u => u.@(@columnTree.PropertyName) >= input.@(@columnTree.PropertyName)Range[0] && u.@(@columnTree.PropertyName) <= input.@(@columnTree.PropertyName)Range[1]) - }else if(@columnTree.NetType?.TrimEnd('?').EndsWith("Enum") == true) { - @:.WhereIF(input.@(@columnTree.PropertyName).HasValue, u => u.@(@columnTree.PropertyName) @columnTree.QueryType input.@(@columnTree.PropertyName)) - }}} - //HJ @:.OrderBy(u => u.OrderNo) - @:.OrderByDescending(u => u.Id) - @:.Distinct().ToListAsync(); + @:// 有筛选条件时返回列表 + @:return await @(@Model.ClassName)Mid.GetQuery(_@(@Model.LowerClassName)Rep, input).OrderBuilder(input).Distinct().ToListAsync(); @:} @:// 无筛选条件时返回树列表 - @:return await _@(@Model.LowerClassName)Rep.AsQueryable() - //HJ @:.OrderBy(u => u.OrderNo) - @:.OrderByDescending(u => u.Id) - @:.ToTreeAsync(u => u.Children, u => u.Pid, 0, u => u.Id); - + @:return await @(@Model.ClassName)Mid.GetQuery(_@(@Model.LowerClassName)Rep, input).OrderBuilder(input).ToTreeAsync(u => u.Children, u => u.Pid, 0, u => u.Id); @:} } }