优化代码生成

This commit is contained in:
不做码农 2022-06-10 17:47:52 +08:00
parent 39b51f3979
commit 2c005807f8
7 changed files with 37 additions and 26 deletions

View File

@ -90,7 +90,6 @@ $if(replaceDto.ShowBtnAdd)
{ {
throw new CustomException("请求参数错误"); throw new CustomException("请求参数错误");
} }
//从 Dto 映射到 实体
var modal = parm.Adapt<${replaceDto.ModelTypeName}>().ToCreate(HttpContext); var modal = parm.Adapt<${replaceDto.ModelTypeName}>().ToCreate(HttpContext);
var response = _${replaceDto.ModelTypeName}Service.Add${replaceDto.ModelTypeName}(modal); var response = _${replaceDto.ModelTypeName}Service.Add${replaceDto.ModelTypeName}(modal);
@ -113,18 +112,9 @@ $if(replaceDto.ShowBtnEdit)
{ {
throw new CustomException("请求实体不能为空"); throw new CustomException("请求实体不能为空");
} }
//从 Dto 映射到 实体
var modal = parm.Adapt<${replaceDto.ModelTypeName}>().ToUpdate(HttpContext); var modal = parm.Adapt<${replaceDto.ModelTypeName}>().ToUpdate(HttpContext);
var response = _${replaceDto.ModelTypeName}Service.Update(w => w.${replaceDto.PKName} == modal.${replaceDto.PKName}, it => new ${replaceDto.ModelTypeName}() var response = _${replaceDto.ModelTypeName}Service.Update${replaceDto.ModelTypeName}(modal);
{
//Update 字段映射
$foreach(item in genTable.Columns)
$if((item.IsEdit))
$item.CsharpField = modal.$item.CsharpField,
$end
${end}
});
return ToResponse(response); return ToResponse(response);
} }

View File

@ -20,5 +20,7 @@ $if(genTable.TplCategory == "tree")
List<${replaceDto.ModelTypeName}> GetTreeList(${replaceDto.ModelTypeName}QueryDto parm); List<${replaceDto.ModelTypeName}> GetTreeList(${replaceDto.ModelTypeName}QueryDto parm);
$end $end
int Add${replaceDto.ModelTypeName}(${replaceDto.ModelTypeName} parm); int Add${replaceDto.ModelTypeName}(${replaceDto.ModelTypeName} parm);
int Update${replaceDto.ModelTypeName}(${replaceDto.ModelTypeName} parm);
} }
} }

View File

@ -38,12 +38,12 @@ $end
$if(genTable.TplCategory == "subNav" && genTable.SubTable != null) $if(genTable.TplCategory == "subNav" && genTable.SubTable != null)
[Navigate(NavigateType.Dynamic, null)] //自定义关系映射 [Navigate(NavigateType.Dynamic, null)] //自定义关系映射
public ${genTable.SubTable.ClassName} Sub { get; set; } public ${genTable.SubTable.ClassName} ${genTable.SubTable.ClassName} { get; set; }
$end $end
$if(genTable.TplCategory == "subNavMore" && genTable.SubTable != null) $if(genTable.TplCategory == "subNavMore" && genTable.SubTable != null)
[Navigate(NavigateType.Dynamic, null)] //自定义关系映射 [Navigate(NavigateType.Dynamic, null)] //自定义关系映射
public List<${genTable.SubTable.ClassName}> Sub { get; set; } public List<${genTable.SubTable.ClassName}> ${genTable.SubTable.ClassName} { get; set; }
$end $end
} }
} }

View File

