代码生成新增加导航查询
This commit is contained in:
parent
aba8768c44
commit
6ab0f86ca2
@ -1,26 +1,22 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Infrastructure;
|
||||
using Infrastructure;
|
||||
using Infrastructure.Attribute;
|
||||
using Infrastructure.Enums;
|
||||
using Infrastructure.Model;
|
||||
using Mapster;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using ${options.ModelsNamespace}.Dto;
|
||||
using ${options.ModelsNamespace}.Models;
|
||||
using ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNamespace}Service;
|
||||
using ${options.ApiControllerNamespace}.Extensions;
|
||||
using ${options.ApiControllerNamespace}.Filters;
|
||||
using ZR.Common;
|
||||
using Infrastructure.Extensions;
|
||||
using System.Linq;
|
||||
using ${options.BaseNamespace}.Common;
|
||||
|
||||
namespace ${options.ApiControllerNamespace}.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// ${genTable.functionName}Controller
|
||||
///
|
||||
/// @tableName ${genTable.TableName}
|
||||
/// @author ${replaceDto.Author}
|
||||
/// @date ${replaceDto.AddTime}
|
||||
/// </summary>
|
||||
@ -97,14 +93,8 @@ $if(replaceDto.ShowBtnAdd)
|
||||
//从 Dto 映射到 实体
|
||||
var modal = parm.Adapt<${replaceDto.ModelTypeName}>().ToCreate(HttpContext);
|
||||
|
||||
var response = _${replaceDto.ModelTypeName}Service.Insert(modal, it => new
|
||||
{
|
||||
$foreach(item in genTable.Columns)
|
||||
$if((item.IsInsert))
|
||||
it.$item.CsharpField,
|
||||
$end
|
||||
${end}
|
||||
});
|
||||
var response = _${replaceDto.ModelTypeName}Service.Add${replaceDto.ModelTypeName}(modal);
|
||||
|
||||
return ToResponse(response);
|
||||
}
|
||||
$end
|
||||
|
||||
@ -19,5 +19,6 @@ namespace ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNam
|
||||
$if(genTable.TplCategory == "tree")
|
||||
List<${replaceDto.ModelTypeName}> GetTreeList(${replaceDto.ModelTypeName}QueryDto parm);
|
||||
$end
|
||||
int Add${replaceDto.ModelTypeName}(${replaceDto.ModelTypeName} parm);
|
||||
}
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ $if(replaceDto.ShowBtnExport)
|
||||
[EpplusTableColumn(Header = "$if(item.ColumnComment == "")${item.CsharpField}${else}${item.ColumnComment}${end}"$if(item.CsharpType == "DateTime"), NumberFormat = "yyyy-MM-dd HH:mm:ss"$end)]
|
||||
$end
|
||||
$if(item.IsPk || item.IsIncrement)
|
||||
[SqlSugar.SugarColumn(IsPrimaryKey = ${item.IsPk.ToString().ToLower()}, IsIdentity = ${item.IsIncrement.ToString().ToLower()}$if(item.CsharpField.ToLower() != item.ColumnName.ToLower()), ColumnName = "$item.ColumnName"$end)]
|
||||
[SugarColumn(IsPrimaryKey = ${item.IsPk.ToString().ToLower()}, IsIdentity = ${item.IsIncrement.ToString().ToLower()}$if(item.CsharpField.ToLower() != item.ColumnName.ToLower()), ColumnName = "$item.ColumnName"$end)]
|
||||
$elseif(item.CsharpField.ToLower() != item.ColumnName.ToLower())
|
||||
[SugarColumn(ColumnName = "$item.ColumnName")]
|
||||
$end
|
||||
@ -35,5 +35,15 @@ $if(genTable.TplCategory == "tree")
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public List<${replaceDto.ModelTypeName}> Children { get; set; }
|
||||
$end
|
||||
|
||||
$if(genTable.TplCategory == "subNav" && genTable.SubTable != null)
|
||||
[Navigate(NavigateType.Dynamic, null)] //自定义关系映射
|
||||
public ${genTable.SubTable.ClassName} Sub { get; set; }
|
||||
$end
|
||||
|
||||
$if(genTable.TplCategory == "subNavMore" && genTable.SubTable != null)
|
||||
[Navigate(NavigateType.Dynamic, null)] //自定义关系映射
|
||||
public List<${genTable.SubTable.ClassName}> Sub { get; set; }
|
||||
$end
|
||||
}
|
||||
}
|
||||
@ -1,13 +1,13 @@
|
||||
using Infrastructure;
|
||||
using System;
|
||||
using SqlSugar;
|
||||
using System.Collections.Generic;
|
||||
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;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ${options.ServicesNamespace}.${options.SubNamespace}
|
||||
{
|
||||
@ -20,10 +20,10 @@ namespace ${options.ServicesNamespace}.${options.SubNamespace}
|
||||
[AppService(ServiceType = typeof(I${replaceDto.ModelTypeName}Service), ServiceLifetime = LifeTime.Transient)]
|
||||
public class ${replaceDto.ModelTypeName}Service : BaseService<${replaceDto.ModelTypeName}>, I${replaceDto.ModelTypeName}Service
|
||||
{
|
||||
private readonly ${replaceDto.ModelTypeName}Repository _${replaceDto.ModelTypeName}repository;
|
||||
private readonly ${replaceDto.ModelTypeName}Repository _${replaceDto.ModelTypeName}Repository;
|
||||
public ${replaceDto.ModelTypeName}Service(${replaceDto.ModelTypeName}Repository repository)
|
||||
{
|
||||
_${replaceDto.ModelTypeName}repository = repository;
|
||||
_${replaceDto.ModelTypeName}Repository = repository;
|
||||
}
|
||||
|
||||
#region 业务逻辑代码
|
||||
@ -51,15 +51,17 @@ $elseif(column.CsharpType == "int" || column.CsharpType == "long")
|
||||
$end
|
||||
$end
|
||||
$end
|
||||
$if(genTable.SortField != "" && genTable.SortField != null)
|
||||
var response = _${replaceDto.ModelTypeName}repository
|
||||
.GetPages(predicate.ToExpression(), parm, it => it.${genTable.SortField}, "${genTable.SortType}");
|
||||
$else
|
||||
var response = _${replaceDto.ModelTypeName}repository
|
||||
var response = _${replaceDto.ModelTypeName}Repository
|
||||
.Queryable()
|
||||
$if(genTable.SubTableName != "" && genTable.SubTableName != null)
|
||||
.Includes(it => it.Sub.MappingField(z => z.${genTable.SubTableFkName}, () => it.${replaceDto.PKName}))
|
||||
$end
|
||||
$if(genTable.SortField != "" && genTable.SortField != null)
|
||||
.OrderBy("${genTable.SortField} ${genTable.SortType}")
|
||||
$end
|
||||
.Where(predicate.ToExpression())
|
||||
.ToPage(parm);
|
||||
$end
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
@ -85,12 +87,29 @@ $end
|
||||
$end
|
||||
$end
|
||||
|
||||
var response = _${replaceDto.ModelTypeName}repository.Queryable().Where(predicate.ToExpression())
|
||||
var response = _${replaceDto.ModelTypeName}Repository.Queryable().Where(predicate.ToExpression())
|
||||
.ToTree(it => it.Children, it => it.${genTable.TreeParentCode}, 0);
|
||||
|
||||
return response;
|
||||
}
|
||||
$end
|
||||
/// <summary>
|
||||
/// 添加${genTable.FunctionName}
|
||||
/// </summary>
|
||||
/// <param name="parm"></param>
|
||||
/// <returns></returns>
|
||||
public int Add${replaceDto.ModelTypeName}(${replaceDto.ModelTypeName} parm)
|
||||
{
|
||||
var response = _${replaceDto.ModelTypeName}Repository.Insert(parm, it => new
|
||||
{
|
||||
${foreach(item in genTable.Columns)}
|
||||
$if((item.IsInsert))
|
||||
it.$item.CsharpField,
|
||||
$end
|
||||
${end}
|
||||
});
|
||||
return response;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@ -513,7 +513,7 @@ namespace ZR.CodeGenerator
|
||||
/// <param name="replaceDto"></param>
|
||||
private static void InitJntTemplate(GenerateDto dto, ReplaceDto replaceDto)
|
||||
{
|
||||
Engine.Current.Clean();
|
||||
//Engine.Current.Clean();
|
||||
dto.GenTable.Columns = dto.GenTable.Columns.OrderBy(x => x.Sort).ToList();
|
||||
bool showCustomInput = dto.GenTable.Columns.Any(f => f.HtmlType.Equals(GenConstants.HTML_CUSTOM_INPUT, StringComparison.OrdinalIgnoreCase));
|
||||
//jnt模板引擎全局变量
|
||||
@ -525,6 +525,7 @@ namespace ZR.CodeGenerator
|
||||
options.OutMode = OutMode.Auto;
|
||||
//options.DisableeLogogram = true;//禁用简写
|
||||
options.Data.Set("refs", "$");//特殊标签替换
|
||||
options.Data.Set("t", "$");//特殊标签替换
|
||||
options.Data.Set("modal", "$");//特殊标签替换
|
||||
options.Data.Set("index", "$");//特殊标签替换
|
||||
options.Data.Set("confirm", "$");//特殊标签替换
|
||||
|
||||
@ -12,6 +12,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="JinianNet.JNTemplate" Version="2.2.5" />
|
||||
<PackageReference Include="SqlSugarCoreNoDrive" Version="5.0.7.6" />
|
||||
<PackageReference Include="SqlSugarCoreNoDrive" Version="5.0.7.8" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
||||
@ -103,6 +103,12 @@ namespace ZR.Model.System.Generate
|
||||
/// </summary>
|
||||
[SqlSugar.SugarColumn(IsIgnore = true)]
|
||||
public int[] CheckedBtn { get; set; } = new int[] { 1, 2, 3 };
|
||||
|
||||
/// <summary>
|
||||
/// 字表信息
|
||||
/// </summary>
|
||||
[SqlSugar.SugarColumn(IsIgnore = true)]
|
||||
public GenTable SubTable { get; set; }
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="EPPlus" Version="5.8.6" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
|
||||
<PackageReference Include="SqlSugarCoreNoDrive" Version="5.0.7.6" />
|
||||
<PackageReference Include="SqlSugarCoreNoDrive" Version="5.0.7.8" />
|
||||
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
<PackageReference Include="MySql.Data" Version="8.0.25" />
|
||||
<PackageReference Include="NETCore.Encrypt" Version="2.1.0" />
|
||||
<PackageReference Include="SqlSugar.IOC" Version="1.8.0" />
|
||||
<PackageReference Include="SqlSugarCoreNoDrive" Version="5.0.7.6" />
|
||||
<PackageReference Include="SqlSugarCoreNoDrive" Version="5.0.7.8" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@ -57,7 +57,11 @@ namespace ZR.Service.System
|
||||
{
|
||||
var info = GenTableRepository.GetId(tableId);
|
||||
SetTableFromOptions(info);
|
||||
|
||||
if (info != null && !info.SubTableName.IsEmpty())
|
||||
{
|
||||
info.SubTable = GenTableRepository.Queryable().Where(f => f.SubTableName == info.TableName).First();
|
||||
SetTableFromOptions(info?.SubTable);
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user