@ -54,7 +54,7 @@ $end
var response = _${replaceDto.ModelTypeName}Repository var response = _${replaceDto.ModelTypeName}Repository
.Queryable() .Queryable()
$if(null != genTable.SubTableName && "" != genTable.SubTableName) $if(null != genTable.SubTableName && "" != genTable.SubTableName)
.Includes(it => it.Sub.MappingField(z => z.${genTable.SubTableFkName}, () => it.${replaceDto.PKName})) .Includes(it => it.${genTable.SubTable.ClassName}.MappingField(z => z.${genTable.SubTableFkName}, () => it.${replaceDto.PKName}))
$end $end
$if(genTable.Options.SortField != "" && genTable.Options.SortField != null) $if(genTable.Options.SortField != "" && genTable.Options.SortField != null)
.OrderBy("${genTable.Options.SortField} ${genTable.Options.SortType}") .OrderBy("${genTable.Options.SortField} ${genTable.Options.SortType}")
@ -106,6 +106,24 @@ ${foreach(item in genTable.Columns)}
$if((item.IsInsert)) $if((item.IsInsert))
it.$item.CsharpField, it.$item.CsharpField,
$end $end
${end}
});
return response;
}
/// <summary>
/// 修改${genTable.FunctionName}
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public int Update${replaceDto.ModelTypeName}(${replaceDto.ModelTypeName} parm)
{
var response = _${replaceDto.ModelTypeName}Repository.Update(w => w.${replaceDto.PKName} == parm.${replaceDto.PKName}, it => new ${replaceDto.ModelTypeName}()
{
$foreach(item in genTable.Columns)
$if((item.IsEdit))
$item.CsharpField = parm.$item.CsharpField,
$end
${end} ${end}
}); });
return response; return response;

View File

@ -200,7 +200,7 @@ $if(column.HtmlType == "inputNumber" || column.HtmlType == "customInput")
$elseif(column.HtmlType == "datetime") $elseif(column.HtmlType == "datetime")
<el-col :lg="${options.ColNum}"> <el-col :lg="${options.ColNum}">
<el-form-item label="${labelName}" prop="${columnName}"> <el-form-item label="${labelName}" prop="${columnName}">
<el-date-picker v-model="form.${columnName}" type="datetime" placeholder="选择日期时间"${column.DisabledStr}></el-date-picker> <el-date-picker v-model="form.${columnName}" type="datetime" :teleported="false" placeholder="选择日期时间"${column.DisabledStr}></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
$elseif(column.HtmlType == "imageUpload") $elseif(column.HtmlType == "imageUpload")

View File

@ -48,16 +48,17 @@ namespace ZR.CodeGenerator
string PKName = "Id"; string PKName = "Id";
string PKType = "int"; string PKType = "int";
ReplaceDto replaceDto = new(); ReplaceDto replaceDto = new()
replaceDto.ModelTypeName = dto.GenTable.ClassName;//表名对应C# 实体类名 {
replaceDto.PermissionPrefix = dto.GenTable?.Options?.PermissionPrefix; ModelTypeName = dto.GenTable.ClassName,//表名对应C# 实体类名
replaceDto.Author = dto.GenTable.FunctionAuthor; PermissionPrefix = dto.GenTable?.Options?.PermissionPrefix,
replaceDto.ShowBtnAdd = dto.GenTable.Options.CheckedBtn.Any(f => f == 1); Author = dto.GenTable.FunctionAuthor,
replaceDto.ShowBtnEdit = dto.GenTable.Options.CheckedBtn.Any(f => f == 2); ShowBtnAdd = dto.GenTable.Options.CheckedBtn.Any(f => f == 1),
replaceDto.ShowBtnDelete = dto.GenTable.Options.CheckedBtn.Any(f => f == 3); ShowBtnEdit = dto.GenTable.Options.CheckedBtn.Any(f => f == 2),
replaceDto.ShowBtnExport = dto.GenTable.Options.CheckedBtn.Any(f => f == 4); ShowBtnDelete = dto.GenTable.Options.CheckedBtn.Any(f => f == 3),
replaceDto.ShowBtnView = dto.GenTable.Options.CheckedBtn.Any(f => f == 5); ShowBtnExport = dto.GenTable.Options.CheckedBtn.Any(f => f == 4),
ShowBtnView = dto.GenTable.Options.CheckedBtn.Any(f => f == 5)
};
//循环表字段信息 //循环表字段信息
foreach (GenTableColumn dbFieldInfo in dto.GenTable.Columns.OrderBy(x => x.Sort)) foreach (GenTableColumn dbFieldInfo in dto.GenTable.Columns.OrderBy(x => x.Sort))

View File

@ -58,7 +58,7 @@ namespace ZR.Service.System
var info = GenTableRepository.GetId(tableId); var info = GenTableRepository.GetId(tableId);
if (info != null && !info.SubTableName.IsEmpty()) if (info != null && !info.SubTableName.IsEmpty())
{ {
info.SubTable = GenTableRepository.Queryable().Where(f => f.SubTableName == info.TableName).First(); info.SubTable = GenTableRepository.Queryable().Where(f => f.TableName == info.SubTableName).First();
} }
return info; return info;
} }